- 一、敏捷项目的交付
- 1. 多次交付
对外包公司来说,交付一般就是合同期满的时候,通常只有一次。但是,如果采用敏捷项目管理,假设软件会随着环境变化和用户需求的变化而发生变化,将会有多次交付。
-
- 2.每个迭代做交付
反过来说,正因为敏捷软件开发需要频繁地获取客户反馈,所以要求迭代的时间不能太长。有时候,一个星期就是一个迭代,这时,我们需要每周交付一次。
普通的开发人员会认为这是不可能的。因为,交付一般伴随着繁杂的手续,例如,压力测试,审计团队的检查,文档的整备等。一般认为不满足公司内部的流程,或者不完全满足合同上的要求,就没有达到可以交付的品质。
敏捷项目管理中,每个迭代的交付,会让人想到交付所花费的时间和人力,因此感觉有点不实用。其实,这只是表达的问题。敏捷项目管理中“每个迭代的交付”是指使软件达到“可交付的状态”(而不是真正就一次性交付了)。
-
- 3.每个迭代做的简易交付
-
- 4.简易交付的要求
例如:单元测试在简易交付中必须满足(如果你使用测试驱动开发,必然会有自动化测试)。
那么,结合测试,和性能测试之类怎么办呢?每个项目的性质不同,团队的自动化工具的使用情况也不同,有必要对每个项目具体问题具体分析具体判断:需要把结合测试和性能测试放到简易交付中吗?
另外,简易交付的交付条件和迭代的长度也息息相关。
在设计流程时,需要重点讨论简易交付的交付条件。
-
- 5.敏捷软件的文档,文档最少化
那么,敏捷软件开发中,真的不需要文档吗?如果我们正确实践各种Practice,和利益相关者(包括客户)沟通顺利,那么最大可能减少文档也没什么关系。
但是,项目结束时,和利益相关者在默契基础上进行沟通的环境也没有了。为了和其他项目或者运营团队Transfer,有必要把信息书面化。除此之外,为了遵守现有的开发流程和公司内部规定,有时候并不特别在意文档自身到底有没有用,也必须把文档准备好。(用PMBOK里的说法:更新组织过程资产)
-
-
-
- 在正式交付的迭代准备文档
-
-
-
-
-
- 正式交付的迭代要做的工作
-
-
-
-
- 敏捷项目管理的交付计划和流程设计
- 简易交付的条件要尽可能与正式交付相近
- 敏捷项目管理的交付计划和流程设计
-
如果每次简易交付都去满足正式交付所要求的严苛的交付条件,那简易交付的成本会增加,时间会延长,每个迭代中简易交付的工时比例会增加。如此这般,迭代的时间会变长,反馈的次数就会相对减少了。
如果简易交付只需满足较少的交付条件,我们就可以设计比较短的迭代。例如,在简易交付中,只包含单体、结合的自动化测试,不包含验收测试。这样只需较短时间的准备即可完成交付。既可确保充分的作业时间,也可减少因测试带来的各种修正工作。因此,简易交付可以频繁地进行。
但这种情况下,一些问题只有到验收测试阶段才能发现。带着隐藏的问题,做关于下个迭代的决策,风险很高。最终的交付可能瀑布化。
敏捷项目管理建议简易交付的交付条件应尽可能贴近正式交付。提高开发工作的透明度,给顾客提供充足的信息,提高获取客户反馈活动的质和量。
-
-
-
- 根据开发团队的技能、体制的完善程度以及顾客的体制做调整
-
-
敏捷管理小知识:
