精益生产就是及时制造,消除一切浪费,利用快速推出、逐步改善的方式,强化产品的弹性,消除浪费。精益生产这种方式与敏捷式开发的理念不谋而合,产生了精益软件开发,其核心的本质是让客户在没清楚信息做正确决定前延后定型。客户一提出要求,开发团队可以迅速做出客户想要的,并由此提出七项精益开发的原则。一、消除浪费。二、内建质量。三、强化学习。四、延迟决策。五、快速交付。六、尊重他人。七、整体优化。大家经常会问到其中的两个原则是延迟决策与内建质量。
我们首先讲延迟决策,大家可能很奇怪,我们不是都强调及时决策,做错了决策也比不做决策好吗?就是因为正确的决策是基于对待决策事项有了足够信息的基础上才能做出的,而在高度不确定的环境下很难实现。所以与其匆忙的做出错误的决策,花费更大的代价,不妨多收集一些信息,多设想一些方案,推迟但能做出正确的决策。所以,敏捷不提倡完成对所有需求的分析和确认,做出详细计划之后才开始工作。而是在有了粗略的计划,初步的需求就可以开始工作了。
另外,在精益开发中,如何内建质量呢?主要通过以下五项主流的质量实现。一、建立流动性,消除传统的启动,停止启动开发程小的测定得以在系统中快速的流动。二、同行评审与结对。三、集体所有权和标准,降低组织的依赖。四、自动化。五、完整的定义使得团队围绕质量含义以及如何将其内用到解决方案中进行对齐。其他的还有诸如敏捷架构、敏捷测试测试驱动开发、行为驱动开发重构探针这些都为内建质量的实现提供了有力的支撑。
|