敏捷开发项目管理规程

最近在整理敏捷开发项目的流程和管理制度,其整理的项目管理规程如下,这份规程也不完全算是敏捷专属的项目管理规程,主要是在结合我们公司实际的情况下编写出来的,因此名字都叫成互联网软件产品开发项目管理规程,大家在实际嵌入到公司的过程中可以参考下,不能照搬。

1.  目的

规范互联网软件产品开发项目管理过程,指导开展项目研发、管理等活动。

2.  适用范围

本章程的作用范围为互联网软件产品开发立项至结项管理过程。

1.对项目经理开展产品规划及设计活动以及项目管理手段和应遵循的开发流程提供了指导;

2.对项目团队的日常管理活动及内容进行了指导;

3.  角色及职责定义

项目经理:

进行产品开发过程中的业务目标、进度、成本、质量控制。

挑选项目团队并进行团队建设,激发、鼓舞和改进团队的生产效率。

识别项目干系人,定期向干系人汇报,并作为团队和外部的接口,屏蔽外界对团队的干扰。

确保项目中流程被遵循,组织、监督、培训项目各实践活动。

产品策划

确定产品的功能,拆分用户故事。

需求功能确定优先级。

接受或拒绝开发团队的工作成果。

参与产品开发过程中的有关会议。

UI

根据用户故事,负责产品的功能交互及界面设计

组织开展人机交互及用户体验,不断跟踪改进,提高产品表现力。

参与产品开发过程中的有关会议。

开发

根据用户故事,负责产品的技术架构设计及功能开发

评估、设计及维护产品相应模块,确保模块的稳定性、易用性、高效性。

参加产品开发过程中的有关会议。

测试

根据用户故事,设计产品测试标准,确保产品品质满足市场需求。

合理分配测试资源,组织产品测试并优化测试流程及测试标准,提高测试效率。

编写产品测试用例,提交测试问题,编写测试总结报告,以测试角度来确定产品版本是否发布。

4. 项目管理过程

按照互联网软件产品项目开发过程,可将整个项目管理过程分为立项过程、规划过程、执行与监控过程、结项过程。下面分别阐述在每个阶段过程中该如何进行项目管理。

 

4.1 立项过程

    互联网软件产品开发项目的立项过程,通常是指从准备项目启动会到召开会议这个阶段,在立项过程中,需要完成项目目标,需求范围的初步确认,项目团队成员,其他资源的安排。

确定项目的初步目标并达成共识

对于项目目标,需要和干系人在以下几点上达成共识:

项目的背景、目标用户、核心人员及产品定位是什么

项目的资源投入预算是多少

项目的资源投入是多少

各人员在项目中扮演的角色和对项目的作用是什么

准备启动会议文档

文档内容包括:

用户画像

产品定位

市场策略

业务目标

技术可行性

研发成本预算

路标规划

    召开项目启动会 

参加人员包括:

管理层代表

项目经理及项目团队

其他干系人代表

主要议题包括:

申明项目目标范围及对组织目标的贡献。

管理层正式任命PM,设定期望,统一思想

文档内容的宣讲。

与PM小组确定项目管理要求

项目启动会完成后,需要与PM小组成员确定项目立项机制以及公司项目管理要求。

4.2  规划阶段

在规划阶段,团队需要共同完成产品的版本规划,迭代计划

版本规划

从产品的关键特性列表中按照优先级规划产品每个版本需要完成哪些特性,在规划完成后需要在项目干系人内达成共识。具体可参考《版本规划样例》

迭代如何划分

迭代划分是指将特性列表拆分形成用户故事列表,并将其对应的主要任务划分到各个迭代中去,形成粗粒度的项目迭代计划。这个过程主要考虑以下几个因素:

有些任务间是有依赖关系,某个任务的开始或结束是以另一个任务的开始或结束为前提,在划分时必须考虑这种前后依赖关系。

在安排每个迭代的任务时,需要对各种因素进行综合考虑,如平衡每个迭代中任务的技术难度和价值差异。

除了进行初步的迭代任务划分,还需要确定项目过程中迭代任务调整的规则,如迭代任务未完成时是将剩余任务延至下一迭代还是延长迭代周期。

确定人员分工

项目经理需要根据每个人员的能力和特点,初步拟定大致分工。在进行任务分工时需考虑以下因素:

任务难度与人员能力相匹配,对于明显超出能力范围或过于简单的任务容易造成负面影响。

耦合度高的尽量分配给同一个人,避免不必要的沟通消耗。

鼓励团队内部“任务认领”,提高人员的工作积极性和主动性。

确定迭代运行模式

如一周迭代、两周迭代,每个迭代包含的工作内容等。

具体的迭代计划可参考《迭代计划样例》

制定其他辅助计划

