在老师的推荐下看了这张出自 Toggle 的漫画,了解了软件开发模式的变迁史。

这张图片从上向下,五个房间,分别是瀑布模型(waterfall),敏捷开发(agile),看板(KANBAN),SCRUM 和精益软件开发(lean),每个模型都有自己的特点、优势及适用范围,在现实生活中,这些模型往往是前人在开发过程中,意识到已知的开发模型并不能满足自己工作的要求而开发出来的。可以看出,软件的开发是在向面向对象的方向发展的,用户逐渐能看到程序开发的进度,开发中遇到的要求的处理越来越灵活,团队资源利用率也在上升。而对于大小规模的软件,都有相应的开发模型对其适用,开发过程是有在完善的。

但我们当前的开发环境仍在不断改变,实际工作中的软件开发和管理模式,往往并不能纯粹的归类于以上某种类型。即使是相同的开发模型,在不同的团队中也往往会根据实际情况进行变化和改进。因此,我们在现实生产中往往要开发一套适合自己团队的开发模型,这就要求团队领导者必须能活用软工的知识,且反应速度要快。这样才能软件需求越来越高的社会中存活下来。