1.项目需求
当项目混乱和不可控的时候,往往是源头出了问题,解决源头才能治本。
软件项目中的范围管理重点就是项目需求,需求包括原始需求,用户需求,产品需求和软件需求。需求是项目的源头,需求生命周期包括了需求收集,需求挖掘和开 发,需求定义和分解,需求实现,需求验证,需求确认等诸多过程。需求不明确和后期的频繁需求变更是软件项目十大风险之一,项目的计划和可预见性完全是建立 在需求稳定基础上的,需求一变化整个计划就得不断调整,计划的频繁调整导致后期的项目执行无任何计划基线参照,后期项目完全不可控制。
需求就是用户需要的一个个可确认的功能点,需求分解后各个需求点的需求状态的追踪自然就变成了对整个项目进展状态的追踪。对项目内部谈进度计划的跟踪,对 外部客户谈需求功能点状态的追踪。如果10个需求点都进行到编码状态,实际项目进展已经完成80%,但只要没有完全完成的独立需求点对用户来讲进度都是 0%。从这个意义上可可以进一步看到瀑布模型和迭代模型的重要区别,迭代是使项目进展真正可视。
2.组织类型
一群有技术,有文化和有目标的人却做不好一件事情是组织和文化的问题。
组织类型有项目型,职能型还是矩阵型组织。各种类型的优缺点有专门的文章比较,重点就是组织类型的选择要和组织本身的发展需求和项目本身的特点相结合。比 如对于大型的产品驱动的项目,更强调跨职能组织的产品开发团队PDT,就能够更好的实现以产品研发驱动的目标需要,使整个工作都能够围绕产品研发进行,加 快沟通效率和加强团队协作。
矩阵型结构中由于多头领导是最容易发生冲突的,因此前期必须定义明确的职责。职能经理负责的是人员的管理,企业文化建设,培训和职业发展和多项目间资源的分配和协调。而项目经理是对项目成败负责,是按项目目标申请资源,根据需求执行项目计划和按时完成项目。
3.项目团队
为了一个项目走到一起的成员,激励他们的是工作本身和共同的价值观,而不是职位或头衔。
一个人可能成功,而另一个人可能失败,这两者的区别并不重要。重要的是,一旦他们相互协作,结成联盟,伟大的事情就可能发生。项目中每个成员都有自己的技 能专长,性格特征和职业发展规划,项目成员的目标只有团队的目标一致后才可能真正发挥出团队的价值和力量。项目经理的一个重要角色就是教练,团队建设工作 将贯彻整个项目。
成功的项目团队必须是每个成员都认可项目的目标为之努力,项目成功也帮助项目成员提升自我价值。项目中每个人都清楚自己在团队中的位置,该做什么,如何做到,如何做好。团队成员之间相互信任和对自己的工件负责任。
4.项目计划
靠个人的直觉和经验可以保证你一时成功,靠系统的计划可以保证你长久成功。
只有有了计划你才可能真正知道项目目标是否是可以达到的,是可以预测和可见的。有了项目计划才可能使项目从无序到有序的转变,从点点滴滴小检查点和里程碑 的实现,最终达到了整个项目目标的实现。目标驱动如何落地?就是我们做任何一件事情都不是随意的,目标驱动计划,计划驱动我们去执行一个个实际的任务。
有了计划不仅仅有了执行的依据,也有了项目经理后期项目监控的依据。所以基线和跟踪甘特图等是很重要的概念,出现偏差是不可避免的,关键是我们要及时的跟踪和意识到偏差,这样才可以及时的纠正错误和调整我们的策略。
项目中做的任何一件事情都出自于计划,因此计划不仅仅是项目进度计划。为了实现项目的目标,对于项目的成本,质量,需求控制,风险管理,人员管理,开发过 程管理都必须有计划。想想我受到的恐慌和打击,更多都是来源于我们没有预料到的问题,你要消除这种恐慌,就是要前期考虑的越周到并提高前瞻性。
5.机会和风险
项目成功和失败是可预见的,往往是项目失败了项目经理才意识到发生了什么问题导致项目失败。
机会,风险和问题(又分Issue和Problem)是项目跟踪控制中最重要的要素。风险意识也是项目经理的一个重要意识,风险意识不仅仅是要有危机感, 更多的是要有锻炼系统思维能力,锻炼洞察力,提高自己的前瞻性。意识到的事情没有做造成了对项目的影响,这是团队规则和人力资源管理的问题;没有预见到的 问题发生了,而且对项目造成严重影响,这是风险管理的问题。但风险管理的问题又不仅仅是意识的问题,更多的是需要经验和方法论的持续积累。为之于未有,始 之于未乱,经验的作用就是做不让问题发生的事情,而不是做解决发生了的问题。
风险和机遇并存,当管理层要求你承担风险的时候,实际上是要你去追寻机会。当你去追寻机会的时候,实际上又在遭遇风险。如果你不去识别机会,机会是不会主动来找你的;但是如果你不去攻击风险,风险却会主动来攻击你。
6.项目监控
一套好的监控体系是通过预警机制将意外或突发事件消灭在襁褓之中。计划本身也是一种控制,只不过是事前控制;出了问题我们再分析,并采取纠正措施是一种事 后控制。监控绝对不能只监不控,如果没有纠正措施,就很难算做真正的项目的控制。而且项目控制不能简单的理解为实际项目运行情况和计划基准之间的差异比 较,而是从识别控制事件->确定控制标准->实施控制机制- >执行工作一系列的系统的流程控制。
项目控制分为很多类型的活动,其一是差异控制,即项目在执行过程中关于项目进度,成本,质量和范围等要素和计划阶段定的基准目标发生了偏离或者说偏离超过 了某个限度,我们就必须进行控制和采取纠正措施。其二是过程控制,即项目的执行本身必须遵守相关的过程和流程,比如范围的变更,沟通渠道和风险管理等,这 些活动在执行过程中都必须遵守相关的过程和规则。
任何一个控制体系和流程都不应该僵化,死板和专断。控制应该在正规和随意的自由之间寻求最佳平衡。控制不应该抑制创造性,控制应该让项目团队有充分的自由 来主动寻求解决方案。德鲁克曾强调:有意义的控制系统,应该和所控制的任务的复杂成都和任务的规模相适应。他们应该随时可用,易于使用,与被控对象相适 应。
总之,事前主动控制和事后被动控制包括以下几个方面内容:
相关性:不能专横武断,对单因素进行控制的时候要考虑到对其它因素的影响。
高效性:设计控制流程的时候,仅仅收集确实需要和有用的数据信息。
简单性:尽量使控制流程简单化。
及时性:控制流程应该可以及时提供各种预警信息,以便于采取纠正措施。
7.项目可见性
正确做事情的方式不止一种,但是正确的观察事物的方式仅此一种,就是要观其全部。项目可见性的目的就是对项目实施事后反应管理,良好的可见性通过事后总结 又可以很好支持事前的主动管理。项目可见性就是指你和你的团队,以及项目的重要干系人都能够清楚的知道项目的状态和正在做的事情。
敏捷项目管理为项目可见性提供了很好的实践,比如关于问题和风险的十大风险问题清单,关于进度的项目停车场图等,这些信息都可以及时的反映到白板上被所有 项目成员知晓。对于一个项目需要可见的信息有,项目的进度,成本,质量和范围四要素信息。项目的风险跟踪表,问题清单,项目的待处理问题Issue清单, 项目的资源信息(文档资源和人力资源)。当这些信息都可见的时候,项目是否可以按照目标成功完成就可以很好的预测和跟踪。
项目可见的一个重要作用就是要让每个项目成员不仅仅是关注自己做的事情,不仅仅是把自己做的部分干好,而是要关注整个项目的目标和进展,要将个体目标和项 目总目标结合起来,要让每个人看到自己对项目的贡献和作用,看到自己在项目中的位置。并且传达一种信息:项目是所有人的项目,不是项目经理的项目,只有项 目成功了团队中的每个人才谈得上成功和收获。
8.项目状况
项目状况体现了项目是否正常的按照预期进行,是否能够成功按计划完成。没有比较,就没有好坏之分,项目可见性的一个重要内容也就是需要时刻反映出项目当前 的状况。项目状况汇报的第一要点就是同计划的差异比较,究竟进度有无延期,成本有无超支等等,只有通过这种差异比较才能够知道后期应该采取什么纠正措施, 后期应该如何决策。第二要点是项目状态不仅仅是进度,也不仅仅是项目的范围,进度,质量和成本四要素,还包括了项目问题,风险,人员等各种更项目相互的状 态信息,因此项目状况是一个能够真实反映项目是否健康的各种项目属性的综合体,这些信息必须同时被反映出来的,才能够观察和分析他们直接的联系,并指导后 期的决策。
状态审查会议,状态报告,里程碑报告,问题清单,挣值分析,人力资源分析等都是常用的检查项目状态的方法。通过状态审查可以识别和分析差异,并采取纠正措施。同时,有意义的状态审查依赖于经过良好制定的计划,没有很好计划过的项目完全不能很好的反映出实际情况。
9.纠正措施
如果一种思想没有付诸于行动,那么就毫无意义;如果一种行动不是一种思想指导的结果,那么同样毫无意义。在状态审查后我们会发现差异,当差异超过我们允许 范围后必须进行纠正。纠正措施是对检测出的不可接受的差异有效,必备的事后反应管理步骤。没有跟踪贯彻纠正措施的状态审查是毫无意义的。
项目越执行到后期,要纠正一个问题对成本和进度的影响越大。项目经理往往受到来自客户和管理层的双重压力,在采取纠正措施这件事情上往往是说起来容易做起 来来。纠正措施是一种事后补救的方式,在我们发现了突发事件后第一要做的是采取纠正和应急措施,但更重要的是必须进行反省和经验总结,改进我们的管理过 程,在项目团队中树立一种及早的发现问题并第一次就把问题做对的思想。
10.项目领导能力
领导能力的恰当使用必须能保证其他9个元素被人接受,并得到热情支持和忠实的履行。就项目管理而言,领导代表着对个人和团队的激励能力,每一位项目成员都 应该感到被激励,鼓励和自我激励是领导能力的根本。德鲁克曾强调,领导能力如果只是停留在广交朋友,就会走向阿谀奉承。领导能力应该体现在提升个人的目标 远景,提高个人表现的度量标准,开发超乎寻常的个人能力上。领导能力是做正确的事,而管理能力则是正确的做事情。
为项目团队创造远景,使团队目标和个人目标融合;为团队创造良好的参与式和充分信任的环境以实现这种远景;在项目中以身作则,身体力行为团队树立榜样和强 化规则;奖励团队中的突出贡献和成就以激励团队成员;通过分析组织和进行团队培训,以当好教练的角色。在项目中积极的进行沟通,正面和解决各种冲突,以保 证良好和谐的团队氛围。这些都是为了说明,当项目管理过程或组织规程不成熟的时候,高超的个人技能和领导能力是保证项目成功的必要条件。