精益软件开发的思想
我记得在早期的中学商业课上就曾在丰田公司学习精益生产,并且对通过有意设计来最大限度地减少浪费和提高生产率的想法深深着迷。 随着时间的流逝,精益方法被制造业以外的多个行业所采用,包括软件开发。
精益软件开发将一些核心原则付诸实践以优化生产力。 软件开发具有几个关键功能,这使其成为应用精益方法的正确过程:
- 可重复的过程
- 统一标准
- 团队合作
精益软件开发是一种模型,该模型通过流程来评估个人,并通过工具来进行交互。 有七个必不可少的要素来执行此过程以适合您的软件开发项目。
1.减少浪费
顾名思义,精益开发将消除所有不会增加价值的东西。
废物可在许多地区发现:
- 在制品浪费,即部分完成的工作。 可以通过诸如看板之类的在制品限制来减少这种情况。
- 生产过剩的浪费。 当反馈周期太长时,会出现额外或不必要的功能。
- 流程浪费。 您可能会在重新学习中看到这一点,可以通过更好的协作和配对编程练习来减少这种学习。
- 交接中的浪费。 运输可能会减慢流程速度。 跨职能团队可以提高效率。 独立团队应该有一个平台和流程来将工作融合在一起。
- 上下文切换时浪费资源。 这也可以通过限制在制品来抵消。
- 缺陷。 如果没有通过多重检查和制衡将质量纳入流程,就会发生浪费。
2.建立质量
精益软件开发以质量为基础。 这是有纪律的做法。 有精益的开发过程可以提高质量。
- 结对编程减少了错误沟通的浪费,并使两个开发人员的输出最大化。
- 测试标准为程序员提供了一套检查系统,以确保他们满足所有要求。
- 通过持续,及时的反馈,逐步增长或逐步开发可以提高质量。
- 更少的等待状态可以保护质量和简化效率,缩小知识差距并提高关注度。
- 自动化是一种功能强大的工具,其中使用诸如机器智能之类的资产来消除错误。
3.创造知识
精益开发的目的是在构建过程中进行有价值的学习。 这种知识使团队更加有能力,因为现在每个人都可以访问以前只有少数人头脑中的知识。 这也使入职更加容易,并且团队对于团队成员的离开更具弹性。 可以制定团队基础结构以识别和记录此知识,以便长期保留。
这些基础架构元素包括:
- 代码审查
- 配对编程
- 知识库共享
- 注释代码
- 训练
一些软件开发团队将用户案例纳入知识库,以提供最佳实践信息。
4.推迟承诺
精益的软件开发方法考虑了短期目标。 通过连续的数据收集和有意的反馈,只有在所有数据点均完好无损时才能做出决策。 一旦数据被完全理解,就可以将其包括在计划中。 从本质上讲,推迟承诺会将重点从长期计划转移到当前流程告诉您的内容。 从长远来看,这是最有价值的信息。
5.快速交货
结合对当前和现在的关注,精益软件开发有利于提高效率。 如果遵循这些原则,则应加快流程。 这是因为您减少了浪费,并消除了团队的障碍。 如果每个人都有正确的数据,工具和明确的期望,则进步可以更快地前进。 阻止程序始终被删除。 精益团队不会无休止地工作或过度努力。 精益团队制定简单的解决方案,接收并吸收反馈并继续前进。
6.尊重团队
当精益管理首先走到最前沿时,它的战斗口号是“人胜于流程”。 认识到真实的人会做真正的工作,精益管理向个人致敬。 通过主动沟通,流程改进甚至团队如何处理冲突来传达尊重。 健康的工作环境对于实现精益方法的所有其他核心原则至关重要。
7.优化整体
软件开发可能成为速度或测试问题的牺牲品。 冲动会导致错误。 测试不充分会导致诸如以下的损失:生产中的错误,客户不满意,修复所花费的时间和金钱,收入损失,对品牌的打击等。为了抵制次优,精益开发原则可帮助精益组织了解每个项目的下游影响。 价值流应该被识别和优化。
精益方法
要真正成为一个精干的团队,您需要遵守所有这些原则。 您不能有脱离成员或在精益方法之外操作的独行侠。 一旦所有人都参与进来,您就可以在软件的帮助下激活这种精益方法。 有一些软件可以帮助您进行精益软件开发,为诸如结对编程,团队沟通和计划敏捷冲刺之类的事情创建正确的上下文。
最后,我建议您看一下该视频 。 它提供了精益流程的简单概述,以及在任何行业中要实施的流程。
您是否已将精益方法论应用于编程方法甚至在软件之外的团队中? 请在下方评论,让我知道您的想法!
翻译自: https://hackernoon.com/a-quick-guide-to-lean-software-development-principles-h86g3ym0
精益软件开发的思想
精益软件开发借鉴精益生产理念,旨在减少浪费、建立质量、创造知识、推迟承诺,实现快速交付。通过结对编程、自动化测试、持续反馈等方法提升效率。团队合作、尊重个体和优化整体是其关键要素,适用于各种软件开发项目。

1119

被折叠的 条评论
为什么被折叠?



