【敏捷开发】关于敏捷开发的几点思考,推荐一些高效书籍
- 一、背景
- 二、敏捷宣言
- 三、极限编程
- 四、如何进行敏捷?
- 4.1 改变软件研制方式
- 4.2 组件高效团队
- 4.3 改善研制流程
- 4.4 持续集成与交付
- 五、Scrum过程
- 六、书籍推荐
一、背景
软件开发的未来一定是多变的,客户需求在变化、团队成员在变化,技术在变化、构建过程在变化。可以说是一场“大变局”。因此要形成“支持变化”的思想。
二、敏捷宣言
为应对客户多变的需求,必须依靠一个软件开发生命周期模型来应对软件工程,敏捷开发模型被多数软件开发项目人员振臂高呼,其效果也得到检验,切实可行。
敏捷开发就是螺旋开发模型的进一步延伸。
在敏捷宣言中十分强调,与客户合作积极地响应变化。在过程中思变、应变、改变。是为了解决传统软件工程中认识和实践的弱点形成。
2001
年提出的敏捷宣言,至今已过24年。在软件开发领域形成了不少优秀实践。
- XP:极限编程
- ASD:自适应软件开发
- Scrum
- AM:敏捷建模
- AUP:敏捷统一过程
三、极限编程
极限编程过程如下图所示。其开发范型为OO,面向对象。
四个阶段:
- 策划
- 设计
有效机制: CRC卡即类、责任、协作者卡 - 编码
先不编码,先开发测试故事。这是关键。
结对编程。 - 测试
回归测试、系统集成测试、验收测试
四、如何进行敏捷?
4.1 改变软件研制方式
软件研制方式由单体化向模块化、组件化、服务化转变。将已有业务驱动的软件形成研制知识库和组件库,为未来项目提供支撑,丰富软件研制形态。
4.2 组件高效团队
软件项目管理上组建自组织、跨功能团队。团队负责产品研制的整个生命周期,提高软件研发的全面性,确保应用软件研发团队能够快速响应响应需求变更和市场变化。
增强成员单兵作战能力,提高团队成员凝聚力。
注重个人技能和合作技能的有机融合。
4.3 改善研制流程
软件研制流程由瀑布式向敏捷式转变。采用在全局中连续、在局部中迭代的思想实现了快速响应变化、提高生产效率和降低风险。在敏捷式研制流程中,软件建模、加工和构建等环节都在不断迭代、持续优化。
4.4 持续集成与交付
引入人工智能与机器学习技术,通过自动化构建、部署、测试等环节,打造一站式、一体化的交付流程,提高软件交付过程的智能化水平,降低软件发布过程中的风险,提高软件交付的质量和速度。
五、Scrum过程
软件过程模式:待定项、冲刺、Scrum例会、演示。
Scrum例会尤为重要,15分钟的例会回答3个问题。
- 上次例会做了什么?
- 遇到的困难
- 下次的计划
团队领导主持会议,评价成员表现。
六、书籍推荐
1,《数据密集型系统设计》
2,《人月神话》
3,《软件工程》
4,《软件工程概论》第3版