《构建之法》一周小结

第九章:项目经理

什么是PM?

典型的软件团队里除了能写代码、测试代码和画图做设计的成员,还有一类角色,不做上面这些事情但也很重要,我们叫他们项目经理--PM

PM的M就是Manager,但是P有这几种:Product Manager、Project Manager、Program Manager.在不同的行业和公司,他们的作用各不相同。

开发和测试搞不定的事情:

随着软件复杂度的提高,用户需求的多样化,市场竞争的日益激烈,光有程序员和销售人员是不够的。销售人员当然可以把顾客的需求直接告诉开发人员,但是开发人员往往听不懂。我们需要专人来把市场/销售人员那一套MBA的套路语言翻译成程序员能懂的规格说明书。也就是说,我们需要专门的人才来做下面的事,二这些事往往是程序员不愿意花时间去做的:

1.和客户交谈,组织用户查询,发现用户需求

2.了解和竞争对手的产品

3.怎么让软件变得可用、有用

4.怎么改进团队流程

上面这些事情,开发人员大多不愿意去做,也未必能做好,大家宁愿盯着屏幕写代码。这时候PM出现了,PM的出现让团队内部的互动出现了两个新特性

1.负责一个功能的开发/测试人员和相关的PM密切合作,再由PM代表小组去和别的小组或客户代表打交道,大大降低了交流的成本。

2.有专人负责开发/测试之外的许多事务和项目进度的管理,让开发和测试人员专注于技术方面工作。

PM和风险管理

前面说过PM做开发和测试之外的事情,开发和测试都是专注于代码,代码之外,还有什么呢?还有很多不确定性--风险。PM要在整个项目的生命周期管理风险。对于软件项目来说,风险是在正常软件生命周期时间之外的、可能发生的影响项目的成功的事件。

PM的能力要求和任务

1.观察、理解和快速的学习能力

2.分析管理能力

3.一定的专业能力

4.自省的能力

在一个项目中,PM的具体任务是什么呢?

1.带领团队形成团队的目标|远景,把抽象的目标转化为可执行的,具体的,优美的设计

2.管理软件的具体功能的生命周期

3.创建并维护软件的规格说明书

4.代表客户和用户的利益,主动收集用户反馈,预期用户心得需求。协调并决定各种需求的优先级

5.分析并带领其他成员对缺陷|变更需求形成一致意见,并确保实施

6.带领其他成员确保项目保持功能|时间|资源的合理平衡,跟踪项目进展,确保团队发布令客户满意的软件

7.收集团队项目管理和软件工程的各种数据,客观分析项目实施过程中的优缺点,推动项目成员持续改进,从而提振士气。

 

posted @ 2017-05-14 14:40  happines0  阅读(88)  评论(0编辑  收藏  举报