在传统的软件开发过程中,工作的分解结构是层次性的分解。整个项目被分解为不同的工作,这些工作被分解为活动和任务,而后这些工作条目会进行进一步的详细分解。整个项目的工作分解是自顶向下进行的,越往下越详细,这个层次结构中最低的那层任务被拿来做估算和任务指派。 Scrum敏捷软件项目将系统特征与功能以用户故事(User Story)的形式归档在索引卡片上作为产品订单(Product Backlog),所有的卡片都按照优先级进行排列。Scrum团队所有工作的焦点就是用户故事卡片,开发团队从高优先级开始执行。价值高的功能得到优先开发。 不同于传统项目自顶向下的工作分解结构,Scrum团队的工作分解结构只针对每个跌倒要完成的工作,这些工作的就是高优先级的用户故事,用户故事被分解为小时级的任务。在实践上,Scrum团队的工作分解结构比传统项目的工作分解结构更简单有效,而且由于每个迭代开发的都是商业价值最高的功能,系统风险更小。 另外,不同于传统项目管理的任务指派和分配模式,Scrum敏捷项目管理模式下,团队成员的任务不是管理者强加与身,而是根据自己的愿望和能力对任务进行合理评估,并主动进行领取。这种自我组织的团队更容易让团队成员体现自我价值,对团队产生认同感,促发团队成员的开发热情,使团队的氛围更加和谐,组织更加开放,从而提高开发效率。 |