如何降低软件项目的风险 -- 包括客户的风险,软件提供商的风险
引言:
“降低软件项目的风险” 一般都是软件提供商的项目经理正在自己立场思考的问题。而这篇文章将结合“结合降低客户的风险”和“软件提供商的风险”提出一些自己的观点。
1. 传统模式: 写需求分析、 设计、 编程、测试、交付给客户
2. 敏捷开发模式:通过多次迭代
存在的缺点: 迭代的次数难于控制,很难向客户说明什么时候能完成。客户习惯了当需求改变后,软件提供商总是能迅速实现,这将导致客户不认真思考问题。
3. 自己的模式:
a) 先采用敏捷开发模式,只记录简要的需求, 迅速开发出一个模型,并演示给客户看。(注:这里是演示,而非交付。在这个阶段中,为了降低客户的风险,可以不先向客户收钱。)
b) 根据演示的结果,判断是否实施这个项目。如果要,再做详细的需求分析。估计一个比较大的完成时间,并给出单位时间的项目收费和软件开发的总费用。(如这个项目需要6个月的时间,每个月需要2万的资金。总价为2万/月×6个月=12万)。也可以分为更为仔细的计算方式。
C)细分每个需求的开发时间,计算出比较精确的时间。
“降低软件项目的风险” 一般都是软件提供商的项目经理正在自己立场思考的问题。而这篇文章将结合“结合降低客户的风险”和“软件提供商的风险”提出一些自己的观点。
1. 传统模式: 写需求分析、 设计、 编程、测试、交付给客户
2. 敏捷开发模式:通过多次迭代
存在的缺点: 迭代的次数难于控制,很难向客户说明什么时候能完成。客户习惯了当需求改变后,软件提供商总是能迅速实现,这将导致客户不认真思考问题。
3. 自己的模式:
a) 先采用敏捷开发模式,只记录简要的需求, 迅速开发出一个模型,并演示给客户看。(注:这里是演示,而非交付。在这个阶段中,为了降低客户的风险,可以不先向客户收钱。)
b) 根据演示的结果,判断是否实施这个项目。如果要,再做详细的需求分析。估计一个比较大的完成时间,并给出单位时间的项目收费和软件开发的总费用。(如这个项目需要6个月的时间,每个月需要2万的资金。总价为2万/月×6个月=12万)。也可以分为更为仔细的计算方式。
C)细分每个需求的开发时间,计算出比较精确的时间。