重构视野中的“项目管理”-研发项目管理

>>重构视野中的“项目管理”-研发项目管理

重构视野中的“项目管理”-研发项目管理

引言:当今社会市场竞争激烈,软件开发企业想要占据前列需要在研发管理上下功夫,“向管理要效益”已经成为软件开发企业的共识,研发项目管理在软件企业中的普及也是大势所趋。国内做软件项目管理工具的开发商翼发云近几年发展十分迅速,越来越多的软件开发企业认识到研发项目管理的重要性,能切实有效降低成本,规范软件开发流程,提高软件产品质量。国内研发项目管理系统、敏捷开发管理工具的领导品牌翼发云敏捷项目管理系统采用可视化业务流程技术,支持瀑布模型等传统软件研发项目管理,同时也支持scrum等敏捷开发流程,是理想的敏捷开发管理工具,涵盖软件项目管理工作的整个生命周期。为提高国内软件开发企业的项目管理水平,分享一篇企业管理相关的知识文章。

来TID做重构两年多了,眼看着团队像自己一样,从无序到有序,从青涩到成熟,一步步成长起来。从最初的每次例会上轮流抱怨需求变更、需求插单,到现在井然有序的需求排期、项目邮件,这其中的蜕变,看似简单,实则十分不易。前不久支持”XXX”项目时,看到上游的小伙伴们还在混乱中摸爬滚打,故写下此文,希望对这方面有需求的同学有所帮助,也希望这方面有想法的前辈、同学指导、探讨。

开始之前,有几点需要特别声明下: scrum

  1. 这里的“项目管理”;项目管理不是专业的(所以我叫了引号),项目管理这碗水太深了,连别人都没见过我不敢在这里。这只是作为一个重建项目的一个环节,对问题和解决办法的一点看法。
  2. 我所说的解决方案主要是观念和领导方法,鬼哥和bboy90。我只是从执行层表达我的观点和知识。
  3. 每个队的情况不同,遇到的问题和适用的方法也不同。这里的团队背景是需求(包括日常优化需求和项目)是由产品经理计划和遵循的,负责产品的结果,也就是说,产品经理是需求的领导者。所有的资源来支持需求,如交互、视觉、重构,前端,背景是公共资源,不是100%个项目,但负责自己的产品线,哪里有需要,就出现了,也就是说,资源的各个环节(如重建)和产品经理对多或多对多的关系。

好了,说这么多,开始进入正题了。问题大概是这样的,支持”XXX”项目时,频频收到来自上游的变更,与其沟通后发现他们也是深受其害而不知如何应对。下面是大概的沟通内容:

重构:父,互动,已经完成?我们怎样才能继续更新呢?软件项目管理

互动:没有办法。开会前,我提到了几个问题。产品计划已经做了一些改变,交互必须重新设计。

重构:为什么不允许产品进行需求变更?这样你就可以集中处理,也方便调度,下游的影响稍微小一点。敏捷开发流程

互动:会议已经讨论了在一起,不需要改变产品,对吗?

重构:将你的其他要求有影响吗?研发项目管理

互动:是的!有一个”YYY”,应该是几天前开始的项目,我们已优化的最后几天,而项目已经推迟了4天。领导一定很惊讶。你的项目还没有完成吗?我也很无奈。

……

重构:你最近忙吗?除了我们的“XXX”项目外,我还听说其他的需求仍然得到了支持。

愿景:是的。

重构:所以你是并行工作?你必须处理它吗?

愿景:是的,没有办法,一起来了,很急,只能养活自己。

……

这样的情况比比皆是,尤其是在新人中。因为大多数同学会有一个误区,觉得自己是来干活儿的,如果活儿来了自己反馈数量太多应付不来,会让人觉得工作态度不积极,或者能力有问题。所以都会先揽下,然后,要么很幸运的,有个项目卡在了上游环节,就可以理直气壮地说那啥啥稿还没提供过来;要么自己拼死拼活加班赶;要么忽悠产品经理,评估多点时间;要么谁催得紧先做谁的,催得松的就往后延呗,反正一般也不会投诉的。据我感觉,最后一种情况最多,第一种次之。羊毛出在羊身上,大家都是人,不是神,没有三头六臂,工作多的时候也不过在一定程度内提高点效率而已,不可能同样时间内有多少就能解决多少的。大家都明白这个道理,但大家都不敢把它放到台面上来讲,就像皇帝的新装一样,于是大多数人就这么糊里糊涂地躲过了一劫又一劫。通常,陷入这种境况时,除了手忙脚乱,还会很苦恼。明明自己很辛苦,明明自己已经尽力了,明明自己的工作能力也不差,却总是心虚的,怕这个催那个问。放在前面支持的,产品也不过是道声辛苦,放在后面支持的,产品虽也表示理解,但难免有不满的情绪。这种时候,也唯有祈祷上游提供得晚一点,或者会议、插单的事情少一点。

其实,这个问题并非没法破,只是对于新人或者资历尚不是很深的底层员工来说太难了。因为他们不够自信,他们知道自己的工作质量、效率都不是一流的,他们知道自己还有很大的提升空间,如果把问题抛出来,那就意味着要被挑战。这也是为什么say”Yes”容易,say”No”难的原因。所以,这个问题历史性地落在了项目管理或者团队leader的肩上。