制定沟通计划、风险计划和质量计划是必要的,沟通计划主要包含以下几个方面:沟通对象、沟通方式、沟通频率即可,如:

风险计划包括风险项、负责人、重要性、应对措施,如下:

质量计划包括:bug分布满足何种条件可以发布,有几个致命bug必须停止开发新特性等。。

   搭建基础技术架构

如果是一个全新的项目,需要重新开发系统框架,则这个工作应该在迭代0完成,否则会影响后期的工作开展。系统框架的每次改动必然会导致大量的重复工作量,从而给稳定的团队节奏带来很大的毛刺。

3.3    项目执行和监控过程

迭代N的执行

A、迭代N的需求细化

考虑每个迭代需要完成的用户故事;

用户故事需包含几个部分,工作量评估、功能性需求、非功能性需求。具体的可参考《用户故事模板及样例及拆分说明》

用户故事编写完成后需要在团队内部进行需求评审,一方面是为了向团队成员解读该需求,另一方面团队成员也可在评审时给出指导性意见。

B、测试用例评审

测试人员根据用户故事要求编写对应的测试用例,并组织项目团队进行测试用例评审。根据评审意见修改测试用例

C、开发

将用户故事的需求开发的过程。

D、开发自测

在开发过程中,每完成一个功能点,都需要及时的进行开发自测并通知产品策划人员进行验收体验。

E、验收

开发完成后,产品策划需要对开发完成的成果进行验收,验证其是否符合用户故事的要求,验证通过后方可流到测试环节,否则需与开发详细讨论其不符合性,其验收的checklist可以参考《产品验收checklist及模板》

F、测试和回归

提交测试时,必须要有正确的版本。测试人员根据测试用例进行测试,在IT平台中提交测试bug,并根据测试的角度给出产品是否发布的意见,输出《测试报告》

G、bug修改

在IT平台中获取分配给自己的bug进行修改。

H、showCase

阶段性必须有可体验版本进行showCase.需要

确定showCase时间:某个迭代开发、自测完成,准备提交测试前

会议前1-2天发出体验版给到参与人员

会议期间,由项目经理组织大家体验、反馈问题、记录问题。

项目经理根据问题情况,与开发或产品确定问题的解决时间并发出会议纪要。

I、灰度发布

迭代一定版本后,由项目经理与团队共同决定是否需要进行灰度发布。

监控方式 

每日站立会

主持人轮流担任,负责控制节奏,记录问题,以备会后跟踪。

每人讲自己昨天做了什么,有什么问题,今天的计划是什么;

其他人了解别人的工作情况,并发现指出可能存在的问题。

对于发现的问题,鼓励认领,其余由项目经理指定责任人。

时间通常控制在15分钟内。

会议期间,更新任务墙,任务墙样式如下:

周报

反馈项目计划的执行情况,强调本周工作要达成的目标

暴露出项目的问题,特别是需要领导或其他团队需要协助的问题。

周报可在IT平台中输出。

月报

反馈项目当月的执行情况,包括进度、人力及质量。

反映项目存在的问题和风险。

迭代回顾

每人讲述本次迭代做的好的地方和不好的地方

回顾上个迭代不好的地方,看看改进情况。

让每个人发言。

每次迭代回顾会议完成后,可更新燃尽图

3.4    结项阶段

项目经理指导产品策划收集总结项目的产品运营数据,同时指导团队成员从自身角色进行总结,包括测试、开发、UI等。

项目经理与项目团队成员给出项目总结报告,内容可参考《项目经验教训总结-项目团队》,《项目经验教训总结-项目经理》

召开结项会议,各成员进行结项汇报。

PM小组将过程文档和经验教训总结进行归档。

时间: 2024-11-03 01:32:37

敏捷开发项目管理规程的相关文章

杨学明老师推出全新课程--《敏捷开发&IPD和敏捷开发结合的实践》

课时:13小时(2天) 敏捷开发&IPD和敏捷开发结合的实践 讲  师:杨学明 [课程背景] 集成产品开发(IPD).集成能力成熟度模型(CMMI).敏捷开发(Agile Development)是当前国内外企业产品研发管理的最常用的3种模式.随着创新环境的快速发展,许多企业都会面临这样的问题:如何快速响应市场的变化?如何推出更有竞争力的产品?如何在竞争中脱颖而出?……是大部分研发型企业普遍面临的核心问题.另外,软件项目在产品开发中位置越来越重要,逐渐占领主导地位,这时传统的IPD流程和CMMI

敏捷开发更重要的是产品管理, 而不再只是项目管理

