现代软件工程 第九章 【项目经理】练习与讨论

简介:

9.5.1  PM们的故事

讲了这么多条条框框,我们还是来讲几个故事吧。

A)是不是所有的好功能都是由PM主导,一步一步根据用户需求,按照用户场景设计,然后进行可用性测试等等步骤之后得来的呢?

功能本天成,妙手偶得之——一个来自微软的故事

约摸在1985年,微软的一个叫Steve Hazelrig的工程师正在写Mac Excel 版本的打印功能,那时候激光打印机很贵,而且离办公室也不近。他懒得经常跑到打印机那儿取打印纸检查打印效果,就写了一个小程序,把要输出到打印机的图像显示在屏幕上,还有一个放大镜功能可以把局部放大以检查每个像素的位置及效果。这时一个PM路过看到了这个小工具,说,这么酷的东西,为啥不做成一个功能呢?

所以后来微软的编辑软件都有了“打印预览”这一功能。然而,用户们并没有正式地要求这一功能。

B)PM怎么说服聪明的同事?

这个故事在[注4, 注5]中都提到了。在Macintosh研发的过程中,由于计算能力的限制,计算机的图形显示非常缓慢。一位聪明的程序员展示了他的新算法,能很快地画圆形和椭圆。当他得意地展示给Steve Jobs看的时候,(作为一个不懂编程技术的PM,Steve应该表示仰慕才对……)Steve平静地反问——你能继续改进,让圆角的矩形框显示速度加快么?程序员说:这个太难了,也没有必要。椭圆不是挺好的么?Steve为了说服同事,建议两人到外面散步,然后指出现实世界中的各种告示牌都是用圆角的矩形框来实现的,走了一圈,同事就被说服了。过了几天,圆角的矩形框也可以很快速地在屏幕上显示了。

C)PM如何找到需求?

一些人常说PM负责提需求,Dev就管实现就好了,那需求从哪里来呢?我们用了一章的内容来说明这个问题,参见本书“第8章 需求分析“。

D)PM的分析能力和韧性

能把市场、我方的优势和劣势、创新的机会讲得头头是道,也是一种能力。在“第8章 需求分析”中我们讲过NABC方法[YEKA3] 。乔布斯在NeXT公司时也做过很有说服力的分析:

http://v.youku.com/v_show/id_XMzE1Mzc2NTE2.html 

注意,这么厉害的PM,分析得这么透彻,但是NeXT的产品还是失败了。

但是乔布斯没有气馁,又投入了另一个公司的运作——Pixar。

你有这些能力么?

微软的PM有着独特的历史和价值,正如Steven Sinofsky讲的:一直被拷贝,但很少成功复制……[注6] [注8]。新的技术浪潮和商业模式给IT人士提供了一波又一波的机会,了解PM的特点和要求,对想要进入这一领域的同学来说很有好处。

9.5.2  我是做PM 的料么? 在校学生如何为成为PM做准备

你是否觉得你的长处不在于写代码和debug,而是协调、沟通,让一个团队或组织有效运转起来?你是否喜欢表达,善于和各种专业背景的人沟通?你是否经常思考如何改进生活中点点滴滴的小问题?你会思考这样的问题么:新浪微博、豆瓣、qq、微信都可以社交,它们的定位、产品特性、用户群、解决的需求,有什么不同?你是否对以下领域感兴趣,甚至自己找过相关的书来看:心理学、社会学、组织行为学、统计学、商业模式?

如果你的答案是yes,那么我看好你的PM潜质。

 

在校学生可以通过下面的方式锻炼自己的 PM 能力:

- 参加多种社团并组织一些活动,最好是草根的活动,而不是由上而下规定的活动;

- 选修各种相关学科的课程

- 争取在实际的企业中实习

- 和小伙伴一起,搞点小生意,小创业

 

9.5.3 生活中的三元组举例

我们说过, 大部分优秀的团队可以做到目标三元组 (多,快,省)中的两个,类似的三元组还可以用来说明各种商品或活动的不同特性, 例如,如果你和你的小伙伴想周末去某地旅游,交通工具的选择也可以用一个三元组来权衡(快速,灵活,便宜)。请分析各种交通工具的特性(长途汽车,火车,自驾,飞机,自行车,等)。


 

9.5.4 带领团队剖析现有软件的问题

  http://www.cnblogs.com/xinz/p/3308608.html

      公司的最高领导如何看 PM 的作用? 你觉得下面的说法有道理么?

      http://www.weibo.com/1657236125/BtDnHzTrs

 

9.5.5 PM 和乐团指挥,dev lead 和独奏演员

有人说,PM 既不懂开发,也不太懂测试,但是他们似乎指挥了团队的行动  -- 就像乐团的指挥一样。那么,那么乐团的指挥凭什么能让几十号人的乐团都听他的呢?     他们到底懂多少乐器,他们写过音乐么? 乐团指挥是怎么培训,怎么培养的呢? 他凭什么就能拿一根筷子就在台上指手划脚? 同样, PM 和一帮开发人员合作,PM 和开发领导 (dev lead)是什么关系,听谁的?

http://weibo.com/1826246840/E7jVrxI6n?type=comment#_rnd1473453120840

团队的PM (或者所有成员)去采访一个乐团指挥和独奏演员 (独奏小提琴家,钢琴家等),回答这些问题。  

 

9.5.6 PM 和风险控制

PM 和一些小伙伴做项目,就像一个创业公司一样,但是PM 要留意各种风险和失败的原因。下面是市场上创业公司失败的前几个原因,学生团队对这些风险有没有准备?

另外,我们现在做的具体项目也许从某些方面来说是前无古人的 (例如用到了某个新语言的特性),但是,类似的项目前人已经做了很多次,并且总结了很多经验。 PM 能否理解和运用这些经验, 请看 《快速软件开发》第三章中的典型错误。





本文转自SoftwareTeacher博客园博客,原文链接:http://www.cnblogs.com/xinz/p/3855189.html,如需转载请自行联系原作者

目录
相关文章
|
5月前
|
监控
软件复用问题之软件工程中事中缓释,如何解决
软件复用问题之软件工程中事中缓释,如何解决
|
6月前
|
Devops 测试技术 持续交付
软件测试中的敏捷实践:从理论到应用
在软件开发领域,敏捷方法论的兴起已经彻底改变了项目的开发和测试流程。本文将深入探讨如何在软件测试中实施敏捷实践,以及这些实践如何提高产品质量和团队效率。通过引用最新的行业报告、科学研究和统计数据,文章旨在为读者提供一套清晰的指导框架,帮助他们在软件测试过程中实现敏捷性。
99 0
|
敏捷开发 算法 安全
如何写出高质量代码:特征、编程实践技巧和软件工程方法论
如何写出高质量代码:特征、编程实践技巧和软件工程方法论
|
测试技术 程序员 开发者
【软件工程】第六章
【软件工程】第六章
|
数据库
【总述】软件工程
学习软件工程的原因:在之前学习用VB语言实现学生信息管理系统,自己独立设计机房收费系统,这些都是在培养我们这些“土八路”“门外汉”对计算机学习的兴趣。随着计算机知识在我们大脑中的不断积累,我们需要向“正规军”进发,即正式成为一个编程人员。我们粗略学习了编程语句规范,自然要了解学习编程的目的。所以,软件工程这个阶段的学习出现了。
|
测试技术
【软件工程基础】需求工程
【软件工程基础】需求工程
156 0
|
测试技术
【观点】开发人员的测试悖论
译文出自:伯乐在线
615 0