分享

软件项目管理具体方法体系示例

 幽游it 2020-03-24

示例结构:  http://114.67.82.250/display/Ts/Team_Space


项目管理方法-总结

概要

项目经理的工作包括这些方面:

需求、团队日常、任务、文档。

需求各阶段管理

团队管理

团队规范

代码、开发

任务管理

文档管理

文档-总结资料

   需求分析

   大需求计划、工作量跟踪表

   开发

   版本、分支、子项目管理

   需求任务

   开发方案、功能点

   线上发布记录

   开发

   人员请假、加班记录

   需求

   公共类、分层管理

   临时任务

   数据字典

   线上发布环境

测试环境信息

   测试

   绩效记录

   测试

   部署资料准备

   问题处理

   需求沟通记录

  测试环境资源账号管理(受限)

   上线

   技术分享、学习

   发布

   代码走查,规范完善

   周期任务

   提供的接口及汇总

线上资源账号管理(受限)

   验收

   日常记要、临时任务

   任务

   提交测试要求

   日常任务

   依赖的接口及汇总

  需求跟踪表

   运维


   文档

   系统组成、应用列表

   需求阶段时间点及汇总

   用户手册

 风险跟踪

投入产出分析、结项


   功能风格

   数据库版本



  功能日常维护人员表



   其它

   发布包版本



 常见问题排查经验







   验收测试清单







   线上服务配置信息汇总

需求管理:完成“需求”是核心目标,流程化、风险可控化是手段。

团队规范:项目经理需要整理出“团队规范”、书面化标准,以明确要求,避免反复口头传达要求。

任务管理:任务可跟进,是达成“需求”、项目正常运转的保障。

文档管理:需要引导明确要求,组织好文件存放的层级结构,以可持续的更新。 是项目长治久安的保障。

需求各阶段管理

需求沟通


评估需求是否达到可以分析的详细程度,是否外部达到启动条件,如果不能达到,可以拒绝花费时间分析。

细节工作可以下发,但项目经理要对需求内容整体都了解

将需求汇总到项目组的“需求跟踪表”中。

建立该需求的临时资料svn目录,如:“4.55精品商务经济座积分”,保存需求文档及后续文档。

立项

完成《开发方案》、wbs、流程图、样式设计(RP软件),示例: 

XX方案设计v1.docx

XX开发wbs-1.mpp

业务流程图-开发流程图-供参考.vsdx

1.rp

后续重要沟通结论、识别的新问题,及时补充到《开发方案》或专有主题的文档。

避免单个开发人员总揽方案,而没有多人评审环节,这样容易出现功能设计风险问题。

《开发方案》中包含功能设计、风险点、待沟通问题、对接项目组及负责人及时间点、性能、可用性等的考虑。

将风险点加入项目组的“风险跟踪”中。

将开发、测试、上线时间点、对接时间点、uat测试时间等加入“需求里程碑跟踪”表。要求产品经理也要关注与其相关的时间点。

开发

开发人员对《开发方案》中不够详细的详细处理流程,使用易交流的方式补全。

完成srs,完成输入输出等详细约束、定义

代码分支开发,sql脚本、部署说明文档,按代码分支保存。

将分支名加入“代码分支跟踪表”

测试

测试人员梳理测试点,以达到理解一致。需要考虑上线后的验证方法、过程。有需要功能开发帮助测试验证的内容,提前提出。

使用工具记录、处理bug

预验收、培训

上线前需要及时组织产品经理、业务人员,对功能做uat测试,培训(立项时预约时间点)。可有效减少体验问题。

发布

准备上线发布步骤、清单等信息,准备线上验证点、步骤、时间点计划。

安排一人整体协调发布过程。

涉及外部联调,提前准备接口地址、账号等信息。

线上跟踪

上线后,一周内需要关注相关功能的错误日志、服务日志。有问题优先解决。

更新“代码分支跟踪表”

更新“线上服务配置信息汇总”,包括配置参数、日志关键字等。

将《开发方案》的功能点细则,合并到“业务规则”文档

更新“功能日常维护人员表

更新“依赖的接口及汇总依赖的接口及汇总”,包括接口、数据的外部项目组负责人、接口地址等信息。

新上线的项目,要更新“线上发布记录

日常运维

项目上线后,可考虑加入系统的监控系统,如“数据量变化监控功能”

响应业务部门对功能的咨询

响应其它项目组对接口、业务的咨询

处理线上问题、bug

尽量及时处理旧问题,避免合并到新问题一起处理。

