敏捷软件开发与复杂系统理论解析
1. 敏捷软件开发基础
敏捷软件开发强调频繁发布产品,这不仅能获取外界反馈并融入开发过程,还能在需求出现时尽快为用户提供新功能和更新,以优化业务价值。
1.1 敏捷流程
尽管敏捷倡导以人为本而非以流程为本,但这并不意味着流程不重要。在敏捷环境中,一些关键流程包括:
- 最小化规划(或“滚动式规划”)
- 每日面对面沟通(常以站立会议形式进行)
- 通过评估可用软件(客户接受的功能)来衡量进度
此外,敏捷开发者也认识到持续改进的必要性,通过定期反思或回顾,不断评估和调整流程。
1.2 冲突与竞争
冲突可被视为敏捷软件开发的第八个维度。内部冲突是复杂系统的自然特征,也是创新的前提。在敏捷世界中,存在着健康的竞争,如Scrum与极限编程、Scrum与看板之间的竞争,甚至还有不同版本Scrum之间的竞争。
除了各种敏捷方法,还有其他一些强大的竞争对手:
|竞争对手|简介|与敏捷的关系|
| ---- | ---- | ---- |
|精益软件开发|将精益制造概念应用于软件开发领域,基于丰田生产方式和戴明的管理原则。|与敏捷有显著重叠,常与敏捷站在同一阵营,从管理角度为敏捷做出贡献。|
|软件工艺运动|受《软件工艺宣言》指导,挑战并扩展了原始的敏捷宣言,认为开发者是工匠。|是敏捷和精益的灵活新伙伴,有自己的活动、书籍和论坛。|
|能力成熟度模型集成(CMMI)|由软件工程研究所开发和维护,描述了五个成熟度级别和22个过程领域。|一些敏捷开发者认为它与敏捷兼容,因为敏捷方法可补充其过程改进的实施
超级会员免费看
订阅专栏 解锁全文
5万+

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



