“不做计划的人注定要失败。” ——匿名
“把计划做好,胜过明天把计划做完美。” ——匿名
“你的计划没做好,不会让我的工作变糟糕。” ——匿名
“当机会遇上计划,会变成好运气。” ——发明家 托马斯·爱迪生
“计划只有马上变成努力工作,才能算是好想法。” ——管理学大师 彼得·德鲁克
“正确的准备,产生出众的表现。” ——橄榄球四分卫 Charlie Batch
“你永远无法根据过去规划未来。” ——爱尔兰政治家 埃德蒙·博克
“响应变化重于遵循计划”,这是敏捷的核心价值观之一,可是它有时会被人错误诠释为敏捷项目中不需要规划。然而,真实情况根本并非如此。在适应性敏捷项目中,规划的次数要远多于在预先规定好计划的(predictive)【原注1】项目中做规划的次数,因为我们要将必然会出现的诸多变化纳入到考虑之中。适应性项目的特点是不确定性,主要存在于以下领域:
需求:所有的项目都需要清晰的目标和方向,然而,要达到这些目标需要实现很多具体需求细节,这些细节在一开始很难完全理解透彻,而且很容易在项目的生命周期中改变。
对问题域的理解:要知道我们的理解不可能完全正确,而且随着我们深入了解问题域的现实,我们对于解决方案初的想法很可能会改变。
交付率:适应性项目其本质是创造性工作,而且团队试图在解决方案没有完全想清楚之前开始解决问题,解决方案的产生需要发明和创意。人和人之间的差异导致彼此无法完全替换,而且各人的工作效率也不完全一样。
适应性项目需要对应的适应性的方法,这样一来,在项目的生命周期中,我们对于项目的理解不断加深,产品也会逐步演变。敏捷项目中采取迭代和增量式的工作方法,能提供必要的反馈机制【原注2】,以此交付适应性项目。
尽管敏捷项目的本质是适应性,管理层还是希望了解“项目成本如何?需要多少时间?”这样的要求合理而现实。要向项目中分配组织资源,要完成哪些工作也需要相关决策。这意味着我们要在某些层面上提供反馈,以回答项目开始时的一些问题,并定期提供相关信息,确保我们可以利用组织的投资交付好的价值。
要达到这个目标,我们需要在多个层面规划。
以下是规划会发生的两个宽泛层面:
高层面的规划,往往在团队之外进行,而且与应该资助哪些行动方案相关——“做正确的工作”。
一旦某个项目通过了“我们应该做这个项目吗?”这个问题,我们需要将重点放在“把工作做正确”之上。此时,需要在5个层面上做项目规划。
做正确的工作
这里的流程主要是要选择出投资哪些项目,可以看下面的幻灯片:
创新和问题
所有组织都需要一种鼓励机制,鼓励大家产生各种好主意、发现问题。在开始的主意和问题辨识阶段,应该尽量不做过滤,组织的所有成员都可以指出某个未处于佳效率的工作环节,识别组织需要解决的问题(比如市场中的某些变化或是新颁布了某条组织必须遵守的法律),或是提出某种能够完成的全新事物。
当很多主意提出之后,需要有一种粗略的过滤机制——想想这个想法是否值得深入考虑。很多时候,可以对这些主意进行成本-收益分析和可行性评估。有些主意会自动通过第一次过滤(比如:为了符合某条法规的变化,某个项目必须要完成),有些很快被抛弃了(成本不允许,或是与组织的战略目标完全不符),有些还需要深入研讨。
得到自动通过和值得深入研讨的主意将会进入“项目组合规划”流程。
项目组合规划
“项目组合规划”是监管层面的活动,其目的是要选出组织应该投入资源完成的项目组和项目。毫无疑问,希望完成的项目要多于能够投入的项目,项目组合管理流程是要选出可以投入资源的项目。
判断要完成哪些工作,应该依据组织的使命和目标:只有交付物符合组织高战略层面要求的项目和工作,才能得到投资。项目组合规划是基于风险-回报的活动,组织的风险管理策略有助于选择投资哪些项目。
“项目组合规划”应该在公司的职能层面的组织架构之上进行,以确保端到端的影响,并且选择出来的工作的价值也得到分析。在这个组织架构层面之上,项目将会影响多个职能领域,还要避免发生“争地盘”的情况,这一点很重要。这个层面上,任何重大的工作还会要求组织中多个职能领域提供资源(比如:全新客户自服务系统的上线不仅仅是IT项目,是会有IT方面的工作,不过市场部要宣传提倡大家使用自服务系统网站,服务部门要给知识引擎提供内容,等等)。