《软件工程实践者的思想(PDF格式)》第10章


现在你已经足够地观察了你的团队,你知道这个团队 
存在问题,你也知道你需要改变。当然,你也知道这种改 
变并不是放一根木棍那么简单。
你已经确定了组织结构,确定了组织中的角色,还有 
了一个团队(5 个?或者 10 个?) 的人。所以作为项目经理, 
你需要先分工。
在分工之前,那个团队只能算是一个没有组织与合作 
的群体(所以英文中群是 Group ,而开发团队是 Team) 。
被优先考虑的是弹性分工。每一个人都被要求做一颗 
革命的螺丝钉,哪里需要哪里拧。所以弹性分工总是被放 
在企业节省人力资本的第一要务上。然而我们真的会做弹 
…40
…………………………………………………………Page 45……………………………………………………………
『大道至简』
性分工吗?
蚂蚁的分工模式之一就是弹性分工。一只蚂蚁搬食物 
往回走时,碰到下一只蚂蚁,会把食物交给它,自己再回 
头;碰到上游的蚂蚁时,将食物接过来,再交给下一只蚂 
蚁。蚂蚁要在哪个位置换手不一定,唯一固定的是起始点 
和目的地。
确定被“弹性分工”的员工需要可以快速地转换到新 
的角色,但首要考察的并不是他是否“有能力”胜任这个 
角色。能力可以通过学习来增强,而角色的转换,则首先 
是思想的转换。
1997 年,P&J 的公司打算全面拓展市场,我随他一 
起到了成都。当时我是开发部的三个主力开发人员之一, 
因此在原定计划里,我是到成都组建西南区开发部(或技 
术中心) 。然而在两周之后,P&J 发现总公司的运作存在 
问题,因此他必须回郑州。P&J 决定将成都市场的问题全 
权交给我,换而言之,我必须出任成都办事处经理。
我对市场一窍不通,也不懂得公司的经营与管理。但 
很明显,做办事处经理不是做技术,这与我( 当时的)个人 
意愿是相背的。于是我拒而不受。理由也很充分:我不会 
做市场。
P&J 用了两天的时间来说服我,直到在临回郑州的前 
一晚我仍未能接受这个任命。这时他告诉我:即使是做开 
发,也是需要了解市场的,你必须知道用户想要什么,你 
必须理解你的客户。因此你如果想要做一个好的开发人 
…41
…………………………………………………………Page 46……………………………………………………………
第 3 章 团队缺乏的不只是管理
员,你应该正视这次机会。
我沉默了许久。我想明白了两件事:从公司的角度上, 
我必须接受这个职务;从个人的角度上,我需要接受这个 
职务。于是,我问了我的第一个问题:“什么是增值税发 
票?”
P&J 笑了。接下来我们开始讨论经营问题。第二天 
P&J 飞回郑州。五个月后我升任西南区总经理,一年后, 
西南区做到六个分区市场中业绩第二。此后我辞职回到郑 
州,再一次从开发人员做起。
“什么是增值税发票?”意味着从技术到经营的角色 
转变。这个问题本身带来的并不是能力的提升,但如果我 
提不出这个问题,我将没有可能理解经营与市场。
尽管弹性分工非常有效,然而真正做弹性分工却并非 
易事。蚂蚁的角色转换是本能的,而 P&J 却不得不花两 
天时间来说服我。因而更应当留意团队成员“自激”式的 
角色转换,知道他是不是真的想(而不是需要)转变一下角 
色,这样起码可以省去你两天的功夫。
然而能提问“什么是增值税发票”的愚公毕竟不是太 
多,大多数时候他们在“箕畚运于渤海之尾”,如果实在 
闲得厉害,他们可能会去发明翅膀,而不是思考“什么是 
增值税发票?”
更好的选择是明确分工,而不是弹性分工。你应该明 
白,重要角色的更替通常是极具风险的,例如项目经理或 
…42
…………………………………………………………Page 47……………………………………………………………
『大道至简』
者开发经理;频繁的开发人员的调度也会直接影响到工程 
的质量和进度。
如果所有人都在思考“什么是增值税发票”,那么你 
的组织机构将立即溃散。
因此,明确分工是你的管理职责。做管理≠做伯乐。
…43
…………………………………………………………Page 48……………………………………………………………
第4章 流于形式的沟通
“足下求速化之术,不于其人,乃以访愈,是所谓借 
听于聋,求道于盲。”
——唐·韩愈《答陈生书》
1。 客户不会用 C ,难道就会用 UML 吗?
我们总是要先接触客户的,是的,如果不这样,我们 
将无法确知要做什么。
作为开发人员,可能更希望客户能学习或者精通 C 
语言,这样客户就知道开发人员正在做什么,以及有多么 
地勤劳。或者,这样的客户还能以 C 语言的方式告诉开 
发人员他们究竟想要什么。
然而要求客户学习 C 语言明显是自杀式的行为。在 
客户( 的代表) 学会用 C 语言来向开发人员描述他们的需求 
之前,可能他就已经被老板开掉了。因此没有客户会笨到 
愿意用 C 语言来描述他们的需求。
C 语言是程序员与计算机交流的语言,而不是他与客 
户交流的语言。程序员面对的是计算机,但计算机不是客 
户。
因此在前面所提到的 R 模型中,开发人员最好不要 
…44
…………………………………………………………Page 49……………………………………………………………
『大道至简』
直接面对客户。项目经理有这样的一种优势:他可以不用 
了解 C 语言,也可以用一种非 C 的语言来与客户交流( 比 
如说汉语) 。
——或者你更愿意开发人员尽早地进入状态,那么你 
可以让开发人员以需求调研的身份出现在客户面前。但 
是,请注意这个人员的角色将变成“需求调研”,如果他 
不能适应这种转变,那就别让他去。——那会是灾难的开 
始。
要深入项目的需求阶段的项目经理或者调研人员,被 
要求深谙项目所涉的业务。但这往往我们所做不到的,因 
为我们是软件公司,而不是做这些(客户的)业务的公司。 
这时惯常的做法是聘请行业咨询公司( 或者个人) 来介入 
需求阶段,协助了解和分析需求。
他们总是很喜欢把事情搞得很复杂,所以他们会说这 
一切的过程有个专用名词,“En。。。 这叫需求建模”他们很 
专业地说。
现在你应该发现了差距。比如我们的项目经理,以及 
那个被调来充当调研角色的程序员,他们就不会什么“需 
求建模”。
接下来咨询公司会与我们的客户一起做业务建模,然 
后再做业务到
小说推荐
返回首页返回目录