做项目管理一般会接触敏捷开发。敏捷开发使用按周期进行迭代的方式,应对快速变化需求,循序渐进实现产品功能。

敏捷开发的原则是主张简单、拥抱变化、可持续性、递增的变化、高质量的工作。

 

 

敏捷开发把产品开发引向了快速迭代、小步快跑的路线上。

每一次迭代都可以看作是一个项目计划的里程碑。迭代是指把一个复杂且开发周期很长的开发任务,分解为很多小周期可完成的任务,这样的一个周期就是一次迭代的过程;同时每一次迭代都可以生产或开发出一个可以交付的软件产品。

 

敏捷开发的方法有:ASD、AUP、DSDM、XP、FDD、Kanban、RAD、Scrum等,其中Scrum是最常用的方式。

Scrum是一种增量的、迭代的软件开发过程,通常用于敏捷软件开发。它可以量化工作量,并且可以把每个任务量化成具体时间,帮助项目负责人把控项目进度,提高团队协同的工作效率。

 

在敏捷开发过程中,我们可以根据用户反馈、需求优先级来发布新版本,不断进行迭代,让产品逐渐完善。

敏捷开发过程中常用的工具有腾讯TAPD、Worktile、Scrum Works Pro等。

 

我之前做项目管理和团队协作的软件就是ScrumWorks Pro,它能够帮助团队跟踪每次迭代与整个版本发布的过程。

ScrumWorks Pro提供了桌面客户端和Web客户端。其中桌面客户端具有全部特性,而Web客户端则提供了Spring的一个视图,用于更新任务状态和任务估算。

 

  

1) 创建Vision

做敏捷开发首先必须有产品愿景Vision,就是我们所做的产品规划路线图或项目愿景。

这个需要所有团队成员,包括产品负责人一起确定,然后大家朝着这个目标进行迭代。

 

2) 维护Backlog

确定Vision 出现后,产品负责人会维护Scrum 中的待办项Backlog。即从各个方面收集的需求,并将Backlog 按照优先级排序。

每个 Backlog 的优先级是可以调整的,需求是可以增减的,因此Product Backlog 将根据不断的需求增长来持续驱动迭代。

  

 

Backlog里面放的是需要实现的所有功能性的和非功能性的任务。因此我们可以借助“故事墙”将Product Backlog放进去。

让所有团队成员清楚地看到所有功能,被细化在每一次的Spring Backlog中消灭。

 

在这个过程中,产品经理要做的就是创建和维护好产品需求池,定义好优先级,并通过用户故事来展示。

 

3) 拆分Sprint

随后把Backlog拆分成一个个的Sprint,然后将 Backlog 里面的项目添加到Sprint 中去,成为Sprint Backlog。

Sprint就是一个开发周期,每个开发周期从Product Backlog中选取合适的任务,首先对任务进行拆分,并通过一个相对点数进行时间预估。

  

 

4) 发布Sprint Plan

每一个Sprint 开始的时候,需要发布一个Sprint Plan。Sprint Plan就是让团队成员根据Backlog 中优先级最高的这个Item ,挑出Product Owner对Backlog 进行需求澄清。

紧接着的是,项目负责人将Backlog 拆分成单个的Task,然后组员自主选择自己的任务进行完成。当一项任务完成之后,再选择下一项完成。

 

5) Daily Scrum

在敏捷开发的迭代过程中,我一般会组织项目组的成员召开业务梳理会议、项目计划会议、每日站立会、验收评审会议、项目回顾会议等。 

 

 

  • 业务梳理会议:主要根据产品Backlog拟定业务规则,并规划版本迭代的产品路线图Roadmap。

  • 项目计划会议:主要安排产品负责人来澄清需求,并由开发团队进行项目人力和时间的估算。

  • 每日站立会主:主要组织团队每天进行沟通的内部短会,汇报昨天做了什么,今天要做什么,以及迭代过程中遇到的问题。

  • 验收评审会议:主要组织产品人员对灰度发布的产品进行验收,验收通过后再给业务方演示,并接受反馈或评价。

  • 项目回顾会议:主要进行上线后的项目复盘,对当前迭代阶段的情况,进行自我纠错和总结经验,再讨论下一阶段的迭代计划。

 

为了让项目组成员都了解到本次迭代中,所有任务的当前状态,我一般会在每日站立会中,通过任务看板进行追踪。

任务看板图就是将分配的任务按状态区分,并将其可视化。 

 

 

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。