软件开发规则制定与反馈机制解析
1. 敏捷软件开发的本质与盲点
敏捷软件开发是管理软件项目和与创意人员合作的自然方式。它设定了一些约束条件,如“与客户合作”“允许频繁变更”以及“只交付可用的成果”。之后,团队需要自行选择并实施具体规则,像“如果暴风雪使出行困难,那么我们使用Skype进行每周演示”“如果有变更请求,那么我们在源代码控制中创建一个新分支”“如果有人破坏了构建,那么他必须戴上滑稽的兔子耳朵”。
然而,敏捷软件开发并非主要围绕结对编程、测试驱动开发(TDD)或用户故事展开,敏捷宣言甚至都未提及这些内容。虽然知名实践是宝贵的知识和经验来源,但如果将它们作为固定规则强加给团队,就会限制团队成员的内在规则制定能力,使团队失去真正的敏捷性。
敏捷宣言存在一个“弱点”,即没有明确认识到所有软件项目都需要聪明、有纪律且专注的人员。“以人为本而非流程”的范式固然很好,但当团队成员能力参差不齐时,再多的指导也无法让团队神奇地自我组织并交付成功的产品,这就是敏捷的“盲点”。敏捷只有在团队优秀(或至少足够好)时才有效,而敏捷宣言并未解决人员能力的问题。
2. 借鉴荷兰交通管理的启示
荷兰拥有世界上最低的交通相关死亡率。尽管荷兰人口众多、道路密集,但他们采用了七种互补的方法来实现低伤亡率,这些原则也可供敏捷管理者借鉴以降低项目的失败率:
- 文化 :荷兰文化是道路安全的重要因素,荷兰人关心自己的汽车、金钱和他人的生命。在社会系统中,无论采用何种方法来提升能力,最终都取决于人们是否真正关心。
- 教练指导 :在荷兰,必须在教练的指导下学习驾驶。这意味着要不
软件开发规则与反馈机制解析
超级会员免费看
订阅专栏 解锁全文
2218

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



