title: "如果是我来做项目经理" date: 2016-03-01T20:56:00+08:00 tags: ["思考"] draft: false
以前的公司之前是没有项目经理的,只有产品经理,或者说,产品经理和项目经理是同一个人。
去年年底入职的这家公司,新项目的人员分配是这样的:包括项目经理和我在内的4个后端工程师(PHPer)都是新招来的。
从12月初到现在的3月初,不到3个月的时间(中间包括春节)项目现在进度终于接近尾声了,天天加班的日子应该算是熬到头了。
这期间我也算是对项目经理工作职位有了一定的了解,我认为一个项目的核心关键人物就是项目经理。
产品经理只负责整理需求,然后给出需求文档还有原型图。
开发工程师负责写功能模块,项目经理就是来分配任务和把控时间,可能会随身调整项目进度的人。
因为项目时间比较紧急,项目经理也参与了写代码。
<!--more-->乔尔测试是 Joel Spolsky 在2000年8月提出的一个超简单的软件团队质量测试方法(出自我春节看的《软件随想录 卷一》):
1. 你们用源码管理系统吗?
2. 你们能一键编译么?
3. 你们做每日编译么?
4. 你们有bug数据库么?
5. 你们在写新代码前修改以前的bug吗?
6. 你们的进度表是最新的么?
7. 你们有软件规格说明书么?
8. 程序员的工作环境安静吗?
9. 你们使用了能买到的最好工具吗?
10. 你们有测试人员吗?
11. 你们面试时会要求应聘人员写代码吗?
12. 你们做过走廊可用性测试吗?
这篇文章距离现在已经快有16年了,但是有几条我认为对现在依然有用。(在这里我不得不佩服作者的思想,中文的世界真是太落后了)
这个测试不一定是100%有效,但是确实能看出一些情况。按照这三个月的项目经验,让我来一一回答这个他的问题:
你们用源码管理系统吗?
我们用的是 git。这个算通过了,但是比较坑爹的是团队里面不是每个人都会 git,但是身为一个项目经理你一定要玩转 git。
你们能一键编译么?
我们是 PHP,没有编译这一说,但是按照现在的这个尿性,我们肯定是不会一键 XX 的。
你们做每日编译么?
也没有这一说,但是我会每天下班之前把最新的代码 push 上去。
你们有bug数据库么?
有,用的是明道,公司一直在用这个,内部搭建的,凑合着用吧。
你们在写新代码前修改以前的 bug 吗?
不修改,我们都是先写功能最后在统一测试。但是现在是一个特殊时期,因为现在项目是从0到1的过程,以后肯定会先修改以前的 bug 在写新代码的。
你们的进度表是最新的么?
这个我认为是最坑爹的了,刚开始项目经理用软件画甘特图规划项目来着,但是真正开始写项目的时候,都没按照那个来,而且他画那个图我只 在我们开会的时候看过一次。所以我们从开始写代码之后就没有什么项目进度表了,也有可能项目经理自己有一份文档在更新吧,反正项目组的其他 成员是不知道项目进度的,也不知道什么功能做了什么功能没做,只知道个大概。
技术总监也老是在群里催进度啊。
你们有软件规格说明书么?
这个还是靠新来的产品总监给力,写了比较详细的需求文档。大部分功能都写了,也算比较详细,应该有80%了。
说实话这算是第一次看到需求文档的详细设计,之前的产品经理能给你画原型就不错了。
程序员的工作环境安静吗?
这个还算可以吧,办公室是大客厅,上班的时候自己待上耳机基本上就可以集中精力了,当然肯定是比不上晚上加班的安静。
你们使用了能买到的最好工具吗?
公司 Mac 都不给配置,双显示器都没有,主机配置倒是还可以,只能说一般,软件就不说了,在中国大家都懂的。
你们有测试人员吗?
这个有,但是都是功能性的测试,压力测试什么的还是考自己吧。
你们面试时会要求应聘人员写代码吗?
这个我们公司倒是没有,其实我也比较怕面试写代码,因为平常考 IDE 写代码依赖性太强了,很多东西记不住。
你们做过走廊可用性测试吗?
走廊可用性测试是指,你随便从走廊抓过来一个路人,然后要求他们试用你刚写的程序。如果你这样测试了5个人,你能发现产品在易用性方面95%的问题。
答案是没有,但是公司老板对交互这块倒是很看重。
以上就写这么多吧,最后送给大家一句乔布斯的名言:「Stay hungry, stay foolish.」