You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

62 lines
7.1 KiB
Markdown

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# 20 | 项目管理中的三个技巧
我在“管理者不用亲力亲为:关键是什么”一文中,介绍了授权和任务分配的重要性。那篇文章的重点有两点:第一我们要有效地把任务分配出去,第二我们要保证分配出去的任务能够被圆满完成。
作为管理者,我们平时在项目管理的过程中,更侧重的是要保证团队成员能够按照你的期望值完成任务。今天的这篇文章里,我会进一步展开讲一些项目管理的技巧。这些技巧一部分来自我个人的思考和实践,另一部分得益于我的老板的悉心指导和启发,真实可行并且有效,希望对你的日常管理工作也有帮助。
## 第一个技巧,我们在做项目计划的时候,要对多个项目进行细分重组
怎么理解呢?我们从做这件事的目的说起。在给组里多个人分配项目的时候,我们往往需要考虑的因素包括以下的内容。
1. 先评估能力,再分配任务,每个人的能力要和任务的难度匹配。
2. 每个人任务完成所需时间要尽量平等,也就是要达到一种负载平衡。
3. 每个人得到的任务里,挑战有意思的工作和脏活累活的比例要大致相等。
4. 每个人任务里有足够的挑战,能够帮助其成长,又不至于太难而让其望而生畏并产生挫败感。
5. 不同人的任务之间如果有依赖性在分配任务时要安排合理的顺序确保不会有人被别的人或事阻塞Block
6. 每个人的任务里都应该有一个主题,就好像故事有一条主线。这样,成员会觉得自己参与了一个比较完整的任务,进而产生成就感,而不是感觉做了一堆杂活。
**达到这些目的的手段,我们姑且就称其为“细分重组”。这个过程又包括两个阶段。**
第一个阶段。你需要把所有要做的事,细分成一个个的小任务,每个任务的大小、完成需要的时间都大致差不多。如果有比较大的任务块,就尽可能地切分成几个小块。这需要管理者对项目本身的重点和任务细节有很好的把握。
第二个阶段。把这些大小均匀的任务块,按照上面提到的因素,分装到几个虚构的 “箱子” 里,然后分配给团队成员。这就像个打包装箱的过程,尤其需要注意的是,每个箱子一定都有一个主题,也就是说,如果你想给这个箱子起个名字,你一定能找到那个名字,并很好地概括其中的内容。最后,保证每个箱子在内容、重量等各方面都比较均衡。
完成了这个工作之后,后续项目的每一步,作为管理者的你都能做到心中有数。同时还能避免后期执行中一些可能的弊端,例如,有的人工作繁重疲累不堪,有的人则早早完成了自己任务,缺乏挑战。这种任务划分的方式还会让每个人更有成就感和责任感,因为他们完成的是一整个故事。
## 第二个技巧,工期估算
一般情况下,技术管理者都会对每个任务的完成时间有自己的判断,但最终还是要和接受任务的员工沟通清楚,并尊重对方的意见,确保双方能就任务时间线达成一致。有了承诺,工作的目标性也会更强一些,毕竟,截止日期才是最好的效率工具。
这一点非常重要。如果不是双方达成一致的协议,或者不是双方都认可合理的时间估算,一旦后期出现不能按期完成任务的时刻,就很容易出现一些令人不愉快的交流。
同时需要注意的是,很多工程师在做时间预算的时候,会过于乐观。我见过的大部分工程师都乐观、积极、自信,他们沉浸在代码的世界里,试图把软件做到最好,往往却会忽略时间因素。当核对工期的时候,他们会根据自己的经验给出一个非常乐观的期限。
和普通人一样,工程师们也会高估自己编程能力和对复杂逻辑的处理能力。甚至,有时候工程师给出的工期是自己负责的那部分程序编写完成的时间;然而,一个功能的完成,包含编译、单元测试、提交代码、集成测试、功能测试、性能测试和上线。如果不是特别留意,这些细节往往会泯灭在项目进度的时间表里,无法体现。
即使是一个很有估算经验的工程师,在新项目中也可能会遇到各种各样新的问题,你会惊奇地发现,上一个项目中的方法在新产品中失灵了。另外,开发中遇到的技术瓶颈或难以解决的 Bug也会耗费程序员大量的精力和时间这时候我们能做的事情只有等待给他们时间去披荆斩棘直到问题解决。
所以,在这个阶段,往往需要技术领导给出参考性的意见和建议;除此之外,你最好留出一些缓冲的时间,因为实际工作中总会有一些不可预见的情况发生。
## 第三个技巧,也是很重要的一点,实时跟踪,并准备好 B 计划
技术领导者要做好两手准备,比如,团队中有一部分人突然表现失常了怎么办?项目由于其他原因被阻塞了怎么办?
这时候我们需要做好以下两点。
1. 我们在 “细分重组” 中把工作分成了小块,在完成过程中,我们还需要设立各种里程碑。其中,有一些长期的大里程碑,也有一些为期一周到两周的小里程碑。这些里程碑就像你上高速行驶之前给自己定的目标:几点前要到某个服务区,几点前要到某个城市等等。有了这些里程碑,管理者就可以通过它们进行实时跟踪,了解项目的进度,看看项目这辆汽车是不是还正常地行驶在高速路上,是不是抛锚了,是不是没油了,等等。
2. 一旦出现延迟,管理者要和任务的负责人一起分析原因,询问对方能否追上进度,会不会对整个项目的进程有重大影响。如果问题不严重,可以暂时不做调整,继续跟进。如果影响比较大,就需要启动 B 计划了,比如调整执行的人员、提供额外的资源、分析执行的方法、调动其他组支援,甚至你需要重新考虑项目进度。
今天,我和你讨论了平时在项目管理过程中的一些实践技巧,总结一下:管理者首先要对大的项目进行细分重组,“打包装箱”之后再分配下去;其次,在工期估算方面,管理者要和任务的负责人达成一致,并且要注意到,工程师们在进行时间预算的时候都是比较乐观的,最好为项目预留缓冲的时间;最后,要为项目设置大大小小的里程碑,并实时跟进,一旦项目出问题,就要启动 B 计划。
通常情况下,如果这三点做得比较好,我们的 B 计划就不会用上,这也是我们期待的最好结果。
你在项目执行过程中还有那些经验和技巧呢?可以在留言中告诉我,我们一起进步。
感谢您的收听,我们下期再见。
[戳此获取你的专属海报](https://time.geekbang.org/activity/sale-poster?utm_source=app&utm_medium=zhuyun-article&utm_campaign=zhuyun-saleposter&utm_content=zhuyun0416)