1、定制项目规划阶段
1.1、一线项目实施经理\一线实施人员\咨询顾问\应用架构师:需求调研\讨论\确认、应用方案设计、实施方案设计
1.2、研发PM:工作量估算、全程风险管控、资源组织协调、每日计划推动、变更管理、沟通报告
1.3、开发leader\平台架构师:技术方案设计、技术风险识别、技术难点攻关预研
1.4、测试leader\测试总监:测试方案分析设计、评审
这个阶段企业IT部门、企业业务部门、软件公司实施团队、软件公司定制研发团队会一起对定制需求、定制方案、定制风险进行反复讨论和评审,确定确实需要软件定制才能解决,而且定制内容确实有业务提升价值。
评审确定后填写需求申请书、定制方案书、项目计划书、人天报价,签订定制开发合同。
除非是深度战略合作的企业,否则软件公司不会为某个客户专门预留固定的定制开发团队资源,而是多个客户共享一个开发团队,这就存在项目排期的问题。所以并不是需求评审一确定后就能立即启动开发计划。往往软件公司会每两周刷新一次开发团队资源,提前锁定计划与团队进入排程通道。所以有的CIO会抱怨为什么我就一点需求你们就需要20天,很大原因在于开发资源不足需要排期等待。现在软件公司也在引入外包开发人员,以备开发的波峰弹性扩展。但一个定制开发需要PM、系统设计、开发、测试共同协作才能完成,所以也有可能瓶颈在于系统设计环节,而这个环节由于其专业性和影响性所以难以外包。这仍然会造成其他岗位等待、切换到其他项目、再切换回来。对项目的排期、资源调度影响非常大。
2、报价阶段
2.1、设计人员:给出功能性和非功能性系统分析设计工作量
2.2、开发人员:给出修改方案设计、代码修改、自测、编译、部署、Bug调试的工作量
2.3、测试人员:给出用例编写、数据准备环境准备、测试、报告编写、更新说明、打包发布的工作量
二次开发主要按每功能点每个岗位在软件开发的每个阶段投入的人天数来计价。
一个二次开发项目,最关键的人是:项目开发PM、主设计、开发leader、测试leader。这些人起最关键的作用,所以他们的人天报价就很高,不能和其他普通人员同等报价。对于一些整合类、基础平台类、决策支持类的系统项目,更需要加入应用架构师、技术架构师、数据架构师,这些人的报价会更高。他们会参与定制项目的各个阶段,所以他们的工作人天数也会贯穿整个项目周期。尤其项目开发PM是一个二次开发项目的核心领导、组织者、推动者,对项目的成败起着决定性的作用,所以报价最贵。
不过这时由于没有进行详细的系统分析设计,作为ERP往往功能点之间的关联影响非常多,而且由于内部代码交织,可能改动的代码段会更多。所以预估的时间与报价和最后实际往往还有差异,这会通过最后的验收结算来修正。在开发的过程中也会发生需求变更,所以这些变动引发的人天数变化,也会在最后验收结算阶段进行修正。
3、系统分析\设计阶段
3.1、系统分析\概要设计:架构边界规划\接口设计、功能点分析、模块关系分析、实体关系分析
3.2、系统详细设计:细化设计到每个UI每个元素、流程图\算法\计算公式、关联性分析
3.3、设计评审\项目组学习考核
4、开发阶段
4.1、代码框架规划:代码框架设计\开发修改、代码底层框架设计\修改、关联性分析、公共代码识别\设计\维护、接口识别\设计\维护、数据库设计\管控
4.2、代码开发:代码开发、代码调试
4.3、代码自测:自测通过、测试建议编写
4.4、代码审查:功能审查、代码规范性审查、代码集成性审查、代码性能审查、代码安全性审查、代码可向下兼容性审查
4.5、代码提交:代码分支合并拆分、签入提交、编译构建
4.6、Bug修改:Bug查找\修改、Bug根源分析、Bug测试建议
5、测试阶段
5.1、测试用例分析\设计\编写、数据准备、关联性分析
5.2、测试执行、Bug登记
5.3、Bug回归测试
5.4、集成测试
5.5、性能测试
5.6、安全测试
5.7、向下兼容性测试
5.8、核心功能\主流程回归点击测试
6、发布阶段
6.1、说明文档编制、帮助文档挂接、帮助文档挂接测试
6.2、安装盘打包
6.3、升级安装部署初始化配置测试
6.4、QA人员对项目过程、关键产物进行合规性检查
6.5、项目文档整理\补齐,项目代码、开发数据库\测试数据库归档
7、安装更新阶段
7.1、实施人员自测
7.2、测试环境安装更新、现场测试
7.3、生产环境安装更新
7.4、 更新后运行跟踪、数据核对校验
8、验收阶段
8.1、企业IT部门归档定制设计文档、测试方案、测试报告、历次会议记录
8.2、回顾需求申请书、定制方案书、项目计划、人天报价,互相协商进行修正,验收签字
8.3、通知财务付款