采用精益和DevOps方法教授精益软件开发
1. 引言
在信息技术教育领域,将精益方法论应用于“精益软件开发”本科课程,同时融入完整的DevOps实践,具有重要意义。软件的开发和交付过程之间可以基于已有的精益实践建立紧密联系,这意味着DevOps方法实现端到端自动化需要对精益原则和思维有深入理解。
很多时候,即使是高级管理人员也会将精益与一些精益实践的应用相混淆。实际上,这些实践可以在任何环境中应用,即便它们最初是在精益组织中提出的。因此,课程的目标是让学生理解精益的核心,使其能够理解精益在新的软件开发环境中的适用性。为了实现这一目标,核心思路是让学生“感受”精益方法,为此设计了一系列活动,将精益理念融入课堂。
课程强调了大野耐一引入、沃麦克在其多本著作中广泛描述的精益管理的两个参考原则:
- 消除浪费:仔细分析围绕产品生产或服务交付的所有活动,判断它们是否有助于实现目标,或者是否是环境规范和法规所要求的。若不满足这两个标准之一,则消除该活动,必要时对剩余任务进行重组。
- 自动化(Autonomation):指法规(希腊语中的“nomos”)自动应用,无需任何特定行动或控制来启动,即内生控制。
2. 课程总体方法
课程旨在用精益方法教授学生精益软件开发,让他们更深入地理解这一主题。很多软件公司声称采用敏捷方法,但实际上并未真正实施,这表明了解精益和应用精益是两回事。课程期望学生能以精益的方式思考和行动,这需要在学习过程中按照精益原则组织活动,否则学生可能会发现课程内容与教学方式存在矛盾,从而错过课程的核心思想。
在教育背景下,消除浪费和自动化有具体含义:
- 消除浪费:
-