论坛首页 综合技术论坛

软件经理基本素质

浏览 4587 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2006-08-23  
软件经理基本素质

是什么造就一个优秀的软件经理?

作者:Mark I. Himelstein     翻译:tianxinet(胖猴)--最近致力于研究、介绍一些“最佳实践”

多数软件经理并非一开始就是经理,而是作为一个开发者开始他们的职业生涯。

作者简介:Mark是一个在软件行业有25年经验的软件管理顾问。

--------------------------------------------------------------------------------

译者注:
执行力、沟通,多数软件经理都不会忽视这两个问题,有关注未必就已经做的很好,那么怎样考查呢?文中给出了一些参考,有经验的软件经理其实完全可以自己给出一些问题来进行考查,只需要不时静下心来理一下。
授权,很多软件经理的反应可能是“这是大团队的事,我的团队很小,不需要授权”。这是错误的。

--------------------------------------------------------------------------------

多数软件经理作为一个开发者开始他们的职业生涯。他们或者有一些抱负、一些公认的良好管理素质,或者“在正确的时间待在正确的地方”,我认识的软件经理没有一个是通过培训成为经理的。

经理们为多个对象服务:顾客、公司、他们自己的经理、他们的雇员、以及他们自己――并且每个人都想告诉你什么是一个(他们认为的)好经理,你得平衡这些费神的事。

例如,当我为Sun公司面试一份“running Solaris Engineering”的工作时,我问参加面试者他们对成功有什么想法,我得到的(比较少见的)答案是如果他们被更好的管理,就会成功。

那么迄今为止我们得到的:你不是,或者可能不是瞄准这样一份工作--有太多的或者不知道想要什么,或者什么都想要的上司。(因为你希望更好的被管理)

执行力(Execution)

这里有10个可以让你评定自己执行力等级的问题:

1.你有顾客的需求吗?

2.你有一个核准的预算吗?

3.你有一个核准的roadmap吗?

4.你有一个核准的进度表吗?

5.你在及时交付你的产品吗?

6.你以适时的方式雇用开发者吗?

7.你的团队有能力处理变化吗?

8.你有能力让你的团队关注并抵御变化吗?

9.你的顾客在交付的产品上遇到大量质量问题吗?

10.你和你的团队定期估量怎样把你们的工作做的更好,去发现提高的方法了吗?

有人曾经问过我,当管理者要求一些不合理的或不可能的事情时他们应该怎么做。我的答案有两部分:首先你必须确定管理者是见多识广的,并且理解这些要求是不合理的或不可能的;第二,你必须决定你是否能够拒绝。如果你不能,那么你需要检查一下自己的职业选择。

当答案的第二部分或更戏剧性的答案抓住你的注意力的时候,是答案的第一部分引导我们到下一个基本技巧――沟通(communication)

沟通(Communication)

作为一个经理,你必须和你服务的每一个人沟通。对每一个影响你和你的团队的事件,你都应该考虑和谁以及怎样沟通,无论它是积极的还是消极的。

你也必须用不同的方法和不同的人(及状况)进行沟通。例如,你可能向你上司的上司做正式的陈述,但是更多的向你的直接领导做非正式的报告。或者你可能email协议书给你的同级,但是需要面对面的向你的开发者解释协议书的原则和含义。

这里有10个可以让你评定自己沟通能力的问题:

1.你的团队理解公司的战略吗?

2.你的团队理解工程的roadmap吗?

3.你的团队理解roadmap怎样和战略相接吗?

4.你定期的与你的团队开会或email沟通吗?

5.你团队的成员愿意告诉你坏消息吗?

6.在从其他人那里听到之前,你从你自己的团队那里听到关于你的团队的信息了吗?

7.你团队的成员以有礼貌的(尊重的)方式互相沟通,以及与公司的其他人沟通了吗?

8.在你的上司来问你之前你把情况提供给他/她了吗?

9.公司的其他人知道你的团队正在做以及实现什么吗?

10. 你以积极的方式沟通吗?

怎样沟通与沟通本身一样重要。你讲话的态度、对沟通对象的尊重、身体语言与声音的变化、措辞都影响到你能否沟通的好。玩世不恭、讽刺和消极性都会消除掉你可能通过沟通得到的所有好处。

与开发者不同,你工组的一大部分是与人们交互。你必须沟通,你也必须展示你怎样对待你的团队和同僚。

授权(Empowerment)

你不能自己做所有的事,你必须发展一个能培养下一个经理、leader的组织,一个能够集中精力、创新、成功的组织。

你应该与你的团队沟通需求、工作去制定计划,然后让他们执行这些计划。如果你(总是亲自)下命令并且“事必亲躬”,你的团队不会成功。他们必须有“主人翁(ownership)”的感觉,只有你能让他们有“主人翁(ownership)”的感觉。

这儿有10个授权的问题:

1.你的团队花精力制定进度表了吗?

2.你避免过细管理了吗?

3.你委托任务并且让你的报告没有干涉的进行下去了吗?

4.你让你的下属弄清楚他们应该负责什么了吗?

5.你给你的下属提供领导机会了吗?

6.你的团队在处理问题中有紧迫感吗?

7.你给你的下属设置清晰的角色和职责了吗?

8.在回家度周末前,你的团队的所有成员知道每星期他们应该完成什么吗?

9.你的开发者理解(经理的)责任和过细管理的区别吗?

10. 你的开发者认为你们的组织有积极的工作环境吗?

授权也需要有责任,如果你没有检查和权衡的来委托,你和你的团队可能永远完不成目标。许多开发者把(经理的)任何责任都当作过细的管理,你必须纠正他们这种观念。

这儿有一些你正在过细管理的征兆:

·   忽视先前意见一致的报告,更频繁的过问情况

·   为错过交付发火

·   经常改变工作分配

·   控制执行而不是需求

你必须给人们一个在积极环境下工作的机会,你需要把问题看作只是一件需要去解决的事情,你需要创造信任以便你在过问情况时得到实情。授权也意味着让你的下属制定自己的进度表,当你为一次发布设定了目标,你必须调整发布的内容目标、发布的时间目标,以及手中资源的不一致。

在制定进度表时你总是有4件事可以调整――资源、功能规格、日期和质量。如果每次在计划一次发布时,为了安排日期你都回头做同样的事,你的公司可能失去平衡。例如:

·   如果拿掉太多的功能,你将得不到一个有竞争力的产品

·   如果你添加太多的功能,你不能安排好日期

·   如果过于忽略质量,你将得到不好的声誉

·   如果你一直等到产品完美,你将错过市场

·   如果你安排工程师总是加班,他们将耗尽精力

·   如果你加入太多的资源,你将缺少金钱

·   如果你延误进度表,这会为销售团队制造困难,并且可能错过市场。

当你正确地定义你的产品或一次发布并且积极开发,但没有可完成的进度表,你可能发现阻力。这个行业习惯于不合理的进度表和不合理的目标,许多人可能认为你的团队没有在努力工作。(所以合理的进度表是必须的)

通过创建能够长期服务的团队和产品,公司和顾客是很好服务的。你应该是敢作敢为的,并且要求你的开发者做到最好,但你不能把他们作为资源滥用。

结束语

显然,这里提出的每一个问题都可能派生更多的问题,花点时间回答它们,并且聪明地管理它们。
论坛首页 综合技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics