3. 要不断交付可用的软件,周期从几周到几个月不等,且越短越好。
检验适应是敏捷问题解决方式的核心方式,不断以客户可检验的方式交付可用的软件。
4. 项目过程中,业务人员与开发人员必须在一起工作。
业务人员作为软件开发的问题提出者,需要与软件开发团队(问题解决者)密切配合,促进问题解决。
5. 要善于激励项目人员,给他们以所需要的环境和支持,并相信他们能够完成任务。
问题解决取决于人的投入程度与状态,激励项目人员,为他们创造环境和条件,能够有助于问题的解决。
6. 无论是团队内还是团队间,最有效的沟通方法是面对面的交谈。
敏捷问题解决方式推荐进行面对面的沟通与交流,这是人与人合作解决问题的最好沟通方式。
7. 可用的软件是衡量进度的主要指标。
只以单位问题的解决结果也就是完成作为进度衡量的指标。
8. 敏捷过程提倡可持续的开发。项目方、开发人员和用户应该能够保持恒久稳定的进展速度。
在敏捷问题解决方式中,良好设计的迭代与稳定的迭代进度是最有效的和最可预测的问题解决方式。
9. 对技术的精益求精以及对设计的不断完善将提升敏捷性。
不断追求更高效的解决问题,技术与设计是解决软件问题的重要手段。
10. 要做到简洁,即尽最大可能减少不必要的工作。这是一门艺术。
问题的解决不取决于解决方案的复杂性,而是源自于对问题提出者和问题本身的深刻理解。当然,问题解决方式本身
也是重要的。
11. 最佳的架构、需求和设计出自于自组织的团队。
问题提出者与问题解决者所组成的团队是解决问题的最佳组合,发挥团队的力量解决问题远胜于不明情况的指手划
脚。
12. 团队要定期反省如何能够做到更有效,并相应地调整团队的行为。
检验适应是敏捷问题解决方式的核心。
2 - 敏捷软件开发概述
如同前文所述,可以把敏捷看做一种问题解决方式。下面我们就从敏捷问题解决方式的角度解读敏捷软件开发。
敏捷软件开发
软件开发是问题本身和问题解决能力不确定的一种典型情况。软件项目起源于人的构想,随着时间不断变化。项目团
队对项目的认识随时间不断加深,成员能力不断提升,工作方式和过程改变导致团队开发能力不断变化。
敏捷软件开发分为3个层次。
产品层
1. 问题与问题参与者