一、项目经理需要具备的能力
个人认为有几点:
- 理解产品,起码清楚产品将会做成什么样子
- 熟悉团队成员,了解他们的开发能力
- 能大致估算一个项目需要的开发时间
所以一个好的项目经理,应该也是产品经理,当开发人员对产品有疑惑或异议的时候,能够在较短时间内做出判断,给出方向。
开发最怕的就是反复修改,做无用功,一定要减少这种情况。
二、高效项目管理要点
参考了豆瓣一篇文章,结合自己理解:
-
明确且达成共识的目标
- 项目经理应该自己先理清,开发前花点时间和大家进行沟通
- 开发过程如果发现成员有不清晰,要反复说
- 详细的任务分解,然后分派到人
- 每个子任务不要超过一周
- 明确子任务目标、时间点、交付物,一定要可以检视(不要出现功能完善、功能优化这种无法检视的子任务,它们只可能出现在总单里)
- 了解成员的能力,并进行分配。不要让成员的工作台单子过多
-
每日检查、每周检查项目进展和提交物
- 技术型项目经理可以跟进arc diff提交代码的review,及时体验功能,并处理单子(关闭或者提醒开发者哪里有问题)
- 非技术型项目经理,要跟进arc land后,测试环境进行功能体验,最好能让开发在合并后进行提醒验收
- 周检查一般放在周五,鼓励清完本周单子,并做下周的开发计划
-
根据检查情况调整任务目标、资源、进度,以及计划
- 一开始任务分解的单子可能是相对比较粗的,根据开发进度(测试环境的体验),再塞进去细节子任务
- 根据成员的完成情况进行调整,分配单子
- 如果整体运营计划,甚至项目有变,及时沟通,减少无用功
三、系统集成自动化
自动化很重要,能够大大提高效率,实现流程化。
代码管理可以用gitlab
或者phabricator
,gitlab
的code review是Merge Requests来实现,由项目管理员来进行代码合并,项目管理员有直接往主分支提交的权限。phabricator
不太一样,大家都不可以往主分支提交,可以成员间互相做code review,接受后自动合并到主分支。
gitlab
的方式把压力都给开发主管了,个人感觉phabricator
的方式好一点,成员间的code review更方便大家的互相学习,提高代码质量和责任感。
合并到主分支,一定要有CI自动进行编译,并部署到测试环境方便项目经理和QA第一时间进行验收。如果编译有错误,那么这个提交会被打个叉,开发需要修复再提交。
有这样系统集成功能的支持,4个开发成员的前端团队,一周能干掉100多个单子,迭代速度很快。
四、项目管理软件
项目管理软件有很多,对大陆用户来说腾讯的tapd
很好用,目前对于一般企业来说完全够用,和企业微信结合相当好,另外Wiki和文档功能对生成项目文档很方便。
tapd
的迭代功能是项目经理最常用的功能,对大目标进行分解,拆到每周一次迭代,需求或BUG编辑输入框可以很方便的用微信或QQ截图后粘贴过去。
验收的单子要及时关闭,这样该单子在开发人员工作台的我的待办里会消失,容易给开发人员带来成就感。