项目团队的领导


前言:人员定义
开发人员:那些做软件开发工作的人。他们做出具体的技术决策,从事设计,编码,测试,文档编写等工作。对于自己所从事的开发领域负责,但不必对整个项目负责。

团队领导:那些做出关于软件项目的结构,设计,编码等技术决策的人。主要负责整个项目的技术上的成功,指导和检查其他团队成员的工作,负责软件产品的质量;有广泛的,先进的开发经验,或许要亲自进行软件开发工作;在一个小型项目中,可能也充当项目经理的角色。

项目经理:负责计划,预算,与管理层联系,与客户谈判。不做开发工作;可能要指导好几个团队领导开展工作;主要负责项目按时,在预算之内交付。

第一章 项目初期
1,需要进入角色
按照规定的步骤,进行工作,不要找借口忽略某一步骤。
“有效”(做正确的事情)远远重于“有效率”(做的快),明白这个道理很重要。

2,获取信息
尽可能多的了解项目有关的信息。
不仅要了解技术方面的问题,还要了解项目存在的原因;分清楚那些是客户真正重要的和关心的。
找相关的人员谈话,了解每个人的情况。
如果早期就投入了过多人员,一定要设法让团队成员忙碌起来,让他们设计基础的架构或者做技术调查,也可以利用这个机会让他们学习新的技能。(团队成员所做得工作并不是百分之百地对项目有用,不过没有关系)

3,结构和框架
A,结构,是指项目解决方案的模块化结构,包括:如何把软件分解为客户机程序,服务器,程序库和元件(大的模块划分等)。
决定使用何种结构不仅和技术有关,还和人有关,要清楚的知道每个部分将被如何开发,谁将做这方面的工作,至少知道做这份工作需要什么样的技能。采用何种结构的决定往往不是取决于纯粹的技术问题,而更多的取决于现有人手的技能,组织对团队的安排。
 
B,结构完成,就应该创建编码框架。
创立框架意味着每个人都拥有一个可供填充的编码框架,这样能减少每个人的思考范围,也能减少出现混乱的可能性。
在框架中展示出你所期望的编码风格,(组织良好的,清晰的,有详细注解和大量错误监测的编码)

4,详细计划
整理出详细地计划(工程表),基于项目的结构核对团队成员能力和兴趣的了解,为他们初步分配工作任务。
如果估计项目无法按时交付或者超出估价,必须向管理层阐述计划,并说明需要的是更多的时间还是更多的资源。
需要做一个合理的计划,避免屈于压力做一个不切实际的计划。

第二章 项目进行阶段
作为团队的领导,在项目初期需要筹划整个项目,工作比较繁忙;但是在设计-编程-测试的时期,随着式样的渐渐稳定,团队成员围绕着结构框架和计划在一起工作,此时将进入团队领导的“高原”时期。因为在这个时期,团队不像以前那样需要领导出来组织工作。
(这个时候,可以干些什么,应该干些什么,过去一直是我的疑惑。)

如果有时间,可以自己做一些编写程序的工作(如果自己非常喜欢的话)。然而,必须始终记住做为领导的责任是放在第一位的。因为团队中其他任何人都不需要去做领导工作(而其他人是可以做编制程序的工作)。
 
这个时期主要任务是:
1,清除障碍。
    考虑将来可能遇到的问题,在这些问题困扰团队其他成员前把它们解决掉。
    培训需求,需要提前考虑。
2,让每个人都有用武之地,并让他们协同工作。
3,捍卫设计。
    防止任何人在设计时走捷径。这种事情可能会损害结构或减少结构的闭合性。
4,向管理层和客户汇报项目情况。
    让人们意识到存在的问题。要让你的项目脱颖而出,同时也要维护你的团队成员。
5,和其他项目负责人,部门和组织进行联络和商谈,以寻求所需要的帮助和资源,同时让人们注意到这个项目。
6,从组织内部或外部召集专家和顾问,只要认为他们的帮助将对这个项目有好处,就去请教他们。(外部的,需要同他们有良好的关系基础,确保不用付出过分的费用)
7,做些小的,日常性的技术决策,或者授权别人去做这些决策。
8,保持项目井然有序。
    做好配置的的管理。