所幸我所在的团队leader很给力,这方面一直管理有方,而且也在持续改进。下面就大概说下我们团队的”项目管理”之术吧:

  • 首先,每个人都是一种资源,而且是一种稀缺资源,一个人每天工作1天。假设一个3人A、B和C的团队,一周的总工作量为3×5=15。
  • 假设团队有两条产品线的支持,产品线和产品线的产品线更重要,经过协商,工作量较大,对A和B的产品线按3:2的比例安排资源支持,即一周的产品线为9天,为产品的B线6天。在资源配置上,3人中有一人,如A投资于产品线A,一人(B)投资于产品线B,另一人(如C)部分支持A,B部分支持B。
  • 每个产品线的要求,优先安排自己的产品线接口,星期一早上支持统一的接口(如产品线需求优先级列表支持甲方),支持界面需要评估一次,根据协商的人的数量(如每周9天,根据优先列表),进度,如果列表需要行,行是最好的,如果没有完成,看到其他的产品线有没有剩余的资源,发现B和C有没有剩余的人,如果有的话,如果不寻求支持,无尽的需求推迟到下一周行。
  • 如果在需求支持期间有一个新的需求插入,插入需求的产品与其他产品协商确定其优先级较高。支持方只需注意谈判结果,如果我们同意插入清单,其他要求将被推迟。如果插入物被拒收,将按原计划执行。
  • 如果在支持需求期间发生了需求变化,根据变更的大小更新需求文件或重复需求,支持者将重新评估工作负载并修改调度。

如此,把原本就该产品内部协商的优先级问题抛回去了,支持方不必再为先支持谁的需求左右为难了,需求时间冲突时,也不必并行支持多个了。当然了,世上没有免费的午餐,要求别人规规矩矩地,那自己也不能乱来。这样做了之后,对自己的要求也更高了:

首先,需求的时间评估要准确。

其次,排期结果要反馈给产品,要按自己承诺的时间完成。

不想别人浑水摸鱼,自己首先就不能浑水摸鱼了。

当然了,制度是死的,人是活的,实际操作中可以适当灵活点。比如需求变更不大时,在自己可承受的范围内可以开开绿灯;比如紧急需求插单时,可以帮产品分析如何既支持插单需求,又把对原需求的影响降到最低。制度是为了让整个流程更规范、更顺畅、更高效的,但遵守制度的同时我们也要时刻记住,我们的目的是为了解决问题,为了更好地解决问题,而不是拉仇恨的。在别人需要的时候帮别人一把,不但是职业素养的体现,也为自己日后寻求别人帮助打下了基础。不过一定要把握好度,切记过犹不及。

上述方式对于日常需求来说可以了,但对于项目还远远不够。因为项目规模比较大,时间比较长,支持期间难保有其他事情插单、上游提供内容不及时、项目变更等等意外情况。诸多的意外可能造成你项目延期,或者完成后又返工,但其他人是不知道个中缘由的,别人只会看到你没按计划完成,看到你流转下游后还在修改。夸张点说,你可能在背黑锅,你可能在背黑锅你都不知道。这种情况怎么办?透明化!在我们团队,是有一套项目专用的邮件模板的:

开发计划模板主要内容,用于项目启动时:

一个重构眼中的“项目管理”

项目变更模板主要内容,用于项目内容有较大变更或者有其他需求插单时:

一个重构眼中的“项目管理”

项目待确认模板主要内容,用于本环节完成时:

一个重构眼中的“项目管理”

通过几个阶段的邮件,使自己的计划、输出清清楚楚,不但有利于自己的时间管理,保护自己免于各种误会,还可以使产品和上下游清晰地知道你的进程以及对他们的影响,减少沟通成本。而由于这些邮件都有现成的模板,你只需填内容进去即可,并不需要花多少时间在邮件的编辑上。

Ok,回到最初的问题,如果上下游都这样管理自己的项目,自然就没有问题了。在上下游都有序管理自己的项目的前提下,如果进行过程中,项目变更了,该当如何呢?结合当时大家的讨论结果和自己的想法,简单总结一下:

变更内容由产品经理通过需求管理系统或邮件发出,尽可能集中。根据变更内容对现有开发的影响程度和变更量的不同采取不同的措施。

一个重构眼中的“项目管理”

以上,请派专。通常来说,明事理的产品经理都是支持资源方这样管理自己的项目的,因为这样也更利于他们对项目进度和项目风险的把控。总之,一切只为合作更愉快,一切只为工作更顺畅,一切只为项目更高效!

以上,欢迎拍砖~

2014.6.19

文章从互联网整理而来,旨在传播scrum、软件项目管理、研发项目管理、敏捷开发管理工具的知识与应用,帮助软件开发企业真正了解研发项目管理的价值和意义,如果本文侵犯了您的权益或者您需要具体了解更多国内做研发项目管理系统的公司翼发云敏捷项目管理系统的相关信息,欢迎和我们联络:

【网址】www.effapp.com

2018-02-19T02:34:52+08:002018-02-19 02:34:52|Categories: scrum项目管理|