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

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

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

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

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

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

  一、认识问题

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

  二、搭架子

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

  三、分解工作

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

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

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

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

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

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

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

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

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

相关文章
揭秘成熟互联网团队:团队成员包括哪些岗位?
揭秘成熟互联网团队:团队成员包括哪些岗位?
471 0
艾伟也谈项目管理,说说我们项目组的考核
  周六又被老板招呼去开会,烦!在会上,老板说要对我们软件部实施绩效考核,并要求我们几个项目经理在一起商量下,把具体的实施细则给敲定下来。结果我们几个经理们在公司会议室一直讨论到晚上八点多才大体弄出个实验品来,准备周一就开始在软件部开展实施。
1296 1
艾伟也谈项目管理,项目经理要如何看待技术?
  当上项目经理后,技术人员往往对自己的定位失去了感觉。其中最令人困惑的就是自身原有的技术标签,撕了也不是,因为技术还不能丢,贴着也不是,因为个人的成败往往决定于自己对团队的管理,而不再是自己的技术。  想要从这种困惑中摆脱出来,首先就要搞清楚下面几个问题:   Question 1——项目经理职位对技术到底有什么要求?  Answer:  想把项目管理工作做到点子上,两个观点要明确:  ①技术不是必须项。
982 0
艾伟也谈项目管理,在团队中如何推行一项新的实践
在一个老团队中,推行一项新的实践是非常不易的。     如果要求,每天10点站立会议增强团队成员之间沟通。大家会心里先衡量一下,恩,不就是每天站个十几分钟,自己说几句话,然后听别人说嘛,不难做到。
1149 0
艾伟也谈项目管理,我也发软件开发团队的思考(侧重点是人员)
  //上个月给我们老板的mail.洋洋洒洒6000多字.  //为了方便公开,改了一下.以致可能有些地方前言不搭后语.  //不管他同意不同意,先在我们组实行了再说.  //请多大家多提提意见,日后看有没有机会找老板当面交流  经历的几个项目,项目的进度老是不尽如人意。
1230 0
艾伟也谈项目管理,软件架构师之职责范围
  由于国内外软件土壤差别巨大,适合国外的一些理论在国内不一定行的通,而国内的一些资料往往都是根据国外的资料直接搬过来用的,这也直接导致国外的软件架构师在国内变得水土不服。今天本篇随笔的内容则是在一些培训资料的基础上,加上自己的思考,总结出来的适合国情的软件架构师职责范围。
1224 0
艾伟也谈项目管理,聊聊我们团队的绩效管理
  绩效管理对一个Team是比较重要的一项日常管理任务,如何做到团队内每个人的绩效得分公平公正,必须有一套行之有效的方法。下面我谈谈我们部门管理的一些方法,拿出来与大家分享,希望有相关经验的人参与讨论,说说你们的管理方法。
1094 0
艾伟也谈项目管理,项目管理 – 人员外购利弊谈
  昨天与同行进行案例讨论时得知,前2个月还被列为正面经典案例的项目到这次讨论时居然变成了反面典型,真可谓成也萧何败也萧何啊。   该项目是一个软件外包项目,发包方是非中国大陆的客户,项目规模在500人月左右,团队人数峰值为50人,实施周期为12个月。
1052 0
艾伟也谈项目管理,项目管理 – 人员外购利弊谈(续)
接上一篇文章“项目管理 – 人员外购利弊谈”。   以上方案只是初步分析,其缺点都是有相应解决办法的。  该公司对以上情况并没有使用DAR(决策分析解决方案)方法进行正式和认真的分析,仅仅从能快速启动和项目利润两个方面考虑来选择了最终的解决方案:项目经理由公司的技术和业务都掌握的人员担当;各小组的组长和测试组长采用人员外购的方式;项目组成员1/3由公司员工组成,1/3由实习人员组成,1/3采用外购方式。
1084 0
艾伟也谈项目管理,项目经理要向唐骏学习
  中国人性喜围观,然而在中国,大部分新闻并没有围观的价值,这未免让人失望。但是,只要是加上“唐骏”这个名字,新闻总是能让我们围观者觉得值,觉得得到某种满足,从这一点上来讲,唐骏牛!真的很牛!!   这一次,唐骏给大家带来的是“假文凭事件”,整个事件的发展,真是一波未平一波又起,可谓波澜壮阔,最后发展成为事关“诚信”的大事件。
1043 0