|
该帖子同步发自:(munix的博客 访问该博客) 多项目协同管理随记
下面简述一个大项目下的多个子项目,并且各子项目涉及相互依赖协同管理,在项目过程中的随记。
背景:有一个专项,涉及共40个左右的子项,其中40个子项共同依赖两个子项,一个是产品设计(PD),一个是开发语言包与工具集(kit);项目组建之初,总计40余人。PD与Kit 分头进行,所有APPS需要实现的效果与功能都在PD中进行定义,并且最终需要使用Kit来进行开发,完成一个完整的产品,通过第三方检测最终可量产上市。
项目之初就已经预期到上市后产品无法召回,牵涉人员,地域会分布比较散,共同协同工作之间的步调一致都会非常突出;因此产品质量,信息共享与同步等应显得尤为突出。项目之初为了便于项目管理与实施,组建了项目管理团队,首先在PD与Kit两个子项展开具体的项目管理工作,随着项目进展项目团队规模不断扩大,并且广泛分布在三方四地总计牵涉人员共计300余人。
为了有效展开项目的进展,解决各子项目间相互协同等各种问题,项目组相关项目制度首先建立起来,在项目kick off时,首先明确了项目章程,在章程中主要解决了整个项目的指挥,协调与汇报体系,明确了项目的组织架构,相应的技术管理委员会,PD委员会。明确了PD,开发,项目管理,QA,QC等各个角色的职责与目标,建立起RD,PD,PM,QA,QC各部门相互平衡的机制(以避免因某一部门等级过低而无法较好的制衡其他部门的情况)。项目经理采用按子项目划属的方式进行管理,项目管理部门是整个项目进展与总体协调的驱动核心,是为完成项目目标的执行部门。
为了较好解决项目沟通协调与进展的推进,重点进行了以下几个方面的考虑与按排:
1,建立起统一通讯录(project scope and interface),并按子项明确各个角色的人员,组成victual Group,并在每个group中明确相应的技术负责人与项目经理。
2,建立起统一信息发布机制,通过建立多项目整体邮件群组,建立论坛,进行整体项目信息的通知,同步。通过建立起各子项目的邮件群组与论坛板块,进行各子项目内部信息同步的机制。
3,建立起统一配置管理机制,所有项目组文档统一,计划,设计文档等纳入配置管理库,并根据子项目的不同严格管控权限。
4,建立起SCM机制,进行严格的软件版本(Kit)以及各子项的版本发布。让所有Kit的开发者与子项的开发者统一开发环境,并对每个人的环境通过项目经理一一书面确认,减少因版本不同而引起的问题。
对于版本发布必须带上详细的FeatureList,需要细化至API级别,对于支持与不支持的特性必须描述清楚,同时需带上QC测试的已知BUG清单。
每个版本必须非常清楚的标识从应用,到Kit到依赖库,第三方库的各个软件版本号,Revision号,相互依赖的版本号等。
5,建立起并进会师的机制,由于项目之初Kit的开发仍在进行版本还未出来,而App的开发已经需要进行,根据项目需要,由Kit首先提供相应的接口集(接口定义但未全部实现)及相应的文档,供App可以展开相应的Codeing工作。App的联调根据Kit的版本计划排定相应的联调时间。
6,强化计划细节内容的处理,在各子项目排定计划时,需要充分梳理具体的依赖(depends) Kit与其他子项目的依赖项,需要细化到接口集。并在kit与其他App计划排定时,需要将depends 自己的,全部梳理到base Me中,并将依赖的前置条件进行挂接,当其他子项由于A interface依赖自己B interface时,B interface的时间确定后,A interface就初确定。
计划内容中需要将软件过程的各个阶段全部列示,如需求整理与评审,系统设计与分析,软件开发与内部集成,外部集成联调,自测,测试,发布等。
7,日常检查制度,项目经理必须每天review具体的项目进展,对项目偏差进行分析,并提出和落实具体的解决方案。并把每天发现的风险进行记录,处理;对重要里程碑进度产生Delay风险的,都必须提前预警。 每周各子项目召开全体子项目成员会议,通报项目进展以及项目中碰到的问题等,一般限定时间在30分钟内以求高效。
整体项目每周固定时间召集会议,由各项目经理以及主要部门负责人,技术骨干等参加,进行整体项目协调。
日常技术讨论等都要求小范围进行,以求高效。
8,执行力管理,项目涉及范围广人员多,并且多头并进,更加突显执行力的重要性。项目管理部门每天内部都需要汇总一天的所有进展以及相关问题,风险分析等。大项目经理必须每天跟进确认各种事项处理的实际效果(以减少因信息失实而产生的错误判断)。
9,对外部合作项目管理采用与公司子项同等要求,项目组派驻项目经理到现场,或是合作方派驻项目团队驻现场。
10,统一KPI体制,纳入多项目协同项目的任何成员统一KPI体制与评价体系。将所有人的目标都统一到这个项目上来。
11,建立起统一技术架构机制,由技术架构师团队进行技术架构的规划,定期Review整个技术架构,并由项目经理和各子项技术负责人确认技术架构在实施过程中的一致。
12,项目经理必须具有很强的原则性与挑战各种问题的能力,在项目经理预测或发现相关影响项目目标时,必须非常敏锐的发现问题,找出问题的本质,这个本质不管是由高级别管理人员引起还是关系非常好的项目成员引起,都必须提出挑战以达成项目目标,该是由谁处理的事情,不管是谁,只要在影响着项目目标,就必须督促有效的解决问题。
项目经理对各种结果都需要建立起自己的检测标准,不能尤其不能以开发人员的结果作为对目标完成度的认定。需要根据项目对自己管理的项目建立起自己理解的FeatureList,对开发结果检测的方式(比如通过实际运行操作),通过测试人员同步跟进,通过测试的结果来进一步检测与核对等方式建立起自己对结果判定的标准。
13,在处理乙方问题时,必须按自己制定的标准要求让乙方来遵守,对于乙方未遵守的,可以通过高层领导,商务等来促进解决。
14,对于项目问题与目标必须是零容忍。对于出现的问题,参照12解决。对于项目成员制定的项目计划评估以及项目过程结果,必须以零容忍的方式来对待,不能以项目经理自己容忍各种目标的偏差,松懈,量变到质变也就一步之遥。
15,处理甲方问题时,需要不亢不卑,据理力争,站在公司与项目的角度争取应有的力益与支持和配合。
随想随记,有些凌乱,待日后相对空些时,再好好整理与大家分享,大家有什么好的建议,问题也欢迎一起探讨。
|