精益软件开发(LSD)是一个敏捷框架,用于简化和优化软件开发过程。我也可以将其称为“最小可行产品(MVP)”策略,因为这些思维方式非常相似,因为两者都希望通过专注于新的交付成果来加快开发速度。
丰田被认为可以激发精益开发方法,该方法旨在优化生产并最大程度地减少浪费。看到丰田的精益方法,许多其他制造团队开始采用相同的策略。它于2003年首次在软件开发中采用。
LSD的优势:
LSD已证明可以通过以下方式改善软件开发:
- LSD在设计软件时消除了不必要的处理阶段,从而可以节省时间,从而简化了开发过程。
- 精益于MVP,精益软件开发优先考虑基本功能,从而消除了花时间进行无价值构建的风险。
- 随着越来越多的成员参与,它提高了团队的参与能力,从而优化了整个工作流程并减少了损失。
精益软件开发的关键原则:
这里有7条建立的精益原则,其中包含一系列策略,实践和流程,可以构建更高效的软件产品:
- 消除浪费
- 交货快
- 加强学习
- 建立质量
- 尊重团队合作
- 延迟承诺
- 优化整个系统
下图说明了LSD的原理:
消除浪费:识别并消除浪费,例如不必要的代码,流程延迟,通信效率低下,质量问题,数据重复,日志中的任务多于完成的任务等。项目经理定期举行会议。这可以使团队成员指出错误并在下一轮中提出更改建议。
快速交付:以前很长的时间规划曾经是业务上的关键成功,但是随着时间的流逝,工程师发现太多的时间花费在构建具有不需要功能的复杂系统上。因此,他们提出了MVP策略,这使他们能够快速构建包含一些功能的产品,并将产品投放市场并观察其反应。这种方法允许他们根据客户反馈来增强产品。
扩大学习:通过大量的代码审查,跨团队适用的会议来改善学习。还可以确保由一名编写特定代码的工程师不会积累特定知识,因此可以使用配对编程。
打造质量: LSD旨在防止浪费,关注不牺牲质量。开发人员经常应用测试驱动的程序在编写代码之前对其进行检查。还可从团队成员和项目经理那里获得不断反馈的质量。
尊重团队合作:LSD致力于赋予团队成员权力,而不是控制他们。建立协作氛围,在期限短和工作量巨大的情况下保持完美的平衡。当新成员加入一个完善的团队时,此方法非常重要。
延迟承诺:在传统的项目管理中,通常会在您创建应用程序时发生,事实证明这完全不适合市场。 LSD方法通过将不可逆的决定推迟到所有实验完成之前,认识到了这种威胁并为改进留有余地。这种方法总是将软件构造为灵活的,因此可以使用新知识,并且工程师可以进行改进。
优化整个系统: lean的原则允许经理将问题分解为较小的组成部分,以优化团队的工作流程,在成员之间建立团结并激发共同责任感,从而提高团队绩效。
LSD的弱点:
- 使它像其他框架一样可扩展,因为它在很大程度上取决于所涉及的团队。
- 很难保持同步,因此开发人员与团队成员合作并不容易,因为他们之间可能会发生冲突。
- 由于客户必须明确设置他们的开发需求,因此决策过程很困难。
精益软件开发是一种积极主动的方法之一,可通过生产力和清洁度来驱动您的身体。它与敏捷方法论,知识共享经验,快速产品交付紧密相连。准确地构建了所有开发流程和开发环节,以便及时以最低的成本交付最终产品。