项目管理入门著译非程序员杂志第期当你预期的那一天也许是害怕的那一天终于来到了从工程师的队伍里你被提拔到了软件项目领导或者团队领导的位置这也许就是你选择的职业道路或许你不太情愿将就尝试一下无论在哪种情况下你都可能缺少工程学科人员管理以及领导能力的相关教育这需要更多的领导能力和管理它们不是一回事而不能象译注著名漫画主角那样简单地和老板对抗了当你考虑新的目标时请考虑下面的活动计划列表一次就抓住了每个亮点这是不可能的但是这份建议说明可以帮助你将注意力放在可以提高你和你的团队绩效的活动上建立优先级作为经理首先要做的最重要的事是你需要有意识地建立优先级当你仍陷于繁重的软件开发活动中时你需要一套新的职责过多的经理新手不能抗拒技术的吸引而陷于此类活动这将导致项目组的其他人员想要获得经理的帮助时却得不到帮助有成效的领导知道他们首要的任务是为其他组员提供服务这些服务包括训练和指导解决问题和冲突提供资源建立项目目标和优先级提供适当的技术指引要使每个组员都能清楚的知道你总是可以帮助他们我发现将自己定位于为被我监督的人工作是非常有意义的而不是相反的在你所作的事情中对于组员要求你帮助他们这件事应该具有非屏蔽中断的优先级第二重要的是使你的客户满意作为一名经理没有直接的能力使客户满意因为你已不再是作为个人提供产品和服务完成这点相反你必须建立一种环境准许你的组员最大程度上满足客户的需求经理提供了强有力的方法有效地提高客户的满意度第三重要的是为你的项目工作因为也许还有其他许多技术上的项目或者其他经理的请求帮助诸如为指导委员会工作当这些和二个高级别的发生冲突时都要准备推辞掉很明显使其他经理满意的事情是你最不重要的事情在一个有秩序的组织里如果你在三个以上的重大环节上获得了成功其他的经理都会很激动的我们并不都能很幸运地工作在一个良好的环境里但一定要对你任务单上排在最前面的工作任务努力尽到最大的责任集中精力有效地快乐地尽可能地帮助你的组员不要将精力放在使你上司满意的上面分析你的技能差距除非你已经为新位置做好了准备否则相对于你当前的领导能力和管理技能你会感到一些差距出色的技术背景或许是你被选为领导角色的一个因素但是你要想干得出色你需要更多的技能针对别人的评论和项目真实地列出你的长处和短处然后减少差距软件人员并不以令人满意的人际关系技能出名你会希望增强处理人际关系的经验解决冲突说服以及灌输想法你也不得不处理包括招聘解雇商谈计划表以及在你的办公室里评论某人业绩使其伤心落泪等一些事务我发现从一堂倾听技能课开始我的管理职业是非常好的当作为个体提议人积极地将我们自己的技术议程提交小组时我们经常对此感到非常惬意有效的管理要求更多的合作和善于接受的人际关系方式要花点时间学习如何何时巧妙地引导自己的自然判断倾听技能课提供了一种交流机制我已经发现在许多场合下都很有用接着到讲台的另一侧提高你的演讲能力如果你真的不适应公开场合的讲话学习戴尔卡内基的课会有帮助的你会发觉通过这样的培训获得的经验以及获得提高的交流能力都可以帮助你更好地适应将来的工作作为项目领导为了计划和跟踪项目以及当需要项目回退而采取修正措施时你有责任调整其他人的工作参加项目管理的培训课阅读一些有关项目和风险管理的书籍和文章参加项目管理学会阅读其月刊的软件能力成熟度模型对于软件项目计划和项目跟踪提供了很多有用的建议建立优先级的能力控制有效果的会议清晰的交流对于你作为一名经理的绩效将会有实质上的影响定义质量几乎每个人都会认真地对待质量问题而且都希望生产出高质量的产品然而对于软件的质量含义没有一个统一的定义传统上的软件质量观点和足够好的软件观点有着激烈的争论为了帮助小组走向成功需要花一些时间和你的组员客户共同探讨质量的含义这两种阵营在思想上经常不会有相同的定义可以很容易的就不同目的开展工作关注交付计划的经理对于想正常地检查每行代码的工程师会不耐烦的认为可靠性非常重要的客户对一个带有很少使用但带有很多的特性的产品是不会满意的一个很好的也许会让用户厌烦因为用户已经熟记了如何有效地使用前一个版本的产品为了更好的理解客户对软件质量的看法在我的小组曾经邀请了我们的客户和他们的经理就这个议题在一个开放的论坛展开讨论这个论坛是很有意义的那些使用我们产品的人有着自己的理解通过讨论我们可以知道我们制定质量的思路有哪些和他们是不相符的明白了不同就可以使你集中精力照顾客户的最大利益而不是使开发人员获得最大满意软件质量的传统描述包括要与说明书一致满足客户的需求代码和文档没有缺陷六个质量这个流行词建立了一个非常高的尺度用于监测失败的频率和密度但它不适用于如快速产品交付可用性充足的特性集已支付价钱的交付意义这样的质量尺度对于我们生产和购买的产品我们总是热衷于尽可能涵盖所有的这些质量特性然而妥协总是必须的在一个项目的需求阶段我们制定了包括十项质量属性的一个列表如效率协同性正确性以及宜于学习我们认为这对于用户来说是最重要的我们请客户关键人物代表小组以到的尺度评估每项属性一旦我们决定了哪些属性是最重要的我们就可以设计并实现这些目标如果你在了解了对于客户的质量含义并在设计实现质量属性的过程中没有麻烦的话而且客户对质量属性表示满意那你是很幸运的在众多关注的质量说明中我曾听到过一个客户回来了但产品没有和你的客户开发人员一起对每一个产品都确定适当的质量目标一旦决定了就给出达到质量目标的明确的最高优先级以身作则按很高的质量标准要求你自己的工作采用这个座右铭力求尽善尽美满足于优秀表彰成绩对你组员成绩的表彰和奖励是激励他们的一种很重要的手段除非你的小组中已经有了一种表彰程序否则这应是你最重要的事情之一表彰包括象征性的东西证书旅游奖励以及实际的东西电影票餐馆礼品券兑现奖在送赠品时要说一些亲切的话语感谢你所给予的帮助或者祝贺取得了成绩在表彰和奖励上花费很少的心思和钱就可以获得很多的友好和将来的合作包括客户代表以及为项目成功做出过贡献的支持人员等等开发组外的人员也可以获得表彰和你的组员讨论了解他们感兴趣的表彰和奖励的方式使得无论大小成就的表彰活动成为小组文化的一个标准组成部分对每位组员对其所作的工作表现出发自内心的兴趣也要给与含蓄的表扬为消除所有影响他们战斗力的障碍尽你的力量表彰是展示组员以及小组外的其他人的一种方式你要知道并感谢他们为小组成功所作的贡献学习过去你的小组在过去承担的一些项目有可能没有取得完全的成功甚至在成功的项目上我们也能经常认为一些事情我们下次会作得更好当你进入了新的领导角色需要花点时间了解早期的项目为什么失败并要计划避免犯同样的错误对于软件开发每位经理花时间处理每种可能要发生的错误是非常困难的学习过去的成功和失败就是个成功的开始可以从过去你们小组承担的一个没有经过检查评估的项目着手不要管其成功还是失败实施项目后的回顾有时称作事后调查分析你的目标不是判定责任而是为了在将来项目中作得更好借此可以了解什么已经作得很好什么应该作得更好在当前每个项目的主要里程碑时通过集体讨论或公平的组织者用同样的方式领导小组用头脑风暴的方式对其展开分析另外要了解领悟已有的软件工业的最佳准则一个好的起点是的获奖作品快速开发的第三部分叙述了个最佳准则也要避免叙述的个常见的软件开发错误你的组员也许反对新的工作方式但是你的角色是作为一名领导要确保团队一致连续地使用最佳可用的方法过程和工具积极促进组员之间的信息共享这样局部单个最好的实践经验就能成为每个开发人员的工具箱的一部分建立改进目标一旦你对过去的项目建立起了回顾确立了质量对小组的意义你就要建立短期以及长期改进的一些目标目标要尽可能量化所以你要划分几个简单的阶段标明你是否采取了适当的过程朝着目标前进例如如果你认定由于需求的不稳定导致项目经常延期你可以建立一个改进需求稳定的目标在个月内提高这样一个目标需要你确切知道每周或每月需求的变化数清楚他们的出处采取行动控制那些变更这可能要求你要改变与那些提交需求改变的人的交流方式你的目标和阶段是软件过程改进程序的组成部分你要使之有序作为缺乏创造力的官僚主义的最后避难所轻视过程很流行虽然事实上每个小组都能找到改进其工作的方式当然如果你总是用已有的工作方式工作你也就不要期望你会得到比以前更好的结果有两个强烈的原因要求改进过程校正问题防止问题确保你的改进努力要围绕着已知的或可预知的可能威胁项目成功的问题领导你的小组找出当前正在使用的方法的长处和短处以及项目面临的风险我的小组召开了一次两段式头脑风暴练习来确定改进软件生产力和质量过程的绊脚石在第一次会议中参会者在便条上写出他们关于会议主题的想法一个便条一个想法组织者将他们写在便条上的想法收集上来并分组最后我们就会得到一打主要的分类并将其记录到活动挂图上第二次会议相同的参会者在便笺上写出解决这些障碍的思路并贴在挂图的合适位置进一步细化归纳出一些详细的活动就可以成为我们努力的一部分清除障碍帮助组员实现软件的质量和生产力的目标建立可度量和可达到的目标便于你集中精力实现改进要使目标具有明显的优先级并可周期性地监视过程记住你的目的是提高你的项目和公司完成的技术和业务上成功不要满足于一些过程改进书籍里提到的期望细节要把改进的工作视为迷你项目具有可分发资源计划和有责任的小项目否则过程改进活动将总处于比诱人的技术工作低的优先级上缓慢的开始这篇文章提供了许多建议帮助你一位软件经理新人带领你的小组走向伟大的成功在日复一日新的工作压力面前要努力保持你的头脑清醒在长时间的塑造软件开发小组的文化和习惯上你还是个非常重要的角色你不必一次性都作完可以选择跟环境最相关的的几个开始作为软件经理除了项目要按时按照预算完成外你要担负的责任还很多你还要领导技术人员将他们形成一个具有凝聚力的团队建立协同团队工作的环境鼓励和奖赏高级软件工程师的实践应用平衡来自客户公司组员和你自己的需求这是项重大的任务祝你好运