项目管理者联盟 | 中国工程管理网 | 中国研发管理网   会员中心 资料库 论坛 博客

PMI-ACP®认证

适合敏捷开发项目
敏捷项目管理最佳实践

网络课程

PMI-PBA®认证

重视项目商业分析
商业价值与需求分析能力

网络课程

NPDP®认证

产品管理国际认证
全球产品管理最佳实践

网络课

PMP®认证

单项目管理经典指南
年轻项目经理首选

北京 | 直播 | 录播

PgMP®认证

大型复杂项目全球标准
定位高级项目管理层

网络班

PfMP®认证

链接战略与项目
实现组织资源投资回报

全球直播

软考项目管理

信息系统项目管理师
系统集成项目管理工程师

计划 | 报名 | 经验

圈子
志同道合,朋友再聚首
项目管理者联盟PMP培训
会员· 圈友
登录ID
密   码
 
圈子信息
圈名:IT项目经理
加入方式: 允许任何人加入

IT项目经理

分享IT项目管理的体系框架和最佳实践
探头IT项目经理的职业发展和能力提升
结交和融入IT业界,成为圈内人士
定期发起组织沙龙研讨

圈主:zhenjm    管理员:暂无管理员   
成员数:141
主题数:108
排名33
通讯录
圈友列表
加入本圈
管理本圈
 
话题区 投票区 资料区 精华区
标题:如何做一个 Program Manager
楼主

嗨呦
PMB:4928
省份:北京
行业:综合应用
注册:2008/2/22
  
  
这篇文章的作者叫Joel Spolsky,在Microsoft做过Program Manager,这篇文章非常值得一读。下面是我给大家做的一个导读:

首先,他讲了两个人,一个是负责WYSIWYG 字处理的天才级的Program Manager——Cha rles Simonyi,第二个是上世纪80年代的负责Mac OS上的Excel项目的程序员Jabe Blumenthal,他发现了程序员和市场人员的代沟,Marketing的人很难通过把MBA-Speaking翻译成实际的Feature,并且,有太多的和编码不相关的工作,比如说,和用户交谈,运行usability测试,Reivew竞争者的产品,并且得冥思苦想怎么能让事情变得更简单,而我们的程序员通常来说即不具备这样的时间,也不具备这样的能力。于是,Jabe开始了他的Program Manager的生涯。

工作范围

作者在第二节里说了一个PM主要负责哪些事务:

Design UIs (用户界面的设计)
Write functional specs (书写功能规格说明书)
Coordinate teams (团队协调)
Serve as the customer advocate, and (从用户角度思考问题)
Wear Banana Republic chinos (Banana Republic是一个服装品牌,意思是作者在调侃PM需要衣冠楚楚,而不像程序员们只有T恤或牛仔裤)

接下来,作者讲述了他第一份Program Manager工作的经历,非常有意思,那是一个关于Excel 用户定制化的项目(陈皓注:应该是在Excel中加入VBScript的项目吧,就是所谓的宏)。

第一个阶段

首先,作者找了很多很多的用户谈论了这个什么是最有用最合理的实现,这是一个非常巨大的工作,花费了非常多的精力和时间。
然后,作者找到了Visual Basic团队询问了是否可能给Excel提供一个编译器和代码编辑器,以便实现“宏”。

接着,作者查看了一下Apple上面的AppleScript这种宏,取了取经。
最后,作者同 Word, Access, Project, 和Mail团队们讨论了很多很多。
作者说,这个阶段的工作让他满是伤痕,他甚至害怕听到手机铃响。

第二个阶段

确定大方向。他开始写下Visual Baisc应该怎么样在Excel里面工作的文档。并提供了一些简单的宏的样子,这应该是high-level的Functional Spec。

当大的方向确定后,他开始了一些更为细节的功能规格说明的书写。这就是所谓的Functional Specification. (陈皓注:FS这份文档应该只是说明从用户的角度上来看这个产品长成什么样,而不是实现)

