
敏捷软件开发采用迭代(Iteration)管理开发项目工作。一个迭代,一般持续一周或一个月。迭代是分配任务和制作可交付成果的管理单位。
迭代的长度一旦决定了,就不再更改。即,迭代的长度是固定的,不是由分配的任务大小决定的。Scrum使用Rugby中的术语,每个迭代被称作一个Sprint。
激发创造力的交流是必不可少的,但有时候,用于调整的时间无限膨胀,甚至压缩了做实际工作的时间。例如,长时间的会议和辩论。的确,各种Session会给参加者带来一定的满足感,但也容易流于为会议而会议的形式主义,或者带来“开会就是完成工作”的虚假的成就感。更坏的情况时,如果掌控不好,会造成进度迟延、品质低下、以及成本和回报的不平衡。那么,该如何解决这些问题呢?
有一种方法,对各项活动设定了时间,并要求严守结束时间。即,终了时间必须结束,即使会议的预期可交付成果还处于In progress的状态,也要结束,这个预期的可交付成果会成为下一道工序的输入。这种时间管理方法就叫做Time-box。
Time-box的Point在于并不仓促得出可交付成果。而是按时间进入下一道工序,得到客户反馈,再返回来,更好地完成可交付成果(由此可见,项目真的是一种目标导向、结果导向的东西)。
重视客户反馈的敏捷项目管理就采用了Time-box,按照定义好的时间,进入下个Step。

任务管理
实际操作时,因为需求的大小不同,而迭代的长度是固定的,所以无法完全按照优先级实施。另外,客户也不一定会主动设置需求的优先级。
开发团队要在每个迭代开始前,与客户密切交流,让客户发挥主动性选择需求。
迭代中,要把需求进一步分解为任务,并制成一览表。然后,通过管理任务的分配,每个人所做的工作都明了可见。虽然任务需要分配给Team中的某一人,但Team全体对任务负有管理责任。
不依赖于个人能力。而是通过Team一起管理剩余的任务,以判断迭代内是否能完成计划的可交付成果。两一方面,通过观察剩余的任务,可以早点发现异常。
设计流程时,一贯的指导思想是:提高作业透明度,早期发现异常,缩短迭代期间,早期得到反馈。
早期发现问题,早期做出调整,在设计流程的过程中,要时时关注这一机制.
敏捷管理小知识:交付是指在软件开发中,核实可交付成果的行为。交付是指软件可以开始提供商业服务,或可在公司内部使用,或可开始作为Package产品生产/销售。
对外包公司来说,交付一般就是合同期满的时候,通常只有一次。但是,如果采用敏捷项目管理,假设软件会随着环境变化和用户需求的变化而发生变化,将会有多次交付。
