案例解析篇
一、大型开源项目对软件工程的应用
以VS Code为例,看大型开源项目是如何应用软件工程的。
软件工程的核心,就是围绕软件项目开发,对开发过程的组织,对方法的运用,对工具的使用。
所以当我们去观察一个软件项目,我们就可以去看它的开发过程是怎么被组织的?运用了哪些软件工程的方法?使用了哪些工具?
所以接下来,就从以下几个方面分析 VS Code 对软件工程的应用:
- VS Code 的开发过程;
- 团队的分工角色;
- 各个阶段如何进行;
- 使用了哪些工具。
1、开发迭代过程
从开发模式来说,VS Code 采用的是快速迭代的开发模式,每四周一个迭代。那么这四周的迭代的工作都是如何进行的呢?
第一周
每个版本的第一周,通常是起着承上启下的作用,一方面要准备新版本,一方面还要对上一个版本的工作进行收尾。
另一个主要工作就是一起讨论下一个迭代要做的功能。其实这有点类似于敏捷开发中,每个 Sprint 开始之前的项目计划会议。
如果上一个版本开发完成的功能,发现了严重 Bug,第一周还要去修复这些紧急 Bug。
第二周和第三周
第二周和第三周主要工作就是按照计划去开发,一部分是开发新功能,一部分是修复 Bug
第四周
VS Code 团队把最后一周叫 End game,你可以理解为测试周,因为这一周只做测试和修复 Bug。
这一周要测试所有新的 Feature 和验证已经修复的 Bug,确保被修复。同时还要更新文档和写 Release Notes。
测试完成后就发布预发布版本,这个预发布版本会先邀请一部分人使用,比如说微软内部员工、热心网友。
下一个迭代第一周
每个迭代开发测试完成的版本,会放在下一个迭代的第一周发布。如果在预发布版本中发现严重 Bug,需要在第一周中修复。
如果没有发现影响发布的 Bug,那么第一周的周三左右就会正式发布上一个迭代完成的版本。
在团队分工上,VS Code 的团队很扁平,没有专职测试,通过轮值的 Inbox Tracker 和 Endgame Master 来帮助团队处理日常 Issue 和推动测试和发布工作的进行。
在工具的使用