软件开发流程与角色工作产物解析
1. 软件开发流程认知困境
在软件开发领域,由于过往形成的习惯,大多数从业者更熟悉线性的开发流程。然而,向循环流程的思维转变却颇具挑战。实际上,循环流程的实践并非困难之事,很多人在当前项目中可能已经在以循环的方式工作。但即便经验丰富的项目经理和方法学家,也难以解释循环流程,尤其是其边界交互情况,例如在第一个交付周期开始时无需重新规划,以及在交付周期的最后一次迭代结束时无需进行反思研讨会。
软件开发中的活动可分为两类:一类是日常和每周重复进行,但缺乏明显“前进动力”的运营活动,如日常和每周的状态会议、代码提交、单元测试、午餐时间、围绕咖啡机或汽水机的交流等;另一类是能体现“前进进展”的活动,如设计评审、需求签字确认、进入测试或 alpha 版本发布阶段等。人们往往更关注进展活动,而忽视运营活动。
嵌套循环视图能够同时讨论进展活动和运营活动,这两类活动对团队成员的工作都至关重要,都是开发“流程”的一部分。
另外,迭代和交付这两个循环需要进一步明确。在当前领域的文献中,“迭代”的概念使用较为模糊,它既可以指严格的内部迭代,也可以指包含交付的迭代。许多人在迭代过程中往往忽略了交付环节。在 Crystal Clear 中,每个交付周期可以只有一次迭代,但必须有真实用户的中间评审;如果每个交付有多次迭代,其中部分迭代也必须包含真实用户的评审,否则可能会打造出一个高效但却开发出错误软件的团队。
2. 工作产物概述
工作产物在软件开发中既不是完全必需的,也不是完全可选的。它们是经过实践验证有价值的产物,允许进行等效替换、定制和调整。虽然关于工作产物的讨论可能较多,但这些讨论对项目结果的影响相对较小。
超级会员免费看
订阅专栏 解锁全文
944

被折叠的 条评论
为什么被折叠?



