精益软件开发的思想

我记得在早期的中学商业课上就曾在丰田公司学习精益生产,并且对通过有意设计来最大限度地减少浪费和提高生产率的想法深深着迷。 随着时间的流逝,精益方法被制造业以外的多个行业所采用,包括软件开发。

精益软件开发将一些核心原则付诸实践以优化生产力。 软件开发具有几个关键功能,这使其成为应用精益方法的正确过程:

  1. 可重复的过程
  2. 统一标准
  3. 团队合作

精益软件开发是一种模型,该模型通过流程来评估个人,并通过工具来进行交互。 有七个必不可少的要素来执行此过程以适合您的软件开发项目。

1.减少浪费

顾名思义,精益开发将消除所有不会增加价值的东西。

废物可在许多地区发现:

  • 在制品浪费,即部分完成的工作。 可以通过诸如看板之类的在制品限制来减少这种情况。
  • 生产过剩的浪费。 当反馈周期太长时,会出现额外或不必要的功能。
  • 流程浪费。 您可能会在重新学习中看到这一点,可以通过更好的协作和配对编程练习来减少这种学习。
  • 交接中的浪费。 运输可能会减慢流程速度。 跨职能团队可以提高效率。 独立团队应该有一个平台和流程来将工作融合在一起。
  • 上下文切换时浪费资源。 这也可以通过限制在制品来抵消。
  • 缺陷。 如果没有通过多重检查和制衡将质量纳入流程,就会发生浪费。

2.建立质量

精益软件开发以质量为基础。 这是有纪律的做法。 有精益的开发过程可以提高质量。

  • 结对编程减少了错误沟通的浪费,并使两个开发人员的输出最大化。
  • 测试标准为程序员提供了一套检查系统,以确保他们满足所有要求。
  • 通过持续,及时的反馈,逐步增长或逐步开发可以提高质量。
  • 更少的等待状态可以保护质量和简化效率,缩小知识差距并提高关注度。
  • 自动化是一种功能强大的工具,其中使用诸如机器智能之类的资产来消除错误。

3.创造知识

精益开发的目的是在构建过程中进行有价值的学习。 这种知识使团队更加有能力,因为现在每个人都可以访问以前只有少数人头脑中的知识。 这也使入职更加容易,并且团队对于团队成员的离开更具弹性。 可以制定团队基础结构以识别和记录此知识,以便长期保留。

这些基础架构元素包括:

  • 代码审查
  • 配对编程
  • 知识库共享
  • 注释代码
  • 训练

一些软件开发团队将用户案例纳入知识库,以提供最佳实践信息。

4.推迟承诺

精益的软件开发方法考虑了短期目标。 通过连续的数据收集和有意的反馈,只有在所有数据点均完好无损时才能做出决策。 一旦数据被完全理解,就可以将其包括在计划中。 从本质上讲,推迟承诺会将重点从长期计划转移到当前流程告诉您的内容。 从长远来看,这是最有价值的信息。

5.快速交货

结合对当前和现在的关注,精益软件开发有利于提高效率。 如果遵循这些原则,则应加快流程。 这是因为您减少了浪费,并消除了团队的障碍。 如果每个人都有正确的数据,工具和明确的期望,则进步可以更快地前进。 阻止程序始终被删除。 精益团队不会无休止地工作或过度努力。 精益团队制定简单的解决方案,接收并吸收反馈并继续前进。

6.尊重团队

当精益管理首先走到最前沿时,它的战斗口号是“人胜于流程”。 认识到真实的人会做真正的工作,精益管理向个人致敬。 通过主动沟通,流程改进甚至团队如何处理冲突来传达尊重。 健康的工作环境对于实现精益方法的所有其他核心原则至关重要。

7.优化整体

软件开发可能成为速度或测试问题的牺牲品。 冲动会导致错误。 测试不充分会导致诸如以下的损失:生产中的错误,客户不满意,修复所花费的时间和金钱,收入损失,对品牌的打击等。为了抵制次优,精益开发原则可帮助精益组织了解每个项目的下游影响。 价值流应该被识别和优化。

精益方法

要真正成为一个精干的团队,您需要遵守所有这些原则。 您不能有脱离成员或在精益方法之外操作的独行侠。 一旦所有人都参与进来,您就可以在软件的帮助下激活这种精益方法。 有一些软件可以帮助您进行精益软件开发,为诸如结对编程,团队沟通和计划敏捷冲刺之类的事情创建正确的上下文。

最后,我建议您看一下该视频 。 它提供了精益流程的简单概述,以及在任何行业中要实施的流程。

您是否已将精益方法论应用于编程方法甚至在软件之外的团队中? 请在下方评论,让我知道您的想法!

翻译自: https://hackernoon.com/a-quick-guide-to-lean-software-development-principles-h86g3ym0

精益软件开发的思想

