。也许最初制定规划的人并没有加入项目组,那么对总体技术规划的重新梳理也是对此前规划的一个学习。虽然已有的技术路线并未得到验证,但这并不代表我们可以轻易的否定以前的设计。无论我们觉得以前的设计有多么不可行,也要谨慎处理,当出现与以前设计不同的考虑时,有可能是我们现在忽视了某个问题或者约束。即便真的以前的设计出现了错误,那么出错的地方和原因都是对我们的警示和可汲取的经验教训。
2、项目的阶段目标。研发类项目往往都有一个宏大的目标。对待这类宏大的目标一定要小心,因为那可能是一个以现有技术或者成本代价不可能完成的任务。但是如果一旦确定目标是必须要达到的,则必须要对完成这个目标多要经历的过程作出规划。项目目标可能无法一次达到,即便需要在这个项目中全部完成,也应该适当的划分出不同的阶段,制定相应的阶段目标。这样有助于对项目进度进行控制,同时不断取得的阶段性成果也会激励项目组成员不断努力。
设定项目的阶段目标不同于传统软件项目按照设计、开发、测试等的阶段划分。在这里每个划分出来的阶段都需要有一个看得见、摸得着的成果。这个成果可以是一个可以独立运行并能显现执行结果的模块或者组件,也可以是一组为今后研发提供帮助的API。总之,我认为应该是一些足以让项目组成员感受到成就感的实体。这样的阶段划分,可以给成员、项目组、企业都带来信心,以使项目可以更好的进行下去。
3、 创新和钻研精神。研发型项目对项目成员,特别是项目组的主要负责人最大的要求就是要有创新和钻研精神,要有不怕失败、勇于尝试的勇气。这也是对项目组所属企业的考验。研发型项目诸多得不确定性势必使项目在执行过程中不断的遭遇挫折、失败,需要不断的否定自己,不断的迭代。如果缺乏创新和钻研精神,那这个项目是无法成功的。这时,任何的工程化管理都无法帮助项目,虽然这些都非常重要。
研发型的项目需要有一个技术带头人。他可能不是项目经理,但是一定是一个具有责任心、具有创新能力、具有钻研精神、为大家信任的、自信乐观的技术领军人物。当技术讨论无法得出结论时需要他去做决定,当遇到技术难关时需要他去相处解决方案,当项目受到质疑时需要他给项目经理、给团队、给企业、给用户以信心。从这个角度讲,这个技术带头人才是研发型项目团队的核心与灵魂。
4、技术沉淀。研发型项目最重要的任务就是尝试新技术、新产品,并拿出创新的系统(至少对于项目组所属企业来说)。完成这种项目给团队和企业带来的技术积累和经验教训的价值,远远高于项目本身的价格。通过项目沉淀技术,甚至形成产品,有时是一个企业之所以要进行这样一个项目的最主要的目的。
技术沉淀可以在项目完成之后总结,但是更应该在项目开始之初,在做总体规划时,就对希望通过项目沉淀下来的技术或者产品作出规划,在后续的设计及开发过程中,都要遵循这样一个思路,避免使项目的研发被单一的项目需求所左右。
5、坚持技术标准。如果项目最终的目标或者技术沉淀的目标是形成一个产品,则在项目的研发过程中坚持国际、国内标准就尤为重要。因为作为一个产品,它所需要解决的用户需求就不仅仅是当前用户的需求,产品今后所面对的需求会更加多样。如何使产品适应更多用户的需求不在本文的讨论范围之内,但是在项目研发过程中坚持标准则是这个项目今后能顺利产品化的基础。
用户的需求可能是多变的,唯一不变的只有标准,即使是用户也不能超越标准。当需要与第三方软硬件集成时要用标准接口,当设计流程时要用标准的定义规范,如此等等。如果标准与项目用户的