软件经理基本素质
是什么造就一个优秀的软件经理?
作者: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件事可以调整――资源、功能规格、日期和质量。如果每次在计划一次发布时,为了安排日期你都回头做同样的事,你的公司可能失去平衡。例如:
· 如果拿掉太多的功能,你将得不到一个有竞争力的产品
· 如果你添加太多的功能,你不能安排好日期
· 如果过于忽略质量,你将得到不好的声誉
· 如果你一直等到产品完美,你将错过市场
· 如果你安排工程师总是加班,他们将耗尽精力
· 如果你加入太多的资源,你将缺少金钱
· 如果你延误进度表,这会为销售团队制造困难,并且可能错过市场。
当你正确地定义你的产品或一次发布并且积极开发,但没有可完成的进度表,你可能发现阻力。这个行业习惯于不合理的进度表和不合理的目标,许多人可能认为你的团队没有在努力工作。(所以合理的进度表是必须的)
通过创建能够长期服务的团队和产品,公司和顾客是很好服务的。你应该是敢作敢为的,并且要求你的开发者做到最好,但你不能把他们作为资源滥用。
结束语
显然,这里提出的每一个问题都可能派生更多的问题,花点时间回答它们,并且聪明地管理它们。
分享到:
相关推荐
本资源总结了软件测试的基本概念、原则、意义和作用,以及测试人员的职责、素质要求和技术要求。 一、软件测试的基本概念 * 软件测试是为了发现程序中的缺陷,通过执行程序来发现错误。 * 轟测的目标是尽可能多地...
本文将深入探讨软件项目经理的18种实用技能,这些技能不仅适用于售前阶段,也适用于售后支持,从而全面提升项目经理的专业素养。 1. **项目规划**:项目经理需要熟练掌握项目管理工具,如甘特图,制定明确的项目...
- **人力投入与素质问题**:软件测试人员数量相对较少,并且人员的技术水平参差不齐。 **技术层面的问题**则有: - **文档缺乏**:软件开发过程中往往缺乏完善的文档支持,导致测试用例难以设计。 - **可测试性...
### 软件工程应具备的素质 在当今快速发展的信息技术领域中,软件工程师作为核心力量,其专业技能与综合素质对于项目的成功至关重要。本文将基于提供的文件内容,深入探讨软件工程师应当具备的关键素质,旨在为即将...
首先,执着是项目经理的基本素质之一。在软件开发流程中推行各种规范和管理制度的时候,可能会遇到各种阻力和障碍,这时需要应付挫折的思想和准备。如果没有坚持,谁也不会坚持下去的。只有坚定信念,努力打动别人,...
- **基本素质**:包括良好的沟通能力、批判性思维、耐心和细致等。 - **专业素质**:掌握软件工程基础知识、熟悉测试理论、能够设计有效的测试案例和测试策略等。 - **测试工程师分类**:按职责和专长不同,测试...
非技能方面的经验往往涉及软技能,如领导力、决策能力、沟通技巧和团队协作能力,这些都是软件工程师转行项目经理时需要强化的素质。 在实际操作中,项目经理不仅需要掌握这些理论知识,还要能够灵活应用,根据项目...
软件开发常常面临紧迫的交付期限,测试人员需要在这种环境下保持冷静,同时,与开发团队、项目经理等各方有效沟通,确保信息传递准确无误。 团队经验共享是提高整体测试效率的重要手段。测试人员应积极参与团队的...
在这里,我通过我担任项目经理期间所遇到的种种现象,来总结项目经理所必需具备的素质,当这些素质您不具备的话,就需要花费多年的努力来培养他,如果无法培养成功,那么请您转换岗位,因为项目经理不适合您,您难以...
软件测试工程师需要具备良好的素质和技能,包括基本素质和专业素质。基本素质包括良好的沟通能力、团队合作能力和分析能力等。专业素质包括软件测试技术、软件开发技术和项目管理技术等。 软件测试的误区 软件测试...
本文将根据提供的部分内容,介绍几本有助于提升产品经理综合素质的书籍,涵盖技术、商业策略、社会学等多个领域。 #### 二、书籍推荐 ##### 1. **《理性乐观派:一部人类经济进步史》** - **作者**:马特·...
本岗位说明书详细阐述了软件实施项目经理的主要职责、任职资格以及所需技能和个性素质。 一、岗位职责 软件实施项目经理的主要工作包括: 1. 制定工程实施计划:项目经理需要根据项目需求和资源,规划出详细的...
根据提供的文档内容,我们可以从中提炼出关于软件项目经理简历的关键知识点,包括简历的基本结构、关键信息以及如何有效地展示个人能力和经历等内容。以下是对这些知识点的详细阐述: ### 简历的基本结构 1. **...
5. 基本素质:大学本科及以上学历,计算机及相关专业,认同公司文化,有敬业精神和团队合作精神,遵守公司规章制度。 6. 个性特征:性格开朗、自信,具备出色的沟通能力,心理承受能力强,敢于面对挑战和压力,有...
在“程序员与程序经理”章节中,林锐博士讨论了作为程序员所需的基本素质和技能,以及作为项目经理需要掌握的管理技能和项目领导能力。 “项目计划与质量管理”章节则强调了项目管理过程中的计划制定和质量控制的...
本书的目标是让读者用很短的时间就能掌握软件配置管理的基础知识,在参与软件开发时,具备软件配置管理方面的基本素养。 软件配置管理为软件开发提供了基础性的支持环境,它与软件开发中的所有角色都有联系,因此...
通过上述知识点的梳理,我们可以看出,华为项目经理面试题旨在全面考察应聘者在项目管理领域的综合能力和素质。准备此类面试时,应聘者不仅需要掌握项目管理的专业知识,还需要培养良好的沟通、决策、问题解决及团队...
#### 一、软件工程的基本概念与重要性 《软件工程思想》这本书讲述了软件开发的核心理念以及如何成为一名优秀的程序员。它强调了软件工程的重要性,尤其是在解决“软件危机”方面的作用。随着计算机技术的发展,...