转载:项目规划

这几天,在网上搜索到了一篇文章,关于软件项目规划的,感觉写的很好,特此记录下来,以备今后慢慢体会。(此文是转载其他人写的文章,连接地址忘记了,希望写这篇文章的老兄不要误会)。

原文如下:

项目规划的重要性是不言而喻的,但很多时候,规划阶段好像成了一个形式,规划方案也是属于放之四海而皆准的。不谈造成的原因,仅谈规划方案本身,限于篇幅,不会覆盖所有内容。

个人认为软件项目规划书就是一份项目可行性分析加一份详尽的项目实施计划。在此,可行性分析已经不再是对市场、经济、社会等因素进行分析,因为这些内容应该在策划阶段进行。在规划阶段,可行性分析应该是对项目目标可行性及项目技术可行性(实际技术可行性也是目标中的一项,只是技术可行性需要包括应有的技术方案,所以单独拿出来讨论)的分析。确保了这两个方面的可行,才可以推进项目,制定项目规划。

目标可行性:就是项目所制定的目标我们是否可以达到,注意是我们,即PM自己与你领导的团队,不是别人。这里的目标并非单指技术目标,包括完成项目所需的所有内容,管理目标、时间目标、成本目标、资源目标、技术目标等等。当然这些内容都要与自身的实力相结合才可作出判断,并且当这些目标无法实现时,PM应该提出折衷方案或者说是一种优化的解决方案。确保项目可行。举个例子:管理目标。很多项目并不是很重视项目管理的,但管理确无时不在。譬如:1、项目文档一定要健全,且与项目同步,有效文档必须包括××××,文档的作用应达到×××。2、版本控制必须严格按照……来执行,确保版本的拆分与合并;3、团队人员应通过本项目达到×××程度,等等。同时要了解目标彼此之间是相互制约的,管理要求的提升,意味着要付出更多的成本,这就是需要来分析的地方。在此多说一句,技术目标一定要明确。不要含糊不清。这为后续的技术可行性确立标准,否则技术可行性会是空谈。

技术可行性:对于非技术型的PM,这部分需要技术经理来协助。此部分需要与实际情况相结合,不要空谈。这部分容易也复杂。容易是因为很多技术方案都适合,随便上网上搜一下就可以了,复杂是因为你拿到的方案未必真的适合这个项目。又或者未必真的理解别人技术方案设计的用意么?在此需要说明的是:别人可以做到的我们未必可以做到。别人可以实现的我们未必可以实现。所以,技术方案不在华丽,而是在于可实现,技术方案也不在于先进,而是在于可达到预订目标,技术方案最重要的是可行,适合我们自身,并且可行。在此给出几点建议:

1  架构的灵活性永远是相对的,满足要求就好,但性能是不能妥协的,性能的失败就是项目的失败;(架构越灵活性能就会越低,集成难度就会越高。性能是最要命的。)

2  技术方案中的每个部分,都会有替代方案,或者说第二方案,如果没有,那就需要考虑其是否合理了;(替代方案的出现并不是要代替首选方案,而是要证明首选方案的正确性,此方面需要结合实际情况考虑,否则会有点偏激)

3  技术架构的设计或技术架构的选择适用就好,这方面一定要克制技术人员的技术探索性,同时技术架构尽可能不要更改当前团队的工作模式;(技术人员先天对技术就有一种探索学习的冲动,要克制,不同的技术方案同时也会对当前人员素质、工作模式产生影响)。

4  技术方案中的每一部分都需要明确其解决的问题,实现那些目标,拿这些解决的问题和目标与前面的内容进行比对,是否真的满足了?是否真的解决了?而且是否真的可以对应上?

5  尽量采用成熟的技术,不要采用哪些刚刚出现的先进技术;(这个不用解释了)

6  尽量采用团队熟练的技术,不要采用团队都不熟悉的技术,学习是好的,但要考了学习的成本和效率,及后期带来的风险;(这个也很好理解)

7  明确技术目标量化的方法或内容;

如果完成以上内容,且都是肯定答案,那么可以说此项目对我们而言是可行的,下面PM就需要考虑,下一步项目该怎么进行?这就是项目实施规划。项目实施规划主要说明三个方面的内容:要做什么?谁来做?怎么做?

1.         要做什么:

就是项目的范围。这是一个贯穿项目始终的内容。一定要明确,且是要跟踪管理的。很多时候,项目规划做完了就扔在一边,需求的时候会重新再做一遍,或者需求阶段根本就不会按照规划的内容来进行。项目范围是要指导后续工作的,这个目标一定要实现。当然在此也会遇到范围边界无法确定的情况,没问题,那就制定确定范围、边界的方法,拿这个方法来指导后续工作。如果连方法也没有,OK,没问题,那就指定一个人来负责范围边界的确定,并把这些未知内容记录到项目风险中,通过风险计划来完成。但不能什么都没有。

除了项目本身完成的工作外,想想是否还有其他内容,譬如:是否要建立公司的质管规范,是否要树立典型客户,是否要完成公司的开发框架,等等,要仔细规划,项目本身之外的工作也是工作,不能忽视。这部分内容可以通过前面谈到的目标内容中找到,并逐一落实。

2.         谁来做

实际“谁来做”的问题并不难解决,难解决的是“无人来做”的问题。资源是有限的,成本是固定的,不能想怎样就怎样。所以,“谁来做”的问题就必须和下一个内容怎么来做一并来考虑,并且要通过一些策略来驱动“谁”用“什么”方法完成以上的目标。

3.         怎么做

在谈到怎么做的时候,一定要先温故一下前面所规划的目标及“做什么”的内容,并且把目标都列出来。“怎么做”需要解决问题就是:按照规划的目标完成项目内容,为要完成这些内容,要制定一些策略,整合一些资源,利用一些工具。

1              完成预订目标(管理、成本、资源、技术、项目内容等等):

完成目标最切实可行的方法就是制定工作计划,计划制作完成后,对照前面的项目范围检查一下,看是否有遗漏,这个阶段重要的是不能有遗漏,也许计划会有些问题,别担心,但不能有遗漏。在此阶段如果出现了内容遗漏,后续项目就危险了。

2              如何确保计划的完成?

计划只是一种理想的做法,如果大家都可以按照计划来完成工作,那也就不需要什么管理者了,更何况计划本身可能就存在问题。所以,为了保障计划可以正常执行,需要制定一些策略,并且要利用一些工具来跟踪计划的执行。

譬如:需要制定风险管理策略、计划跟踪策略、沟通策略等等。采用requisitepro来管理需求,确保满足范围目标,利用Projectserver跟踪资源执行计划的实际情况,利用CVS来实现版本的控制,等等。所有的一切策略和工具,都是为了一个目标:就是保证实际工作与计划一致,计划与目标一致。

 

至此,项目规划文档可以说基本完成了,而且是一份有效的项目规划,最重要的是作为PM的你已经认真的对项目进行了一次完整的思考。这个价值是无法通过文档来替代的。

 

猜你喜欢

转载自lblovesnow-163-com.iteye.com/blog/905652