最后的 精益软件开发的7个关键原则 是 ‘优化整体‘.
在他们的流行书中 ‘实施精益软件开发‘,Mary和Tom Poppendieck解释说,软件行业因其次优化的趋势而闻名。他们举两个例子:
恶性循环1
客户想要一些新功能‘yesterday’.
开发人员会听到:不惜一切代价快速完成它!
结果:对代码进行了草率的更改。
代码库的复杂性增加。
代码中的缺陷数量增加。
恶性循环数2
测试工作繁重。
结果:在最初编写代码之后很长时间进行测试,或者减少了测试。
开发人员不’无法立即获得反馈,或者某些东西没有经过适当的测试。
代码中存在更多缺陷。
测试人员还有更多工作要做。
对开发人员的反馈和质量改进将进一步延迟。
这些恶性循环最终可能导致添加新功能所需的时间呈指数增长。它们还会导致产品质量明显下降,从而影响最终用户,并最终还可能影响其效率或产品竞争力。
精益组织寻求优化整个价值流,而不仅仅是单个职能或团队。在项目和流程中出现严重延迟的情况极为普遍–以及沟通问题和导致其他问题的误解–由团队,部门或组织之间的移交引起。事实是跨越组织边界– even internal ones – 是 expensive.
从这种经验中得出的敏捷方法的原则之一是,组织团队的最佳方法是使他们组成完整,多学科,共处一地的产品团队,这些团队具有交付团队所需的所有角色和技能。从头到尾的请求,无需参考其他团队。
自然,这可能很难实现–特别是如果你不这样做’无权重组您的组织!那’有时它的原因之一’s important that 敏捷采用是由高层推动的。尽管如此,事实仍然是,我们在传统IT部门中面临的许多问题是由围绕角色或技能而非产品或项目的团队构建引起的。
当一个团队按照产品来组织,并且需要交付所有东西时,会有一些明显的优势。除了优化团队’在避免上述问题的过程中,我在许多团队中也观察到,像这样的团队进行组织时,对他们负责的产品拥有更好的所有权,从而带来更好的承诺,质量和创新。他们也往往具有更强的团队合作精神和团队成员之间更好的合作,因为团队是一个有共同目标的团队。
将所有这些与更好的优化工作流程结合在一起,以这种方式带来的好处或组织起来将是非常重要的–不仅在团队方面’的性能,以及产品的质量,最终可以使您的组织更具竞争力。更好的产品可以通过提高内部效率或通过从产品中获得更多收入来直接影响利润。
凯莉
精益软件开发的7个关键原则: