<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Program Manager | 酷 壳 - CoolShell</title>
	<atom:link href="https://coolshell.cn/tag/program-manager/feed" rel="self" type="application/rss+xml" />
	<link>https://coolshell.cn</link>
	<description>享受编程和技术所带来的快乐 - Coding Your Ambition</description>
	<lastBuildDate>Tue, 05 Jul 2011 17:40:07 +0000</lastBuildDate>
	<language>zh-CN</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.2</generator>
	<item>
		<title>怎样做一个 Program Manager</title>
		<link>https://coolshell.cn/articles/76.html</link>
					<comments>https://coolshell.cn/articles/76.html#comments</comments>
		
		<dc:creator><![CDATA[陈皓]]></dc:creator>
		<pubDate>Tue, 10 Mar 2009 07:50:31 +0000</pubDate>
				<category><![CDATA[技术管理]]></category>
		<category><![CDATA[技术读物]]></category>
		<category><![CDATA[杂项资源]]></category>
		<category><![CDATA[职场生涯]]></category>
		<category><![CDATA[Program Manager]]></category>
		<category><![CDATA[管理]]></category>
		<category><![CDATA[软件开发]]></category>
		<guid isPermaLink="false">http://coolshell.cn/?p=76</guid>

					<description><![CDATA[<p>我个人认为，这是一篇不错的文章，虽然我不是Program Mananger，但是我几乎在做着和这个职位很相似的工作。在这里，我把这篇文章推荐给所有的程序员，我相...</p>
<p class="read-more"><a class="btn btn-default" href="https://coolshell.cn/articles/76.html"> Read More<span class="screen-reader-text">  Read More</span></a></p>
The post <a href="https://coolshell.cn/articles/76.html">怎样做一个 Program Manager</a> first appeared on <a href="https://coolshell.cn">酷 壳 - CoolShell</a>.]]></description>
										<content:encoded><![CDATA[<p><script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-3415450859608158"
     crossorigin="anonymous"></script>我个人认为，这是一篇不错的文章，虽然我不是Program Mananger，但是我几乎在做着和这个职位很相似的工作。在这里，我把这篇文章推荐给所有的程序员，我相信，这篇文章会让你明白，只有技术是远远不够的，因为没有Program Manager这个角色，程序员们只不过一些手中拿着利器却不知所措的散兵游勇。我希望我的导读和原文能给所有的程序带来启示。</p>
<p style="padding-left: 30px;"><strong>原文在这里：</strong><br />
“How to be a program manager”<br />
<a href="http://www.joelonsoftware.com/items/2009/03/09.html">http://www.joelonsoftware.com/items/2009/03/09.html</a></p>
<p><a href="https://coolshell.cn/wp-content/uploads/2009/03/09meeting-thumbnail.jpg"><img decoding="async" loading="lazy" class="alignright size-medium wp-image-77" title="09meeting-thumbnail" src="https://coolshell.cn/wp-content/uploads/2009/03/09meeting-thumbnail-300x198.jpg" alt="09meeting-thumbnail" width="300" height="198" /></a>这篇文章的作者叫Joel Spolsky，在Microsoft做过Program Manager，这篇文章非常值得一读。下面是我给大家做的一个导读：</p>
<p>首先，他讲了两个人，一个是负责WYSIWYG 字处理的天才级的Program Manager——Charles Simonyi，第二个是上世纪80年代的负责Mac OS上的Excel项目的程序员Jabe Blumenthal，他发现了程序员和市场人员的代沟，Marketing的人很难通过把MBA-Speaking翻译成实际的Feature，并且，有太多的和编码不相关的工作，比如说，和用户交谈，运行usability测试，Reivew竞争者的产品，并且得冥思苦想怎么能让事情变得更简单，而我们的程序员通常来说即不具备这样的时间，也不具备这样的能力。于是，Jabe开始了他的Program Manager的生涯。</p>
<p><span id="more-76"></span></p>
<p><strong><span style="text-decoration: underline;">工作范围</span></strong></p>
<p>作者在第二节里说了一个PM主要负责哪些事务：</p>
<ol>
<li>Design UIs （用户界面的设计）</li>
<li>Write functional specs （书写功能规格说明书）</li>
<li>Coordinate teams （团队协调）</li>
<li>Serve as the customer advocate, and （从用户角度思考问题）</li>
<li>Wear Banana Republic chinos （Banana Republic是一个服装品牌，意思是作者在调侃PM需要衣冠楚楚，而不像程序员们只有T恤或牛仔裤）</li>
</ol>
<p>接下来，作者讲述了他第一份Program Manager工作的经历，非常有意思，那是一个关于Excel 用户定制化的项目（耗子注：应该是在Excel中加入VBScript的项目吧，就是所谓的宏）。</p>
<p>第一个阶段</p>
<ul>
<li>首先，作者找了很多很多的用户谈论了这个什么是最有用最合理的实现，这是一个非常巨大的工作，花费了非常多的精力和时间。</li>
<li>然后，作者找到了Visual Basic团队询问了是否可能给Excel提供一个编译器和代码编辑器，以便实现“宏”。</li>
<li>接着，作者查看了一下Apple上面的AppleScript这种宏，取了取经。</li>
<li>最后，作者同 Word, Access, Project, 和Mail团队们讨论了很多很多。</li>
</ul>
<p>作者说，这个阶段的工作让他满是伤痕，他甚至害怕听到手机铃响。</p>
<p>第二个阶段</p>
<ul>
<li>确定大方向。他开始写下Visual Baisc应该怎么样在Excel里面工作的文档。并提供了一些简单的宏的样子。这应该是high-level的Functional Spec。</li>
<li>当大的方向确定后，他开始了一些更为细节的功能规格说明的书写。这就是所谓的Functional Specification. (耗子注：这份文档应该只是说明从用户的角度上来看这个产品长成什么样，而不是实现)</li>
<li>虽然FS并不需要说明怎么去实现，但这份文档应该是需要非常详细地说明整个Excel和VBScript怎么相互交互的，这是其中最重要的部分。</li>
<li>当作者把FS的一个初始化版本发给开发团队（Ben Waldman）时，开发团队非常快地实现出了一个原型，并提供了面向对象的相关接口。但可惜的是，那并不是Program Manger所想要的。</li>
<li>作者描述了一个细节如果帮助开发团队解决技术难点的例子。那是关于把一个Excel中的一个cell的值取出来的例子。当时，developer团队认为这是一个难点，因为这个值可能是任意类型的。而VB中却需要先声明变量的类型。后来，作者找到了VB的开发团队，了解到了Variants 和IDispatch可以做到这个。</li>
</ul>
<p>我们可以看到，FS在这样反复地和developer 团队推敲，甚至去帮助程序员解决技术难题，之后最终才能确定下来。一旦FS确定后，program manger需要做两件事：</p>
<ol>
<li>负责解释相关的问题。</li>
<li>组织并形成相关的design。</li>
</ol>
<p>也就是说，除了对FS解释外，需还需要把What needs to do 变成 How to do的设计文档。另外，Program Manager可能会有下面的工作：</p>
<ul>
<li>测试人员会对FS有很多很多疑问，因为他们需要知道怎么样去测试这些FS中所包含的东西。</li>
<li>和文档团队商讨如何写一个好的教程或是一个参考文档。</li>
<li>和localization 团队制定localization 的策略。</li>
<li>和市场人员说明VBA的优势和功能。</li>
</ul>
<p>我们可以看到，作者有太多，太多的会议和太多的与人沟通的事务，真是一个不简单的工作啊。</p>
<p><strong><span style="text-decoration: underline;">冲突管理</span></strong></p>
<p>后面，作者着重讲了“Conflicts”冲突，这可能是所有的团队都会有的问题。而我们的Program Manager因为要和那么多的人沟通交流，所以，必然会需要有一种超人的能力去管理与人的发生的观点上的冲突。作者，在这里说了和程序员发生的很多争论，因为Program Manager是从用户的角度出发，而我们程序员总是从技术和实现的角度出发，不同的角度必然会引发冲突。作者举了一个例子，他说，用户们喜欢一个“心灵感应”的界面和一个30英寸的显示器，而我们的程序员喜欢的只是用Python搞的命令行接口。呵呵。另外，作者引用了一个Excel中的“pivot tables ”所引发的一个历时最长的争议作为案例。</p>
<p>最后，作者讨论了，争论是一个很好的事，就好像法院里的原告和被告都有自己的辩护律师一样，这有助于人们逼近事物的真相。对于软件开发也一样，良好的争论其实是对产品有好处的。我们应该在争论中关注事。</p>
<p>当在讨论到和程序相处的过程，作者说到了和程序员相外并不是一件很容易的事，因为你并不编码而也没有技术能力，通常会受到程序员的冷眼。所以在和程序沟通的过程中需要保证两件事：1）确信自己的正确的。2）让程序员尊敬自己。而对于第二点，如何让程序员尊敬自己，作者发表了自己的见解：1）demonstrate intelligence（展示自己的才华），2）open-mindedness（心胸宽阔），3）fairness（公平，正直）。千万不要搞办公室政治，或是开私密的经理会，等等。不然的话，你必然受到排挤。</p>
<p><strong><span style="text-decoration: underline;">推荐读物</span></strong></p>
<p>最后作者给大家推荐了一些很不错的读物：</p>
<ul>
<li class="MsoNormal" style="mso-list: l0 level1 lfo3;"><span style="font-size: x-small; font-family: Arial;"><span style="font-size: 10pt; font-family: Arial;"><a title="blocked::http://www.amazon.com/gp/product/0596517718?ie=UTF8&amp;tag=joelonsoftware&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=0596517718" href="http://www.amazon.com/gp/product/0596517718?ie=UTF8&amp;tag=joelonsoftware&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=0596517718">Making Things Happen</a></span></span> （经理一般都在干什么？）</li>
<li class="MsoNormal" style="mso-list: l0 level1 lfo3;"><span style="font-size: x-small; font-family: Arial;"><span style="font-size: 10pt; font-family: Arial;"><a title="blocked::http://www.amazon.com/gp/product/0321344758?ie=UTF8&amp;tag=joelonsoftware&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=0321344758" href="http://www.amazon.com/gp/product/0321344758?ie=UTF8&amp;tag=joelonsoftware&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=0321344758">Don’t Make Me Think</a></span></span>  （如果你要写FS或UI设计，你应该看看这本书）</li>
<li class="MsoNormal" style="mso-list: l0 level1 lfo3;"><span style="font-size: x-small; font-family: Arial;"><span style="font-size: 10pt; font-family: Arial;"><a title="blocked::http://www.amazon.com/gp/product/1893115941?ie=UTF8&amp;tag=joelonsoftware&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=1893115941" href="http://www.amazon.com/gp/product/1893115941?ie=UTF8&amp;tag=joelonsoftware&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=1893115941">User Interface Design for Programmers</a>.</span></span> （作者自己的书，关于UI设计）</li>
<li class="MsoNormal" style="mso-list: l0 level1 lfo3;"><span style="font-size: x-small; font-family: Arial;"><span style="font-size: 10pt; font-family: Arial;"><a title="blocked::http://www.amazon.com/gp/product/0671027034?ie=UTF8&amp;tag=joelonsoftware&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=0671027034" href="http://www.amazon.com/gp/product/0671027034?ie=UTF8&amp;tag=joelonsoftware&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=0671027034">How to Win Friends &amp; Influence People</a></span></span> （在人际关系方面，需要看看这本书）</li>
</ul>
<p class="MsoNormal" style="mso-list: l0 level1 lfo3;">（完）</p>
<p><!--



<p align="center"><a href= target=_blank><img decoding="async" src=""></a></p>





<p align="center"><img decoding="async" src="https://coolshell.cn/wp-content/uploads/2020/03/coolshell.weixin.jpg"> <img decoding="async" loading="lazy" src="https://coolshell.cn/wp-content/uploads/2020/03/coolshell.mini_.jpg" width="300" height="300"> <br />关注CoolShell微信公众账号和微信小程序</p>

 

--></p>
<div style="margin-top: 15px; font-size: 16px;color: #cc0000;">
<p align="center"><strong>（转载本站文章请注明作者和出处 <a href="https://coolshell.cn/">酷 壳 &#8211; CoolShell</a> ，请勿用于任何商业用途）</strong></p>
</div>

<div class="wp_rp_wrap  wp_rp_vertical_m" id="wp_rp_first"><div class="wp_rp_content"><h3 class="related_post_title">相关文章</h3><ul class="related_post wp_rp"><li ><a href="https://coolshell.cn/articles/2681.html" class="wp_rp_thumbnail"><img src="https://coolshell.cn/wp-content/plugins/wordpress-23-related-posts-plugin/static/thumbs/5.jpg" alt="Kent Beck 谈单元测试和持续部署" width="150" height="150" /></a><a href="https://coolshell.cn/articles/2681.html" class="wp_rp_title">Kent Beck 谈单元测试和持续部署</a></li><li ><a href="https://coolshell.cn/articles/2539.html" class="wp_rp_thumbnail"><img src="https://coolshell.cn/wp-content/plugins/wordpress-23-related-posts-plugin/static/thumbs/1.jpg" alt="参透软件开发的本质 &#8211; Uncle Bob Martin 推荐的经典书籍" width="150" height="150" /></a><a href="https://coolshell.cn/articles/2539.html" class="wp_rp_title">参透软件开发的本质 &#8211; Uncle Bob Martin 推荐的经典书籍</a></li><li ><a href="https://coolshell.cn/articles/1654.html" class="wp_rp_thumbnail"><img src="https://coolshell.cn/wp-content/uploads/2009/11/250px-ChallengerCrew-150x150.jpg" alt="Richard Feynman, 挑战者号, 软件工程" width="150" height="150" /></a><a href="https://coolshell.cn/articles/1654.html" class="wp_rp_title">Richard Feynman, 挑战者号, 软件工程</a></li><li ><a href="https://coolshell.cn/articles/971.html" class="wp_rp_thumbnail"><img src="https://coolshell.cn/wp-content/plugins/wordpress-23-related-posts-plugin/static/thumbs/0.jpg" alt="质量管理经中的八个法则" width="150" height="150" /></a><a href="https://coolshell.cn/articles/971.html" class="wp_rp_title">质量管理经中的八个法则</a></li><li ><a href="https://coolshell.cn/articles/172.html" class="wp_rp_thumbnail"><img src="https://coolshell.cn/wp-content/plugins/wordpress-23-related-posts-plugin/static/thumbs/21.jpg" alt="幽默：程序员的进化" width="150" height="150" /></a><a href="https://coolshell.cn/articles/172.html" class="wp_rp_title">幽默：程序员的进化</a></li><li ><a href="https://coolshell.cn/articles/22341.html" class="wp_rp_thumbnail"><img src="https://coolshell.cn/wp-content/uploads/2022/12/covid19-150x150.jpg" alt="感染新冠的经历" width="150" height="150" /></a><a href="https://coolshell.cn/articles/22341.html" class="wp_rp_title">感染新冠的经历</a></li></ul></div></div>The post <a href="https://coolshell.cn/articles/76.html">怎样做一个 Program Manager</a> first appeared on <a href="https://coolshell.cn">酷 壳 - CoolShell</a>.]]></content:encoded>
					
					<wfw:commentRss>https://coolshell.cn/articles/76.html/feed</wfw:commentRss>
			<slash:comments>5</slash:comments>
		
		
			</item>
	</channel>
</rss>
