1SPME方案架构
该方案涉及的主要对象是软件经理和各模块的软件研发负责人,SPME方案架构如图1所示。图1中,SPME方案覆盖整个项目的启动、规划、执行、监控和收尾5大过程组,并贯穿始终。(1)启动规划阶段。首先软件经理和项目规划、产品经理、整个项目的项目经理、硬件、测试等同事进行充分沟通,确定项目范围,给出项目详细信息;其次根据项目信息,由软件经理牵头组织各模块研发负责人或具体的开发工程师,进行需求评估,划分出项目阶段,进行WBS分解,确定出开发环境和代码组织、人力规划、时间点计划等,达成一致的范围和成本基准;最后由软件经理画出关键时间点的时间轴图,建立时间基线。该阶段以确定了范围、成本、进度基准,输出了文档为结束标志。(2)执行和监控阶段。各模块的研发工程师按照WBS分解进行软件研发,同时用一页纸嵌入式软件项目管理表[1]进行研发问题的状态跟踪,这样以便后续参考和作为进展汇报给软件经理。软件经理进行进度和攻关问题的跟踪,同时每周要输出周报将研发进展或一些变更情况及时通知到整个项目组。该阶段一直持续到软件版本被验收通过。(3)项目收尾阶段。各模块研发负责人进行各模块技术提炼和总结,完善一页纸嵌入式软件项目管理表并汇报给软件经理,软件经理再根据项目详细信息等1~5份过程文档记录,进行整体复盘总结。
2SPME方案模板和具体应用
笔者选用了较为通用的Excel工具,基于这个方案给出管理模板,如图2所示。整个文档是一个工作簿(book),图1中提到的各文档分别作为该book的一个个对应的工作表(sheet),图2最下方的Excel表的各工作表信息仅展开了文档“1.项目信息”这个sheet的内容,相应还有其他sheet,这样整个项目用一个Excel文档就可以非常方便地跟踪起来。(1)项目信息。项目信息需要和项目组各方确认,并要特别注意规划阶段将项目的关联性和图2SPME方案模板特殊共性需求信息讨论清楚,确定后由软件经理将各项信息记录下来,也可根据实际需要进行丰富或裁剪。项目启动后,“1.项目信息”要最先共享给整个开发团队成员,作为研发启动的标志。这样在多项目并行研发时,可以使整个团队目标清晰,并充分利用各项目间共性部分,对特殊部分单独搭建以防干扰其他项目,使软件研发事半功倍。(2)WBS分解。软件经理组织各模块研发负责人或具体的开发工程师一起评估需求,划分出项目阶段,进行WBS分解,最终结果记录在“2.WBS分解”的sheet中。这个过程是明确项目软件研发范围基准、时间基准和成本基准的过程,所以WBS分解出的工作包需和各负责人讨论达成共识,有争议的要和项目组其他人员,比如:硬件、市场、测试、规划等同事商定。确定下来后必须评估出开始结束时间,并进行编号。WBS是项目执行的主干和绩效考核的基本依据。(3)时间轴图。完成“2.WBS分解”确认好时间点和逻辑关系后,由软件经理将各重要的工作包节点,特别是模块开发完成、版本发布、送测、上市等节点按照时间顺序标注出来,形成一个直观的时间图表,记录在“3.时间轴图”sheet中。这些时间点就是整个软件研发的时间基准。在执行和监控过程中要不断地进行核实,并标注出当前进展到哪,以便向项目利益相关者进行进度汇报,并可以从宏观上明晰项目状态。(4)过程问题跟踪和周报。在项目执行监控阶段中,软件经理将WBS分解出的各工作包分配到各模块的负责人,标志着研发执行工作正式开始。在多项目并行的情况下,具体的研发工作由各模块负责人采用一页纸嵌入式软件项目管理方式[1]进行研发跟踪,软件经理则采用“4.过程问题跟踪表”,“5.周报”将精力集中在各项目的进度和攻关问题的管理上。其中,过程问题跟踪表,一是用作WBS工作包的进展跟踪;二是将研发过程中新增的重要问题和变更记录下来,安排处理并跟踪处理进展,这样可以避免耗时耗力地去翻邮件查询相关问题信息,或遗忘等效率低下的现象。执行过程中,软件经理至少每周要安排对软件版本进行构建和测试,具体的周期时间可根据实际进行调整,整个研发团队从软件版本的测试情况,对研发工作的进展进行核实,由软件经理收集各模块的研发负责人汇报的开发进展,结合各项目过程问题跟踪表记录的一些问题和状态,梳理出周报。周报侧重于目前识别出的主要风险和需要领导协调的事宜,软件研发整体进展和下周计划,其中下周计划要细分到各软件模块,使得每个团队成员都有明确的目标和任务。周报是项目报告绩效和监控风险的重要工具,需要每周固定时间以邮件或其他方式共享给整个项目团队成员和相关领导,以便使相关信息能及时传递到位,新增需求和变更的迭代开发[3]。风险问题引起高层领导的重视和推动,使得整个团队步调整齐,从而达到预定目标。(5)复盘报告。软件版本被验收后,及时进行复盘总结。主要涉及客户分析,并针对主要需求,相关过程问题和教训等项进行总结,同时将开发负责人完善的一页纸嵌入式软件项目管理表附入到“6.复盘总结”sheet中。至此整个项目过程就通过层层的文档化,汇成了一份完整的软件研发项目总结,可以通过复盘会议等形式对整个项目团队或相关的项目团队进行共享。以上给出了SPME方案模板和具体应用。模版是基于Excel的建议格式,使用者可以根据SPME方案的思想和各自的需求进行定制和扩展。这样通过一个Excel文档就可以跟踪整个项目,从而使多个并行研发的嵌入式项目,有了统一的软件研发管理模式,可以更清晰、快速、有效地进行问题跟踪和信息传递,暴露项目研发中的风险,有效地降低人力协调和沟通成本,便于归档和追溯,能更快更好地进行项目交接和对比总结。
3结语
针对一个软件团队,在多个嵌入式项目并行研发下的软件项目管理,目前业界还没有成熟的实用方案。本文基于当前存在的问题,结合PMI、敏捷开发的理念和笔者多年从事软件研发管理的经验,提炼出SPME方案,并给出了模板和具体应用,归纳和展示了该方案的优势和价值。相信通过这种管理方法,能够使软件管理者在纷扰的多项目并行研发中,梳理出头绪,如条条主线引领着各个不同的项目走向成功,同时能形成一笔笔有益的积累,使嵌入式软件和相关产品越做越好。
作者:王晓伟 单位:中兴通讯股份有限公司手机产品体系项目一部