定义客户。
是另一家公司吗?另一个人?
是您公司内的另一个团队吗?
是您公司的产品冠军吗?
是你吗?
以上所有情况都是可能的,并且视情况而定是相当合理的。您不想在隧道中一目了然地了解敏捷的含义,因此说肯定的NO是不正确的。另一方面,“是”需要一些横向思考。
考虑一下敏捷一词。创造这个词的非常聪明的人无法为他们试图描述的概念选择更好的隐喻。当你说敏捷,您会想到什么?是步行者吗?反应快吗?快速适应?
现在考虑一下所有公认的敏捷实践,并问自己它们对被认为是敏捷的软件开发方法真正带来了什么。
我是个人项目的所有意图和目的的客户。当我真的想在客户角色方面做出与众不同的思维变化时,有时甚至戴上一顶真正的帽子。这使我不比工作时敏捷。就我所关心的,我的猫可以当经理。他确保我每隔一段时间休息一下,并提醒我避免过于沉迷于任何一项任务。您可能更喜欢使用奇特的“ Pomadoro技术”,但我更喜欢“ Rascal”计时器!事实是,每当我为自己编写代码时,我都会在严格的敏捷过程中工作。我不是那种像黑客一样的牛仔,他过着无休止的发展高峰,却一无所获。我喜欢设计软件,安排工作和个人生活的开发进度,并按照我为真正的客户工作时的期望完成它。当事情中断我的日程安排时,我会相应地调整项目工作并确定其优先级。我使用所有可以单独应用的标准敏捷实践和技术,然后“交付” 尽我所能向自己(或朋友或同事进行测试)编写代码。如果这不是敏捷的,我问你是什么?
所以我的答案是肯定的,您可以成为一名敏捷软件开发人员,并且可以应用一种敏捷方法论,并且不一定需要客户甚至经理。您可以自己完成一个项目,也可以戴多顶帽子。但是,取消其他角色不一定是理想的选择,因为与他人合作以实现目标非常有帮助。它们充当了您的想法的发声板,并且满足了您的需求,否则您可能会发现很难独自产生这些想法。客户和经理要满足的另一个非常重要的角色是,使您始终专注于目标,而不是无休止地添加功能和完善代码,而这超出了必要的范围。
但是,如果您以纪律严明的方式工作,请严格遵循选择的方法论,并采用敏捷实践,并且当您被旁听时,或者您改变了主意(戴着客户的帽子时)以及产品设计或方向轮到您了,如果您可以调整自己的日程安排并按照您的客户所期望的那样调整优先级,那么您就是敏捷的。