敏捷软件开发价值观和原则重温-敏捷软件开发宣言

时间:2024-02-15 17:24:54
  • 个体和交互胜过过程和工具
  • 可以工作的软件胜过面面俱到的文档
  • 客户合作胜过合同谈判
  • 响应变化胜过遵循计划

个体和交互胜过过程和工具

软件开发是人的活动,人是软件开发中最重要的因素。如果没有优秀的成员,再好的过程也无法挽救项目。【那么,如何培养优秀的开发人员呢?】

软件开发是人的活动,而且是团队的活动,团队成员之间的有效交互对软件开发的成败至关重要。从某方面来说,过程和工具也是为了保证交互过程中信息不存在丢失或误解。【那么,如何保证交互的效率和有效性呢?】

团队的构建比环境的构建重要的多。 【那么,如何进行团队的构建呢?】

当前困境:

  1. 开发人员的能力不足够优秀:对业务了解不足,分析和设计能力不足,软件开发实践质量不够高;

解决方案:

  1. 熟悉业务:1)项目中学习并做好知识的总结;

  2. 提升分析和设计能力:1)学习软件设计和开发方法;2)项目中做好实践;【TD: 具体计划;软件开发书籍,架构设计书籍,linux驱动开发书籍】

  3. 提升软件开发质量:落实高质量软件开发实践. 【TD: 具体计划】

可以工作的软件胜过面面俱到的文档

代码不是传达系统原理和结构的理想媒介。团队需要编制易于阅读的文档,来对系统及其设计决策的依据进行描述.

敏捷价值观认为,过于庞大的文档会使文档失真,造成误导。

文档应当使短小(short)并且主题突出的(salient)。主题突出是说,仅论述系统的高层结构和设计原理。

那么如何培训新团队成员呢?我们会非常密切地和他们一起工作。我们通过近距离的培训和交互使他们成为团队的一部分。

即,实现的细节,通过近距离的交互来传递。

当前困境:

  1. 缺少文档;

  2. 文档不能有效的描述业务实质、系统原理和设计依据;

客户合作胜过合同谈判

成功的项目需要有序、频繁的客户反馈。不依赖合同或工作上的陈述,而是让客户和开发团队一起密切地工作,尽量经常提供反馈。

当前困境:

  1. 软件功能和质量不能及时满足客户的需求;

需要注意:软件设计和项目设计是息息相关的,不要简单割裂,而应同时关注,自始至终的关注。

响应变化胜过遵循计划

响应变化的能力常常决定着一共软件项目的成败。当我们构建计划时,应该确保计划是灵活的并且易于适应商务和技术方面的变化。

较好的做计划的策略是:为下两周做详细的计划,为下三个月做粗略的计划.

当前困境:

  1. 计划常常未达成;