业务咨询的问题,及时补充到“业务规则”或“用户手册(单独空间)”。

其它注意点

某需求分拆多次上线的,要跟踪多次对应的时间点。

一个需求中,既有新功能,又有对原功能的修改时,要考虑修改原功能产生的风险大小,如果大的话,分拆上线是否可以减小风险。

修改多个原有功能时,也要考虑产生的风险大小,是否可以分拆上线,减少风险。因为分拆后,可以及时验证、关注该功能点的影响。

需求分期模板

版本

工时

分类1

功能11

版本1

 10

功能12

版本2

 60

分类2

功能21

版本1

 30

 版本1

 版本2

工时

功能分类1

功能11

 10

 功能12

 60

功能分类2

功能21

 30

总工时

40

60

 投入产出分析、结项

项目的目的是产出效益。在可能的情况下,接收需求前分析投入产出,是否值得做。

在新项目上线初步稳定后,结项、评估实际投入产出效益。之后转为维护与优化项目。

大的版本变更需求,作为独立项目开启,评估投入产出效益。之后重新变为“维护与优化项目”。

团队管理

目标:团队高效高质完成任务,提升团队成员能力。

“需求跟踪表”

需求跟踪表

工作量跟踪表

   基于任务的分配记录,汇总每个成员未来几个月所负责的任务。

工作量跟踪表

日常记要、临时任务

临时任务跟踪

临时任务、日常记录-20年

人员请假、加班记录

请假、加班记录

临时绩效记录

临时绩效记录

技术分享、学习

技术分享(单独空间,多项目组共享,按标签导航)

技术分享记录

环境账号管理

测试环境的服务器、数据库账号等,可考虑不同人不同账号权限、不对部分人公开账号。

测试环境资源账号管理(受限)

线上资源账号管理(受限)

团队动员、鼓舞、团建,等团队协作提高

寻找适当自己的方式,提高团队协作。

晨会、周会等沟通方式

使用晨会、周会、每天任务检查等方式,保持有效沟通和跟踪。

团队规范

项目经理需要整理出“团队规范”、书面化标准,以明确要求,避免反复口头传达要求。

详见目录:项目组规范

代码管理

“代码分支跟踪表”

分支管理,避免分支、需求 被遗漏发布,所以需要分支命名规范、分支信息做记录。

分支命名:f_需求编号(4.58)_功能名

代码分支管理

数据库架构版本管理

数据库架构的版本变更,可以导出生成数据库的脚本,在git中跟踪变更。

测试数据库定时备份

测试、开发数据库,还可以考虑定时备份,避免人为误删除。

git子项目管理

不同子项目互相引用时,为了单个项目的代码量可控,宜对git项目进行拆分到相对独立的模块大小。

git子项目管理SubModule

公共类、分层管理

多人合作开发,不可避免各有各的风格、沟通不及时。公共类、项目代码分层,需要指定一两个资深开发人员负责,其他人需要与他们沟通后,按要求放置。

负责人要把“公共类、分层管理”的逻辑形成文档。

项目拆分、公共类管理信息

代码规范,代码走查,规范完善

基础的代码规范要求

日常代码走查的制度,检查结果记录文档。

将走查到的突出问题,整理到规范要求并提供示例。

代码走查-范例收集

提交测试要求

提交测试前,要求开发自测、单元测试(视项目组制度)、代码走查,方可提交测试。

系统组成、应用列表

00系统组成

发布包版本

单应用的发布包(测试环境),也可以放单个git项目中,以方便提取发布包到线上。

任务管理

任务分类

包括:

需求任务拆分

临时任务、问题处理

总结、周期任务、日常任务

任务管理原则

任务责任制,被指派任务人,承担完成任务的主要责任。需要寻求他人支持时要讲明背景、详细信息、需要的支持内容,带着可选方案提出问题。

任务分配,要有记录可查,任务要求提前在项目组规范中说明。避免大家对任务的范围、质量要求理解不一致。

每天需要及时在redmine中登记工时在相应任务下。如同时做多个任务,可分别登记工时(注释中写工作内容)。同时更新完成百分比、状态。

需要拆分任务到一个个可以标记是否完成的“交付物任务包”,而不是都标记完成百分比,却没有一个可以完结的任务。

例如:拆分一个功能的任务为:开发完成(可提测)、文档、bug修复、部署

项目信息中,可查看所有工时登记

