持续改进
当我们开始一个新的软件项目时,我们通常充满热情。 整个团队认为,这次我们将能够避免在先前项目中犯的错误。 我们梦想着这次,一切都会变得完美。
然后, 我们醒来 。
当头几周(或几个月)结束后,我们开始注意到各种问题:
- 我们的项目负责人已经放弃AWOL,我们怀疑他没有像我们这样坚定。
- 我们无法自动执行部署过程,因为我们的构建脚本很烂。
- 我们注意到,我们的代码库并不完美,需要对其进行重构。
如果我们解决了这些问题,您是否认为我们的问题已经结束?
不行 我们最终会注意到新的问题。 这就是为什么我们需要持续解决问题的“过程”。
持续改进过程,通常也称为持续改进过程(缩写为CIP或CI),是一项持续不断的努力,旨在改进产品,服务或过程。
日文中的“改善”(Kaizen)意为“改进”或“为最佳而改变”,是指专注于持续改进制造,工程和业务管理流程的理念或实践。
哇。 听起来很花哨(废话)。 但是, 我们不应让幻想的定义欺骗我们 。
持续改进对我们有用的三个原因:
1.有道理
持续改进不仅是一个幻想。 这是一个自然的过程,旨在改善我们目前的状况。 实际上, 我们在日常生活中使用的过程非常相似 。 让我们考虑以下问题:
如果灯泡烧坏了怎么办?
究竟。 您将用新的替换它。
如果打开灯时新灯泡烧坏了怎么办?
您会用新的替换它还是请电工检查电路是否有问题?
这是一个艰难的决定。
通常,当我们解决现有问题时,就会注意到新问题。 当然,这不会一直发生,但是一旦发生,我们就必须做出React(或面对后果)。
坐在黑暗的房间里可能会很不舒服,但是在没有解决问题的情况下继续进行软件项目可能会导致灾难。
冒这个险真的有意义吗?
2.帮助我们更聪明地工作
我是一个很懒惰的人。 这就是为什么如果我可以通过更聪明地工作来获得相同或更好的结果,我不想更努力地工作。 换句话说,我要消除所有并非绝对必要的工作。
这正是持续改进对我们所做的。
从本质上讲,这是一个“连续过程”,它包含三个步骤:
- 找出问题。
- 修理它。
- 确保不再发生。
从根本上讲,我们在软件开发项目中遇到的问题是阻碍我们进行额外工作的障碍(无论现在还是以后)。 因此,尽快解决这些问题很有意义,这样我们就可以减少额外的工作量。
当我们团队的所有成员都致力于尽快解决问题时,我们就可以做到。
3.它帮助我们消除浪费(并增加价值)
软件开发人员最重要的职责是什么?
这个问题的明显答案是:
编写代码。
尽管编程是我们的责任之一,但这不是正确的答案。 软件开发人员最重要的责任是为客户增加价值 。
这导致我们陷入浪费(aka Muda )。 浪费是一种敏捷/精益的软件开发概念,其指定如下 :
一切没有给客户增加价值的东西都被认为是浪费(无辜)
这包括(除其他事项外):
- 要求不明确
- 通讯缓慢
- 由软件开发过程引起的延迟
- 不必要的代码和功能
那个清单会响吗?
我们在软件开发项目期间面临的问题降低了我们为客户增加价值的能力。 因此, 我们越早解决这些问题,我们产生的浪费就越少 。
一直在进步
持续改进并非易事。 当一切似乎都井井有条时,很容易接受现状,并停止寻找可能的问题。
具有讽刺意味的是,这一刻我们应该越来越努力。 显而易见的问题比细微的问题更容易发现和解决,但从长远来看 ,这些细微的问题对我们造成的危害最大 。
如果我们不能发现问题,就不能“估计”它的影响或解决它。 我们被蒙住了!
我很痛苦地意识到许多软件项目都是以这种方式完成的,我声称这是许多项目失败的原因之一。 如果我们看不到前进的方向,我们如何期望我们成功?
我们应该选择另一条道路。 我们应该通过越来越聪明地工作来最大限度地提高生产力。 即使我们不确定在哪里可以找到,我们也必须保持无情并继续消除浪费。
如果我们坚持不懈,我们将得到回报 。
翻译自: https://www.javacodegeeks.com/2014/01/why-continuous-improvement-is-worth-it.html
持续改进