我知道,对我来说,我首先开始遵循项目管理的瀑布方法,然后我开始使用预测方法进行软件设计。我的意思是我们有大量的文档、UML、数据库模式、数据字典、工作流、活动图等。
在软件领域工作了 10 多年,现在我发现从响应式方法进行软件设计更加现实。我经常采用 Scrum 方法进行项目管理,并且几乎不会生成繁重的文档。我们的工作流程规范很少(尽管它们仍然有用)。这是一种更加动态的软件创建方法。当然,随着时间的推移,随着时间的推移,随着时间的推移,随着时间的推移,我们会发现我们预先计划好的新功能会发生巨大的变化,随之而来的是频繁的重构。
对我们来说最大的不同是第一种方法花费的时间更长,在软件构建世界中似乎更频繁地失败,并且几乎没有那么灵活。第二种方法提供了更大的灵活性,让我们更快地意识到失败(因此我们可以更快地纠正),并在每次迭代结束时提供某种形式的功能。
从经验中了解双方,我仍然发现很多人喜欢瀑布方法而不是敏捷方法进行软件开发。我不明白。
问题:为什么有人会在所有研究都支持敏捷的情况下使用瀑布而不是某种形式的敏捷?使用瀑布而不是敏捷的有力论据是什么?