为了开发具有下列特征的软件,我们必须要重新审视我们的过程:
-
知识密集
-
创造性
-
虚拟性(不可见性)
-
实现不具有唯一性
-
复杂
-
高附加值
软件开发过程的一些现实:
-
周期短
-
成果不可见性
-
对技术的要求高
-
技术更新快
-
风险大
软件开发过程必须要做到:
-
价值驱动
-
架构驱动
-
管理、控制与适应需求的变化
-
适应软件开发人员
-
让成果可见
-
效率高
-
高质量
-
降低风险
与过程有关的一些最佳实践:
-
迭代,迭代周期控制在2-6周的范围内。迭代以软件产品构建为中心,每次迭代确定一个关键的主题,完成一个有价值的工作。软件产品构建需要首先确定好软件产品的基础,那就是客户的需求与技术的架构,然后再架构基础上进行分阶段的逐步开发。
-
价值驱动
-
风险驱动