项目经理,可以视情况将任务细分到大小不同的粒度。成员可以对任务继续做细分,但不能新添同级任务。识别出新的任务时,应由项目经理创建同级任务。

项目经理每天关注“进行中的大任务的进度”、每个成员的工时填写情况。

 团队协作:
项目团队作为一个整体,必须团结一致、同心协力,为实现项目目标而共同努力。在项目中,项目的成功是团队成功的基础,团队的成功又是个人成功的前提。因此每一位项目成员都必须以项目目标为重,以团队业绩为重,并为之付出努力。
当某些项目成员遇到困难时,应该充分发挥团队的力量,发扬互帮互助的精神共同解决问题。在项目团队中,每一位项目成员都有义务在力所能及的方位内,为其他项目成员提供帮助。

任务安排与服从:
在项目建设过程中,项目成员可以对项目经理的任务安排提出异议,但项目经理仍有最终决定权。对于项目经理最终决定的任务安排,项目成员应无条件地服从。

记录方式 

redmine

wiki

方便记录、关联详情

方便层级管理

方便跟踪工时

操作简单


redmine需求关联体系方案

IT现有redmine体系 没有很好讲解设计原则,项目组可操作性差。

redmine项目,应以部门、项目组为管理主体,方便他们集中管理。

业务需求、IT产品需求、项目组版本任务,彼此关联。

年度计划,需要提前录入“IT需求”项目做跟踪管理 。

redmine项目组任务管理

项目组任务包括:需求工时、临时任务(线上bug、问题分析、待处理bug或优化、支持外部工时)、日常任务(日常任务、周期任务)。

某类临时任务,能提前识别并指派的,就归为日常任务。
如果使用redmine替代qc记录bug,则一个redmine项目记新需求工时、临时任务,另一个记bug跟踪。

使用跟踪任务”列(或“跟踪”=“任务跟踪”,推荐前一种方式),识别每个人在处理哪些任务。每个人同时在处理的任务数应在3~5个以内。跟踪任务”另可加自定义属性“质量打分”(1~5分,用于绩效计算=计划工时*“质量打分”)

redmine任务管理有一个问题:添加子任务时,会把父任务的计划日期、计划工时覆盖掉,所以需要3个新属性来记录(当子任务尚未全创建完时)。

或配置不随子任务变化。

需求的里程碑,也可以创建一条redmine任务(跟踪”=“里程碑”),跟踪时间点。 相比不如在wiki里直观。

开发阶段bug修复的任务如何编排

方式一(推荐):排在“测试”期间,按人建bug修复任务。发布也是一样,按人建任务。

方式二:开发任务工时包含bug修复工时,但计划完成时间仅指编码实现。

confluence任务跟踪方式

效果:  

 使用方法: 创建任务跟踪

文档管理

推荐方式:

wiki为主,svn为辅的方式管理文档。

svn里按需求分文件夹,命名类似如下:

上线时,将svn目录中的文档拆分、合并到wiki中(开发方案、数据字典、线上服务信息、配置账号等)。

开发方案 分为两个:一个概要(功能点与规则,上线后合并到 业务规则)、另一个是详细设计(补充细节规则、实现逻辑,上线后合并到开发方案

测试整理的文档,存在 测试文档

备选方案:某功能的”开发方案“,做为该功能的“业务规则”的子节点。

关于“业务规则”的书写,建议项目经理先做几次示范,以后的再分配给成员做,并自己检查修正后使用。

任务

文档

补充文档

代码

测试、bug

部署

redmine

wiki

wiki

svn文档

git

qc或redmine








各类工具的比较

使用svn的话,操作繁琐,不方便频繁变更、高效交流。不建议组织一个很大的文件,在svn里频率更新。

使用wiki的话,部分文档类型不够强大,还是需要线下再处理一些文档(excel、word、project、思维导图、流程图等)。

功能

优点

缺点

文档管理

confluence

方便分享、协作

文档管理

word、excel

文件管理

git

分布式版本管理

文件管理

svn

适合修改频率低文档管理


文件管理

网盘

文件管理

共享目录

快捷、临时用途

访问限制不好控制

任务管理

jira

适合敏捷

任务管理

redmine

操作略复杂

任务管理

禅道


任务管理 

 confluence

 无法层级管理、工时登记

 任务管理

 project、excel

 适合临时计划

 不利于长期汇总

wiki中文档结构

部门级技术分享管理

示例:0使用说明

1.在”技术分享“下创建文档

2.为技术文档添加技术名词标签

3.在”技术分享“页面,可以按标签搜索文档

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多