时代变了,在这不可预期的世界里,更该注重的是 "产品管理",而不再只是 "项目管理". "客户的行为,喜好,业务变化得太快,仅仅做好项目管理,并不能保证产品能被客户所接受, 能获得客户的青睐." 所以,敏捷开发才会有 Product Owner 来专注做产品管理; 引领团队做出対客户有价值的产品; 引领团队不仅要把事情给做对, 更重要的是使团队做对的事情. 在敏捷开发中, 项目管理已由团队的自主与协作取而代之了. 也就是说, 所谓的项目管理,敏捷

基于JIRA的Scrum敏捷开发的项目管理

Scrum开发的步骤及准备 Scrum敏捷开发的关键字就是增量.迭代,他更重视项目团队之间的现场沟通,不向传统瀑布式开发那样需要万事具备,才开始开发,Scrum在大方向和小故事点确认好了后,团队就可以开动了. Scrum的团队一般都不大,一Scrum团队人数一般在10人左右,主要角色有: product owner(产品负责人).scrum master(团队负责人).scrum team(开发/测试团队). Product owner :需求方,提出需求,能对功能流程.业务流程拍板的人. Sc

[转]项目管理---敏捷开发思想---带来相当愉快的项目开发过程

项目管理---敏捷开发思想---带来相当愉快的项目开发过程 参考http://blog.csdn.net/lishehe/article/details/22689053

敏捷开发

学习内容: 敏捷开发 Agile Development 是一种软件开发流程,开发方法,能够知道我们按照规定的环节一步步的去完成项目的开发任务,主要驱动核心是人,采用的是迭代式的开发. 是相对于瀑布开发模式的缺点改进的一种开发模式,就是把一个大项目切分成多个子项目,然后分别开发.测试. 是以用户的需求变化为核心,采用迭代和循序渐进的方式进行软件开发. 四句开发宣言: 个体和互动  胜过     流程和工具 可用的软件    胜过     详尽的文档 客户合作 胜过     合同谈判 响应变化  

Project Management: 敏捷开发纵横谈

摘要:在IT界中,“敏捷”是一个很酷的词汇,“敏捷”的相关理论可谓铺天盖地.“敏捷”一词实质没有统一定义,各家有自家的说法,本教程将让你了解“敏捷”的来龙去脉,抓住“敏捷”本质,并能在工作中实践“敏捷”. 特别声明:如需转载此文,请给出指向本网站的连接,如下:作者:张传波摘自:http://www.umlonline.cn如不能按此要求,请不要转载此文. 大纲:“敏捷”陷阱为什么会有“敏捷”这个说法?极限编程敏捷开发RUP敏捷开发的实质是什么?如何才能敏捷起来? 正文: “敏捷”陷阱 小甲想到某

瀑布式开发、迭代开发、敏捷开发、XP与SCRUM的区别

瀑布式开发.迭代开发,区别[都属于,生命周期模型]         两者都是一种开发模式,就像设计模式一样,考虑的角度不一样,个人感觉谈不到取代一说. 传统的瀑布式开发,也就是从需求到设计,从设计到编码,从编码到测试,从测试到提交大概这样的流程,要求每一个开发阶段都要做到最好.特别是前期阶段,设计的越完美,提交后的成本损失就越少.我现在从事的外包项目就是这样的流程. 迭代式开发,不要求每一个阶段的任务做的都是最完美的,而是明明知道还有很多不足的地方,却偏偏不去完善它,而是把主要功能先搭建起来为目

互联网公司的“敏捷开发”流程是怎么样的,每个职位的角色和分工是什么?

作者:暗灭 第一   为什么需要敏捷开发. 在几万年以前,软件项目的开发都是以年来计算的,这代表什么意思呢 ?需求设计了半年多,方案设计做了半年多,开发了三年多,测试了半年多,修改Bug用了半年多.总计花了很长很长的时间,然后上线后发现有很多需求已经不存在了,同时又出现了很多新的需求. 怎么办?继续改.这一改又是半年多的时间过去了.马丹用户的需求还再改,怎么办? 这是困扰软件开发项目的最大的问题,越大的项目,参与的人越多,风险越大.文档越规范,维护起来的难度就越高,导致项目中遇到的问题越来越多.

什么是敏捷开发?(扫盲)

敏捷开发的4句宣言 个体与交互 胜过 过程与工具 可以工作的软件 胜过 面面俱到的文挡 客户协作 胜过 合同谈判 响应变化 胜过 遵循计划 最近一直听人说"敏捷开发",一脸懵逼,根本不知道什么是敏捷开发,然后百度了一下,上面四句是比较普遍的总结! 什么是敏捷开发? 敏捷开发(Agile Development)是一种以人为核心.迭代.循序渐进的开发方法. 怎么理解呢?首先,我们要理解它不是一门技术,它是一种开发方法,也就是一种软件开发的流程,它会指导我们用规定的环节去一步一步完成项目的