9,把握项目的正确方向。
    有必要的话,把错误全部纠正过来。不能纵容项目偏离正确的发刚。
10,决定何时发布进展。
    包括项目中的内部发布,同时还需要决定发布的内容。
11,在认为适当的时候对设计,编码以及文件纪录进行检查。
12,更新式样,测试式样,设计书等等。
13,处理各种式样变更,资源问题,以及其他干扰原定计划实施的因素。
14,在必要的时候召集会议。
15,指导并关注团队的其他成员,特别是一些初级水平的成员。
    关注他们工作的方式。如果有必要,可以清楚的像他们说明如何使用工具,应该遵循什么样的步骤和程序。
16,通过授予成员一定的责任和鼓励他们参加必要的培训来促进成员发展。还要让自己的知识能跟上潮流。
17,负责人事问题。
18,是的项目运作具有社会意义。
    领导应把整个团队成员结合在一起。
19,保证充分的检测和文件纪录。
    计划一下如何对工作进行检测,如果合适的话,要检查测试的细节。
    对其他人的工作进行单独的检查以了解他们的所做所为,并指出在编码中可能出现的质量问题。
20,及时调整计划。
    了解项目在约定的交付时间内的进展情况,必要的时候与客户和管理层共同调整项目内容,资源或时间表。如果有必要的话,可以让团队成员加班工作。
21,确保正确执行公司的工作程序。
22,完成那些别人不去做的工作。
    团队的工作通常无法完全安排给每一个人,很可能某种特定的任务就没有人去做。这种情况下,这些工作就落到了自己头上。身为领导,必须非常灵活地承担起这些需要做的工作。这样开发人员才能专心的做开发工作。(但是像修复错误,进行详细测试,设计及书写设计文书等工作就必须有开发人员自己做。)
23,管理好自己的时间。
    避免超负荷运转。
24,如何合理地写程序。
    编写程序是比较次要的事情。带领超过5,6人的团队,可能根本就没有时间去做编程的工作了。
 
这些工作实际上就是在日常的事务中进行的,可能一般没有察觉到他们正在进行。但是必须记住要从整体上来把握一个项目,而不能让具体的技术问题分散注意力。
 
第四章 后期阶段
随着项目结束时间的临近,又会感受到极大的压力。必须更加严格地控制项目的进展,以保证测试,文件纪录和发布程序都做的没有问题。

结论
启动一个项目并保持它在正确的方向上运行可能是非常困难的工作。但是一旦它运作起来,它自己就能具有向前推进的动力,工作就变得简单多了。只需要把握好前进的方向,并注意不要超出日程,那么工作就会向着目标前进。

附:
1,新的技术
对于团队领导,保持技术非常重要,这并不意味着必须精通每一项新出现地技术。但是他们出现地时候,必须去了解他们,知道什么时候他们最适用,用它们来做什么。也就是能够广泛地了解各种技术,对各种可供选择地方案有一个广而不深的了解。

2,应该写多少程序
列出三种情况,在这些情况下,应当优先去做一些具体编程工作。如果有这方面的技术的话,就去做一些编程地工作;如果不具备这方面地技术的话,那么就对这个过程进行非常严密地控制和检查。
 当为一个项目创建框架程序时,这个工作最好由领导来做,或者在加上一个人来帮忙完成,而且在实施开始之前这种工作应该做到界面编码的最小细节。
 在做发布之前,或已经承诺了什么的时候,应该去做编程的事情。这时候也是需要大家群策群力的时候。
 当这些程序至关重要,或者你是唯一的专家,而且如果你也没有时间帮助其他人来做这些事情的时候,你就得亲自做。(但是对于领导来说,自己成为唯一一个掌握关键技术或知识的人并没有好处,因此应该在有时间的时候将你的知识传授给其他人。)
领导的目标是让每个成员都能在项目中各司其职并做他们最擅长的工作。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值