我所理解的项目经理
以前的公司之前是没有项目经理的,只有产品经理,或者说,产品经理和项目经理是同一个人。
去年年底入职的这家公司,新项目的人员分配是这样的:包括项目经理和我在内的4个后端工程师(PHPer)都是新招来的。
从12月初到现在的3月初,不到3个月的时间(中间包括春节)项目现在进度终于接近尾声了,天天加班的日子应该算是熬到头了。
这期间我也算是对项目经理工作职位有了一定的了解,我认为一个项目的核心关键人物就是项目经理。
产品经理只负责整理需求,然后给出需求文档还有原型图。
开发工程师负责写功能模块,项目经理就是来分配任务和把控时间,可能会随身调整项目进度的人。
因为项目时间比较紧急,项目经理也参与了写代码。
乔尔测试
乔尔测试是 Joel Spolsky 在2000年8月提出的一个超简单的软件团队质量测试方法(出自我春节看的《软件随想录 卷一》):
|
|
这篇文章距离现在已经快有16年了,但是有几条我认为对现在依然有用。(在这里我不得不佩服作者的思想,中文的世界真是太落后了)
这个测试不一定是100%有效,但是确实能看出一些情况。按照这三个月的项目经验,让我来一一回答这个他的问题:
你们用源码管理系统吗?
我们用的是 git。这个算通过了,但是比较坑爹的是团队里面不是每个人都会 git,但是身为一个项目经理你一定要玩转 git。
你们能一键编译么?
我们是 PHP,没有编译这一说,但是按照现在的这个尿性,我们肯定是不会一键 XX 的。
你们做每日编译么?
也没有这一说,但是我会每天下班之前把最新的代码 push 上去。
你们有bug数据库么?
有,用的是明道,公司一直在用这个,内部搭建的,凑合着用吧。
你们在写新代码前修改以前的 bug 吗?
不修改,我们都是先写功能最后在统一测试。但是现在是一个特殊时期,因为现在项目是从0到1的过程,以后肯定会先修改以前的 bug 在写新代码的。
你们的进度表是最新的么?
这个我认为是最坑爹的了,刚开始项目经理用软件画甘特图规划项目来着,但是真正开始写项目的时候,都没按照那个来,而且他画那个图我只 在我们开会的时候看过一次。所以我们从开始写代码之后就没有什么项目进度表了,也有可能项目经理自己有一份文档在更新吧,反正项目组的其他 成员是不知道项目进度的,也不知道什么功能做了什么功能没做,只知道个大概。
技术总监也老是在群里催进度啊。
你们有软件规格说明书么?
这个还是靠新来的产品总监给力,写了比较详细的需求文档。大部分功能都写了,也算比较详细,应该有80%了。
说实话这算是第一次看到需求文档的详细设计,之前的产品经理能给你画原型就不错了。
程序员的工作环境安静吗?
这个还算可以吧,办公室是大客厅,上班的时候自己待上耳机基本上就可以集中精力了,当然肯定是比不上晚上加班的安静。
你们使用了能买到的最好工具吗?
公司 Mac 都不给配置,双显示器都没有,主机配置倒是还可以,只能说一般,软件就不说了,在中国大家都懂的。
你们有测试人员吗?
这个有,但是都是功能性的测试,压力测试什么的还是考自己吧。
你们面试时会要求应聘人员写代码吗?
这个我们公司倒是没有,其实我也比较怕面试写代码,因为平常考 IDE 写代码依赖性太强了,很多东西记不住。
你们做过走廊可用性测试吗?
走廊可用性测试是指,你随便从走廊抓过来一个路人,然后要求他们试用你刚写的程序。如果你这样测试了5个人,你能发现产品在易用性方面95%的问题。
答案是没有,但是公司老板对交互这块倒是很看重。
项目遇到的问题
- 前期需求讨论、整理和确定花了不少时间,让团队每个人都能快速理解需求不是一个简单的事情。
- 项目时间比较紧急,项目组人员都是新人,大家都是工作过几年的程序员了,每个人都有自己的一套编程风格了,但是大家都在赶功能, 前期可能还会帮助那些没有按照规范写代码的同事修改一下代码,后面我也懒得管了,只要功能保证就可以了,所以这次的项目代码风格会有好几套。
- 没有进度表。之前我有介绍项目经理使用一些团队协作平台,不知道是不会用还是是没时间用,反正没用起来,我一个人用也没有用。
- 前端工程师缺人还搞前后端分离,所以现在项目是一个 restful 项目和一个 PHP 调用 restful 的项目,所以你会发现我们项目进度比较慢也有一部分是这个原因,有时候你会重复写两套代码。 我觉得这样的架构对以后维护来说是一个坑。
- 团队中有2个 PHPer (一共是4个 PHPer,后来又加一个 PHPer)不会使用我们选择的 Yii2 框架。项目这么急,是不会给你多少时间学习框架的。
如果我来做项目经理/产品经理
- 首先我认为一个项目经理的技术一定要过硬才行,就目前我的技术来说,还是不行,我打算至少做技术到30岁再考虑其他事情吧。
- 沟通能力。做技术的一天到晚都对着电脑,都是不太擅长说话,但是做了项目经理/产品经理少不的要与人沟通,所以这个必须要注意加强学习。
- 主动性。有时候要经常拉大家开会,讨论项目什么的。
- 善用团队协作工具。我认为这个还是有必要的,不要什么工具都不用,感觉想是软件小作坊,大公司都会有专门的部门为公司内部写工具。
- 多看书。保持一个持续学习的心态,也要经常去关注行业最新动态,干 IT 这一行新技术穷出不断,有的你玩。
- 保持热爱。我们一生要工作很久很久,只有做你最热爱的工作你才不至于那么累,能会开心,有激情,有成就感。
- 有好奇心。热爱一些新出来的产品,乐于去尝试新技术、新产品。这个自认为还可以,经常写代码写累了就去看一下 GitHub 和 Product Hunt 的排行榜去看看。
以上就写这么多吧,最后送给大家一句乔布斯的名言:「Stay hungry, stay foolish.」
- 原文作者: forecho
- 原文链接: https://blog.forecho.com/if-i-was-a-project-manager.html
- 版权声明:本作品采用 署名-非商业性使用 4.0 国际 (CC BY-NC 4.0)进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。