虽然FS并不需要说明怎么去实现,但这份文档应该是需要非常详细地说明整个Excel和VBScript怎么相互交互的,这是其中最重要的部分。

当作者把FS的一个初始化版本发给开发团队(Ben Waldman)时,开发团队非常快地实现出了一个原型,并提供了面向对象的相关接口。但可惜的是,那并不是Program Manger所想要的。

作者描述了一个细节如果帮助开发团队解决技术难点的例子。那是关于把一个Excel中的一个cell的值取出来的例子。当时,developer团队认为这是一个难点,因为这个值可能是任意类型的。而VB中却需要先声明变量的类型。后来,作者找到了VB的开发团队,了解到了Variants 和IDispatch可以做到这个。

我们可以看到,FS在这样反复地和developer 团队推敲,甚至去帮助程序员解决技术难题,之后最终才能确定下来。一旦FS确定后,program manger需要做两件事:

负责解释相关的问题。
组织并形成相关的design。
也就是说,除了对FS解释外,需还需要把What needs to do 变成 How to do的设计文档。另外,Program Manager可能会有下面的工作:

测试人员会对FS有很多很多疑问,因为他们需要知道怎么样去测试这些FS中所包含的东西。
和文档团队商讨如何写一个好的教程或是一个参考文档。
和localization 团队制定localization 的策略。
和市场人员说明VBA的优势和功能。
我们可以看到,作者有太多,太多的会议和太多的与人沟通的事务,真是一个不简单的工作啊。

冲突管理

后面,作者着重讲了“Conflicts”冲突,这可能是所有的团队都会有的问题。而我们的Program Manager因为要和那么多的人沟通交流,所以,必然会需要有一种超人的能力去管理与人的发生的观点上的冲突。作者,在这里说了和程序员发生的很多争论,因为Program Manager是从用户的角度出发,而我们程序员总是从技术和实现的角度出发,不同的角度必然会引发冲突。作者举了一个例子,他说,用户们喜欢一个“心灵感应”的界面和一个30英寸的显示器,而我们的程序员喜欢的只是用Python搞的命令行接口。呵呵。另外,作者引用了一个Excel中的“pivot tables ”所引发的一个历时最长的争议作为案例。

最后,作者讨论了,争论是一个很好的事,就好像法院里的原告和被告都有自己的辩护律师一样,这有助于人们逼近事物的真相。对于软件开发也一样,良好的争论其实是对产品有好处的。我们应该在争论中关注事。

当在讨论到和程序相处的过程,作者说到了和程序员相外并不是一件很容易的事,因为你并不编码而也没有技术能力,通常会受到程序员的冷眼。所以在和程序沟通的过程中需要保证两件事:1)确信自己的正确的。2)让程序员尊敬自己。而对于第二点,如何让程序员尊敬自己,作者发表了自己的见解:1)demonstrate intelligence(展示自己的才华),2)open-mindedness(心胸宽阔),3)fairness(公平,正直)。千万不要搞办公室政治,或是开私密的经理会,等等。不然的话,你必然受到排挤。

推荐读物

最后作者给大家推荐了一些很不错的读物:

Making Things Happen (经理一般都在干什么?)
Don’t Make Me Think (如果你要写FS或UI设计,你应该看看这本书)
User Interface Design for Programmers. (作者自己的书,关于UI设计)
How to Win Friends & Influence People (在人际关系方面,需要看看这本书)

回复 | 引用 发表时间:2009/3/31 11:08:07
!  您尚未登录,不能回复主题。    现在 登录  注册
关于联盟 | VIP会员 | 培训服务 | PMP认证 | PgMP认证 | 刊物出版 | 沙龙会议 | 人才服务 | 广告投放 | 联系我们 | 友情链接
建设运营:共创时网络
版权所有 京ICP证070584号 BBS业务许可2007第353号