软件开发中的向左偏移、单体架构与微服务架构解析
1. 向左偏移(Shift Left)的概念
“向左偏移”意味着回顾旧流程,识别旧方法中的不足,并通过经验不断迭代设计以改进它们。在 IT 市场中,每年都会学到很多经验教训,疫情期间也不例外。随着进入新的十年,计算领域的这一重大转变所带来的影响不容小觑。企业如何确保在新范式下选择的技术合作伙伴是正确的呢?
日语中的“ポカヨケ(Poka yoke)”字面意思是“防错”,其目标是通过早期预防和纠正来防止意外错误并消除产品缺陷。对于开发者来说,“向左偏移”是一种旨在在软件开发生命周期中发现并预防缺陷的实践。“左”反映了定义软件开发周期的迭代循环,不断提出经过测试和评估的更改。这也很好地反映了使用科学方法重新审视和质疑零假设的严谨方法。回到左边,即更细致地审查并继续改进设计(而不是直接使用第一个可用的原型进行发布),正是将“ポカヨケ”的理念付诸实践。
2. 软件开发中的挑战实例
如今,快速应用部署是企业满足消费者需求和应对挑战的必备能力。但通过软件快速交付功能以支持不断变化的需求并非易事。例如,有人基于 Python 的 scikit - image 库构建了一个模型,在将库更新到最新版本后,脚本突然出错。原因是最新版本不接受代码中的 visualize=true
选项,而必须写成 visualise=true
。这充分说明了开源社区的变化是持续不断的,这些变化可能会迅速影响甚至破坏企业的服务。
开发团队改进现有应用或发现代码错误的速度越快,就能有更多时间投入到新技能学习或开发更好的应用中。