TL;DR
- 常见项目管理工具介绍
- 项目管理最重要的内容
- 谁来撰写以及分配任务
- 如何有效地分配任务
项目管理工具
在我工作的这些年里,用过不少的项目管理系统:Jira, Microsoft Project, Tello, Redmine ...
项目管理最重要的内容是什么?
用什么工具不是最重要的,重要的是要把工具真正用起来。功能再强大的工具你没有用起来,或者太复杂使用成本太高,那也是白搭!
往往工具越复杂,使用的成本就越高,运用到项目中的机率也越低。
可以选择一个最简单的工具,而不要一上来就整一个号称“全宇宙第一”的“巨无霸”。
工具不能成为给领导汇报的形式。这样只会浪费时间,增加毫无意义的管理成本。
无论选择哪个工具,最基本的只需要包括这些:
- 计划完成日期 该任务计划在哪一天完成。
- 预期工时 细分后的任务要给出一个合理的预期工时,必须以小时为单位。
- 实际完成日期 指定的任务实际完成时的日期。
- 实际工时 该任务完成时实际所耗的工时。
- 优先级 任务都应该有一个优先级,将影响别人的任务优先级设置为更高,避免团队其他成员”Waiting for you“。
其中任务分配时的预期工时必须足够细,越细越好,一般控制在半天之内,最多不超过一天,不过这也增加了管理上的成本。这需要管理者作一个权衡。
当然如果你们的团队是自带鸡血的,总是能完美收工的话,你只需要粗略地将一周的任务安排给他们,那就爽歪歪了。
谁来分配任务
老板让你2个月开发出一个产品,研发吭哧吭哧地搞了2个月,到了第2个月的30号交给老板,老板很开心地打开系统,发现连TM登录都登录不了。
老板心情好的话,可能你会被狠K一顿;心情不好的话,你就得去人事部,结下最后的工资了,出门左转...
造成这个问题的原因有两种:
-
老板催着你必须在2个月内完成。
这个好办,你只要跟老板讲两个字:尽量。如果老板回你两个字:必须!。你有两套方案,先进入疯狂加班模式,到第2个月中,发现还有80%尚未完成,启动Plan B,好好更新下简历!
-
任务分配者对任务的时间预估偏差太大。
要想项目的分配尽可能地准确,任务分配者必须了解项目研发相关的技术,倒不是要非常熟练,至少有所了解。另外最好工作经验在6年以上。
当然如果这个任务只是用来应付老板的,找过最闲的手下去做就可以了。
每周一开会过一下本周的任务
任务一般在细分后,在周一上午,团队在一起过一下每个人本周所要完成的任务功能点,这样有如下几个好处:
- 尽快摆脱”星期一综合症“。
-
让大家了解彼此所做的事情,方便研发过程中的沟通。
-
了解一下自己本周要完成的任务,看看有哪些可能会遇到的坑,方便自己合理安排时间。
-
项目任务之间难免会有一些依赖关系。比如后台必须先写好接口,APP才能做获取服务器数据的工作,需要对任务进行优先级上的调整,避免“A等待B的现象”。
不要低估内外部沟通成本
碰上项目需要对外跟客户进行沟通,那你就惨了。
加上习惯性被忽视的内部沟通成本,产品经理、项目经理、研发经理、研发团队内部...
对了,还有那可恶的销售人员,不知是不是喝完酒后跟用户说产品啥功能都有,1个月就可以交付使用。终于知道心中一万只羊驼奔腾而过是什么感受了。
还有从来都是被遗忘的产品测试和调试时间,其实这是项目研发过程中耗在这上面的时间是很长的,甚至于超过编码时间。
加上老板有事没事来看望你两眼,对你表示关心(其实是来催一下进度,看你有没有混日子。打断你的思路,你还要表示谢谢)。
不要高估程序员的效率
在我工作的这些年里,说来忏愧,记不得哪个项目是真正意思上按时完成的!
如果你的工作计划做得很细,以小时为单位的总预期工时可能还算准,但如果你是按一天8小时算的,不好意思,这个项目一定会延期!而且会延期双倍时间。
你真认为员工真的像发动机一样,在8小时高速运转吗?基础上99.99%的公司不是(还有0.01%留给你们公司)。
正常的有效工作时间只有8的一半:3小时!
还有现在所想不到的”不可抗力因素“:员工恋爱了、失恋了、结婚了、吵架了、怀孕了、离职了...办公室突然断电了、断网了...
在老板看来,办法无非两种:(其实这两种办法都不明智)
- 加班 加班是最不明智的方法,常态的加班只能让程序员效率变低,最终的效率还不如正常下班的带来的效率高。当然项目进度很紧的话,短时间内的加班还是有必要的。
- 加人 "赶紧招一个补上"。天那!这也不是工厂,招一个新人的成本太高了,这兄弟啥时能上手啊,等上手的时候估计项目已经延期很久了。还要考虑一个老兵带新兵带来的”内耗”。