项目目标清晰度:
 
一个项目的目标是否清晰、是否可以衡量,是决定项目成败的关键因素,也是立项之初需要首先明确的问题。
 
需求:
 
需求的明确程度决定了软件产品的设计和研发方式。对于需求明确的产品,通常将用户的需求收集全面,设计出完善的功能点,并且与需求方、研发团队评审通过后再按计划节点进行开发。是一种强调确定性、计划性的结构化开发方式。对于需求不太明确的产品,通常是确定好用户的基本需求,开发出一个不完善的原型产品,根据用户的使用反馈对原型进行修改、扩充、完善,直到满足用户的需求为止。
需求的变更对项目的计划、进度甚至是项目目标的完成造成重大影响。需求变更的原因主要有:需求方增加或变更需求;收集需求时,未将需求收集完整;对需求的分析不充分,开发时发现需求不合理或者与其他需求存在冲突;外部环境变化,如竞争对手的产品发布了导致本公司的产品形态需要应对竞争者的挑战。法律法规、社会舆论和观念的变化要求产品需求随之变化等。需求的变化是研发项目的风险因素,虽然这种风险难以完全避免,但是管理者可以选择恰当的研发方式来减小需求变更带来的风险。例如:增量型、敏捷型等研发方式,将用户的互动过程纳入到项目计划之中。用户通过每个版本的试用逐渐清楚自己的需求,研发团队在后续的版本再增加相应的功能。
 
技术:
 
技术方案的明确与否,决定着一个项目的开发过程是简单还是复杂。当其他条件不变,技术方案明确,即知道采用何种方式实现需求,通常采用预测型的开发方式。当技术方案不明确,不清楚采用何种方案实现需求,就需要一步步摸索,通常采用迭代型开发方式。
技术难度对项目的影响主要在实现周期以及质量,难度越大开发周期越长、质量缺陷相对越多。技术难度较大的项目常采用增量式开发,将复杂的工作拆解为若干个模块,分计划逐个完成。有一些项目的技术难度大,且交付时间很迫切,也会采用迭代式开发。即先开发一个简单版本,满足用户核心需求,再逐步完善功能。
 
依赖方:
 
依赖方的数量、在项目的利益程度、对项目的影响力、对项目的态度、参与程度、组织层级会对项目的协作、推进与评价产生影响。依赖方的数量越多、利益程度越低、对项目的态度越反对、组织层级关系越远,则项目推进的阻力越大,反之则阻力越小。依赖方的影响力、参与程度越高,则越会强化这种影响。
对于依赖方多的项目,需要全面、准确的识别依赖方,按照上述维度对依赖方分类管理。权力大-利益低:令其满意;权力大-利益高:重点管理;权力小-利益高:随时告知;权力小-利益低:做好监督。