|
概述:项目管理者联盟
目前一些软件开发团队,特别是中小型团队,由于在低成本模式下运行,加之对软件过程管理的不尽规范,在团队建设上只重视代码开发,不重视设计,只重视编程技术,不重视需求分析、架构设计等技术,只重视开发过程,不重视测试过程,只重视任务,不重视风险等问题,是许多软件公司不能很好的以高效率模式开发出稳定可靠的软件产品的重要原因。项目管理者联盟
软件产品的开发,技术路线确定以后,团队组织以及过程管理就成为团队领导人的核心工作内容,项目负责人一般情况下也是技术决策人,这种角色的兼任对中小团队来说也是有效的,但问题出现在项目负责人大多都是优秀程序员出身,对软件技术有着很高的热情,但对项目管理以及更高层次上的团队建设方面就显得有些能力不足。这也会造成一些软件开发的高手做出来的产品却不尽如人意的尴尬局面。项目管理者联盟
其实在工作中,以公司的现有条件以及技术特点,在目前一些成熟的模型基础上建立个有公司自身特点的团队建设基本原则以及实施办法,执之以恒的加以贯彻执行,对公司产品目标的形成,公司核心技术的形成,公司核心团队的形成都会产品重大的影响。blog.mypm.net
具有一定普遍意义的风险:项目管理者联盟
在许多项目开发或产品开发中,失败的原因一般有以下几类,一是功能及性能没能满足应用的需求;二是需求变化导致项目成本的增加;三是技术水平不足导致项目成本的增加;四是团队出现重大变动,导致研发过程不能正常继续。项目管理者联盟
功能及性能方面:一般来说,功能及性能方面主要是需求目标没能得到充分重视,特别是性能、安全以及部署等非功能性需求;对核心业务本身,需求分析过程中是被关注最多的,但如何理解这些核心业务,如何用正确的架构完成核心业务的实现,这期间如果控制不当,也会产生许多导致成本增加、工期延长等许多不确定性结果。在需求分析阶段,对需求没有系统的过程控制,带来的风险是非常大的,这往往会成为项目失败在技术上的最先出现的原因;虽然所有的软件团队对需求分析都非常重视,但如果在方法及管理过程中不能有效的控制与管理,也很难避免由于需求阶段存在的风险给整个产品或项目带来严重的问题,几乎所有的中小型软件团队都会有过类似的经历。
需求变化:需求变化是当前软件产品或项目必需适应的,为了具备这个适应能力,除了在架构设计方面要考虑到系统的可维护性,可扩展性以外,对需求的变更管理及相应的风险评估经实践证明是比较有效的管理手段,在这方面技术与技术管理同样重要,缺少哪个环节,都会给产品或项目带来可能导致项目失败的隐患。项目管理培训
技术水平不足:在沈阳地区具有一定的普遍性,目前沈阳市软件开发人员资源并不丰富,大多数优秀开发人员都流向了北京、上海等行业发达地区,其它比较好的开发人员基本上都在大型企业中,根据近两年的经验,能在社会中用招聘方式组建的研发团队,即要有一定的实践经验,同时要保障在同一平台下工作,其质量很难达到快速开发的目的,即使是存在了许多年的团队,也会随着技术人员的流动对团队技术水平带来许多的不确定性;如何能有效的吸引高素质高水平程序员,如何有效的培养高忠诚度的核心员工以及如何有效的利用外部资源,这是目前大多数软件开发团队所面临的重要课题。项目管理者联盟
团队出现重大变动:这是个比较极端的情况,但却会经常发生,在对2003-2004两年政府项目就多次出现了因为项目团队中人员流动多大,导致项目无法进行的情况(如省民防办、新闻出版局等),这也是一个不容忽视的风险。项目管理者联盟
要有效的规避风险,在其变成问题前采取有效的措施,是风险管理的主要任务,这里并不做具体的风险评估,只是由于在团队建设方面存在的一些不完善,会成为这些风险(甚至不只是这些)存在的原因,所以才显得重要,其实说到底,就是软件产品不可能是小作坊式的开发方式能完成的,是否具备完善有效的控制能力,规避由其所带来的质量与可靠性方面引起的风险是关系到团队生存的大事。项目管理者联盟
团队模型的完善:PgMp.mypm.net
团队模型是软件开发队伍建设的基础,一个结构合理的团队,虽然不能保证项目一定成功,但却是保障产品长期稳定的保持高质量、高可靠性的基础。项目管理者联盟
这里所建议的团队模型,参考了敏捷开发和CMM、MSF等重要模型,并在实践中应用了两年以上,应该说是一个有效的中小团队模型;这个模型本身不是固定不变的,它应结合不同时期,不同团队的特点,加以完善,提高其可行性与有效性。项目管理者联盟文章
团队模型中的重要概念:项目管理者联盟
团队的基本构思:项目管理者联盟
为了弥补传统项目小组自上而下的层次结构的一些不足,研发团队应是小型、跨学科的小组,在这样的小组中成员们共同承担各项职责,权衡彼此间能力差异,以便将主要精力集中到手头上的工作中。他们拥有共同的项目前景,以部署产品为中心,坚持高标准的质量和沟通,保持乐意学习的心态。本文描述了小组中的各种角色群,以及他们的目标和职能领域。同时提供了指导,以便根据产品规模和复杂性来保障一个高效的团队。项目管理者联盟
清晰的责任,共同的职责:项目管理者联盟
将工作进行中需要共同承担的职责和确保工作如期完成需明确的工作责任结合起来。项目管理者联盟
团队模型基于这样一个前提,即小组里的每个角色都代表了对项目的一种独一无二的观点,但是没有哪个个人能够完全代表所有的不同质量目标。为了解决这一问题,把对各种利益相关人的清晰角色职责与实现这个项目成功的整个小组的责任结合起来了。项目管理者联盟
在小组内部,每个角色通过对小组本身负责(也对他们各自所属的组织负责)实现该角色的质量目标。在这种意义上,每个角色都对最终解决方案质量的一部分负责。小组成员之间共同承担职责(根据不同小组角色指派)。角色之间是相互依赖的,有以下两个原因:首先,就其必要性而言,因为把每个角色的工作分隔开来是不可能的;其次,出于优先的原因,如果每个角色都了解全局情况,那么小组的效率会更高。这种相互的依赖性会鼓励小组成员对由他们负责的直接区域以外的工作做出评论和贡献,以确保小组所有的知识、能力和经验能够被应用到产品的构造里。项目的成功属于所有的小组成员;他们共同分享一个成功的项目所带来的荣誉和回报,他们也同时希望,即使是一项不太成功的项目,也能做到全心投入并从中吸取教训以完善他们的专长。blog.mypm.net
赋予小组成员权力:项目管理者联盟
在一个高效的小组里,所有的成员都被赋予权力以便根据他们自己的承诺交付任务,并且充分信任小组的其他成员也能实现各自的承诺。类似的,未来客户也能够认为小组将会兑现其承诺,并进行相应的规划。在最坏的情况下,小组也应该尽快地告知客户项目出现了哪些延迟和变化。项目管理者联盟
赋予小组成员权力,让其承担指派的承诺。这种授权包括向小组成员提供进行工作所需的各种资源;负责制定决策以有效影响队员的工作;理解队员的权力界限,并不断增加各种可用途径来处理越权问题。项目管理者联盟
准备好向其他成员允诺。这些准备包含了心态(进行面谈并乐意采取行动)、就绪,并理解承诺的内在含义以及它对当前工作量和资源的影响。这样做的结果就是,不到小组成员清楚承诺的内在含义,就不要作出承诺。相反,小组成员要提出一个更小的、他们能够理解的承诺,例如对这些承诺的内在含义进行研究,然后再迅速坚定地作出承诺。对较小承诺的成功交付将建立小组的信任。项目经理博客
|