技术经理必须学会认真听取用户的要求、考虑和设想,并加以分析和整理。同时,软件开发方应郑重向用户说明,进入设计阶段以后,再提出需求变更会给整个开发工作带来什么样的冲击和不良后果,全面权衡轻重。
区别对待,折衷求同。随着项目不断进展,不少企业用户会不断提出一些在项目实施组看来确实无法实现或工作量比较大、对项目进度有重大影响的需求。
新需求,可以建议用户将新需求按重要和紧迫程度划分档次,作为需求变更评估的重要依据。如遇到有些需求无法在短时间内解决、需要花个把月才能解决的时候,那就不要硬拼,不要让项目因此僵住,而要通盘考虑一下,有否临时的折中方案可以先“应付”一下?如让用户先使用现有系统,等过一段时期,技术解决或二次开发成功后再给用户免费升级安装。
3、如何诊治需求变更不断之痛?
每做一次项目计划变更,都会影响到日后的成本估算、活动顺序、行程日期、资源需求及风险控管的决策,因此甲乙双方的项目经理、IT经理都必须以整体的视野、统一的要求,对变更进行控制、确认与纪录。而需求变更的控制关键在于建立相应的控制组织、变更控制系统以及规范变更流程,主要有:
充分做好前期的需求调研、系统培训等工作。深入企业一线,全面调查研究,最大程度地挖掘企业用户的潜在需求,发现可能要需求变更的地方,让企业用户尽快做出是否要进行需求变更。一般把需求变更或者新需求的确认最迟时间定在系统培训阶段。也就是说,在系统培训完成后、开始准备双线并行前,企业用户还可以提出需求变更的申请,但是,当系统开始双线运行时,就不允许用户再提出需求变更等类似的请求了,如编码的内容和规则、表单的数量和格式、数据流转和统计方式等,否则就要付出变更的代价。
建立变更控制组织系统。项目启动时,尽可能地与客户沟通,尽快建立正式的对变更进行控制的组织,通称变更控制委员会(CCB),成员可包括双方高层(挂名)、甲乙双方的项目负责人、相关的需求负责人等,负责裁定接受变更内容、方法、步骤等。建立该系统的目的是统一管理需求变更和跟踪变更的状态,便于项目组测试人员、开发人员、系统分析员以及PM相互之间的沟通和交流。建立变更控制系统目的不是让用户不提出变更,而是让用户不轻易、随便的提出变更。
严格规范变更流程。一旦需求分析阶段结束,此后如果用户要求有新的需求加入即将交付的软件系统中,甲乙双方的项目组或变更控制委员会,要根据角色定义,确定变更流程,规定严格的变更控制流程,并控制新需求提出的频率。
1)变更申请。系统界面如按钮的位置、字段的位置的细微调整,不涉及到业务规则,对基线基本没有影响的变更,由测试人员直接在变更控制系统中提出;其他如操作风格的较大变化、编码内容、业务规则的变化等,均要求用户提出电子和书面的需求变更单。
2)变更评估。由项目组或变更控制委员会组织人员对变更进行变更的合理性分析,变更替换方案分析,工作量的估算以及涉及什么模块、影响什么模块等影响分析。
3)变更实施。由测试人员在变更控制系统中填写变更信息,由系统分析员填写处理方法和影响分析后交由开发人员实施。
需求变更后,受影响的软件计划、产品、活动都要进行相应的变更,以保持和更新的需求一致。
选用适当的开发模型防止多变更。采用建立原型的开发模型比较适合需求不明确的开发项目。软件供应商研发人员先根据用户对基本需求的说明建立一个系统原型,再与用户沟通。一般用户看到一些实际的东西后,对