艾伟也谈项目管理,技术领导的疑难:如何掌控其他成员的开发

简介:   如何将项目的开发掌控好是技术领导(Team Leader)必须做好的。何为掌控项目的开发,即开发的进度和质量在计划内,不在期限快到时慌手慌脚,也不需交期到时天天加班,更不能删减测试时间。总而言之,就是开发工作有节奏,按部就班到达预期目标。

  如何将项目的开发掌控好是技术领导(Team Leader)必须做好的。何为掌控项目的开发,即开发的进度和质量在计划内,不在期限快到时慌手慌脚,也不需交期到时天天加班,更不能删减测试时间。总而言之,就是开发工作有节奏,按部就班到达预期目标。

  理想总是好的,可现实总是残酷的。你有过每个周六都加班,每晚都加班的经历没?你有项目完不成,接二连三申请延期发布的经历没?你有过遇见过你委以重任,但他却误了你事的同僚没?如果你工作了一段时间,又恰好又有带过小队伍的经历。我想你应该也遇到过这些问题中的一个或几个吧。

  我当然也遇到过,一回是将一个很重要的功能组件重写的任务分派给一个新的团队成员,给予了我能给的最多资源,并将其他任何任务,可能的干扰源我都给挡了。但结果呢,开始我还满怀希望,因为他非常自信,也不断的给我好消息,比计划更快更好。但时间过去一半也就是约两个月后,痛苦开始来了,他创建了一个新的分支,因为接口变了,无法和其他组件集成构建,而这一切我之前竟然不知道。但离版本发布已经只有2个月时间了。这还包括测试。而该模块功能上都还只完成一半的样子,而且完全抛弃了原有做法。更惨痛的是两个星期后他离职了,面对不能集成,功能不全的半成品真是欲哭无泪。最后版本发布时,此过程中代码仅作参考,而使用旧代码修改版本,预期的一些功能没有,预期的效率提升没有,还加班一段时间。这也是我的软件开发历程中最大的遗憾。

  事后,我总结了该次技术事故的教训,但没有及时发贴。现在做一下简单的总结,如何避免此类事故的发生。

  一、认识问题

  在将较大的模块分配之前,必须确保模块主人明确了需求,了解了问题。很多程序员有一拿到问题立马动手的冲动,此时你至少应保证他看到了所有的问题。此步绝对不能省略,你不能假设他自己会去找需求,他能找到需求。你也应该将你对需求的认识,你从全局上的观点传递给他。

  二、搭架子

  在甩手出去的工作,尤其是较重要的模块给一个不了解的人的时候。必要的模块架构设计是不能少的,这个时候你可以了解他的思路;讨论中提升设计的质量;更重要的是可以从整体的角度评判设计是否合理,是否可以和其它模块较好的工作。同时还可以减少模块开发人员的困惑,减少独自摸索的时间。

  三、分解工作

  在架构设计的基础上,将工作分解开来,独立出来一段一段做。分解时最好和开发人员讨论,他在细节上可能会比你更清楚。

  a. 工作项的大小。从经历来看每个工作项1-2周比较妥当,时间太长不利于管理时间,也较难准确预估。太短又太细,而且有些事情又没那么容易做完做好,此外还可能涉及其他方面的修改。很多人习惯做完任务就不管了,也没有足够的时间测试,调整。

  b. 工作项的独立性。必须保证每个工作项的独立性,可以单独开发,单独集成。每一到两周将代码集成编译并做简单的集成测试(保证主体不受影响,新增功能有效)。

  四、及时跟踪设计,时间,代码

  先说设计上的跟踪,在新成员刚参与时。可以要求必要的设计文档,如类图,核心部分的序列图。再就设计与程序员讨论我们现有的设计样式,使设计与已有设计有一定的相似性。并可借此机会培养新成员的设计水平和设计方法。此讨论可以多讨论一些OO,设计模式什么的。不一定要用,但要有用的准备和用于不用的判断。

  时间上的跟踪,主要是每周的周会,周会上可以依照总的时间安排和工作进度一起简要讨论,让大家心中有底。此外还有每周的工作安排和回顾,新成员可以要求写细点,每周要有两到三个检查点,及时跟踪。出现问题可以及时发现。

  代码上的跟踪,主要是要求在最新代码上开发,保证有交互的组件可以正确编译。此外新成员要在开始一段时间对代码进行Review,保证编码符合规范。模式和已有代码一致。

  另外就已有组件的修改,可以要求逐步改进,使用桥接或其他方式逐个替换进新的模块。

  很晚了,先就想到这了,欢迎大家提出好的想法。到时我再抽时间补充完整。

目录
相关文章
|
数据采集 存储 运维
桂老师谈数据:做好五大准备,主数据项目顺利启航
我经常发现主数据项目实施过程中出现的一些问题,这些问题在一定程度上成为主数据是否成功实施,或者实施效果好坏的严重障碍
桂老师谈数据:做好五大准备,主数据项目顺利启航
|
云计算
5年时间,我从开发做到总裁的秘籍--如何提升技术型管理者的领导力
每一个技术人在职业生涯中都会走到这样一个路口,就是专心地在技术路上精深,还是转型从事管理岗位。本文讲述了从技术骨干到管理者过程中,需要提升的领导力是什么、怎么做获得,以及对处于人生转折期的技术人的一些建议,从而为读者深入浅出地解答了这个问题。
3504 0
|
项目管理
艾伟也谈项目管理,项目经理要如何看待技术?
  当上项目经理后,技术人员往往对自己的定位失去了感觉。其中最令人困惑的就是自身原有的技术标签,撕了也不是,因为技术还不能丢,贴着也不是,因为个人的成败往往决定于自己对团队的管理,而不再是自己的技术。  想要从这种困惑中摆脱出来,首先就要搞清楚下面几个问题:   Question 1——项目经理职位对技术到底有什么要求?  Answer:  想把项目管理工作做到点子上,两个观点要明确:  ①技术不是必须项。
949 0
|
项目管理
艾伟也谈项目管理,我也发软件开发团队的思考(侧重点是人员)
  //上个月给我们老板的mail.洋洋洒洒6000多字.  //为了方便公开,改了一下.以致可能有些地方前言不搭后语.  //不管他同意不同意,先在我们组实行了再说.  //请多大家多提提意见,日后看有没有机会找老板当面交流  经历的几个项目,项目的进度老是不尽如人意。
1152 0
|
测试技术 项目管理
艾伟也谈项目管理,在团队中如何推行一项新的实践
在一个老团队中,推行一项新的实践是非常不易的。     如果要求,每天10点站立会议增强团队成员之间沟通。大家会心里先衡量一下,恩,不就是每天站个十几分钟,自己说几句话,然后听别人说嘛,不难做到。
1092 0
|
监控 测试技术 项目管理
艾伟也谈项目管理,聊聊我们团队的绩效管理
  绩效管理对一个Team是比较重要的一项日常管理任务,如何做到团队内每个人的绩效得分公平公正,必须有一套行之有效的方法。下面我谈谈我们部门管理的一些方法,拿出来与大家分享,希望有相关经验的人参与讨论,说说你们的管理方法。
1034 0
|
架构师 项目管理
艾伟也谈项目管理,个人管理:写书之前应该回答的几个问题
  我在06年和一个同事写过一本Delphi入门的示例书籍Delphi数据库通用模块及典型系统开发,当时体会到了写书不像想象中的简单,基本上业余时间都没了,所以我之后就不想出书了,其中更重要的一个原因是,我还没有找到一本真正想与大家分享并且自己能写出来的书籍。
1237 0
|
机器学习/深度学习 人工智能 安全