精益软件开发的思想_精益软件开发原理快速指南相关推荐

  1. 有没有什么方法快速能找到导致软件崩溃的进程_手机软件闪退闪得怀疑人生?看我专治闪退二十年!...

    看视频看到精彩部分突然闪退!聊天聊到一半话还没说完又闪退了!游戏约起团战刚开本又双叒闪退了!!!手机软件闪退真的是令人头大,那么到底有什么解决方法呢?手机闪退的原因有很多,我们先要找到闪退的原因,才能 ...

  2. 开发web前端_移动前端开发和web前端开发的区别?

    如果说非要有区别的话应该就是开发的软件和方式不同,因为他们本来就不属于一端的东西,具体来看看下面: web前端开发 用最简单粗暴的方式来讲,就是用html + css + javascript来构建一 ...

  3. 原生开发什么意思_成都APP开发:原生APP开发与Web APP开发有什么区别呢?

    智能手机上的APP应用软件对于人们来说已经成为日常工作生活当中必不可少的工具,无论是工作生活中的聊天交流,购物,饮食,出行,娱乐都会有相应的APP软件.目前常见的APP软件开发模式有两种,一种是原生A ...

  4. java服务端开发的好处_用java开发web的优势到底在哪里?

    你所说的 "客户端访问页面也不需要装jvm啊" 证明了你连服务端和客户端都分不清 你可能是正版培训班的受害者 花点功夫解释下给你哈. 纵向比较:客户端编程 vs 服务器编程 客户使 ...

  5. python后端开发学路线_【后端开发】Python要学哪些内容?Python程序员学习路线图...

    很多零基础入门学习python不知道学习什么?也不知道Python要学哪些内容?下ki4网为您总结一下Python程序员学习路线图. python的应用范围是很广泛的,例如一些网络的爬虫,和web的开 ...

  6. ie浏览器开发比谷歌浏览器_跨浏览器开发:处理IE

    ie浏览器开发比谷歌浏览器 I compare developing for Internet Explorer to growing up in a mental asylum. If you we ...

  7. 什么是期权激励_理解激励股票期权的快速指南

    什么是期权激励 by Katie Siegel 凯蒂·西格尔(Katie Siegel) 理解激励股票期权的快速指南 (A quick guide to understanding incentive ...

  8. 软件开发详细设计说明书_汽车软件开发之ASPICE系统需求过程组

    点击蓝字 关注我们 汽车电子软件开发流程 和朋友交流时,被问到是什么行业时? 我:汽车电子软件开发. 朋友:那你认为什么开发语言是最好的呢? 我:.......Matlab.ASCET? 朋友:gun ...

  9. visual studio可以开发app吗_个人能开发App软件吗?从想法到App开发完成,我只用了三天...

    我有一个App的创意,该怎么实现的呢?只能花费几十万成本找App开发公司进行开发?自己能不能制作App软件?其实现在借助一些全新的App软件开发工具,普通人自己也能制作出App软件. 这里给大家分享一 ...

最新文章

  1. ASP.NET禁用视图状态
  2. ORACLE OLAP错误ORA-06512: at SYS.OLAPIHISTORYRETENTION
  3. 域名过期多长时间才能注册
  4. 世卫组织总干事谭德塞:没有国家可以假装大流行已结束
  5. linux sublime 输入中文,Linux中Sublime Text无法输入中文怎么办
  6. foreach 实现 MyBatis 遍历集合与批量操作数据
  7. 用wxpython做ui_wxPython - 如何强制UI刷新?
  8. linux动态路由rip配置,配置 动态路由协议OSPF和RIPv2实现全网互通^
  9. 移动端适配常用解决方案
  10. linux系统日志_如何使用 Linux Cockpit 来管理系统性能 | Linux 中国
  11. python之file 方法
  12. 【LeetCode】Sum Root to Leaf Numbers
  13. java框架之SpringBoot(16)-分布式及整合Dubbo
  14. 室内设计优美语句_关于室内设计的名言
  15. 一款小工具DeskPinsEx开发笔记
  16. 技嘉x79up4支持服务器内存吗,技嘉X79-UP4主板硬件规格解析
  17. 如何免费使用office软件?
  18. android 7.0 壁纸设置,android7.0怎么换锁屏壁纸
  19. redis的安装,配置
  20. Vue 关闭浏览器清除Cookies

热门文章

  1. 断点续传文件服务器,断点续传 文件服务器
  2. Linux常用命令——git命令
  3. comsol三维多孔结构 泡沫材料 孔隙介质模型
  4. 船模制作——遥控模块 基于stm32和nrf24l01(固件库开发)
  5. 弟中弟的Leetcode总结——数组类(二)
  6. Python最详细的Excel操作方式,你值得拥有!
  7. 微信PC客户端无法发送图片,怎么解决?
  8. 跨境电商如何通过实时聊天服务改善客户体验?
  9. sublime的reopen with encoding和reload with encoding区别
  10. x3100服务器设置linux启动,IBM System x3100服务器常见问题解答