Answers:
您列表中的名称并不全是方法论,它们在不同级别上扩展:
区分哪个是困难的工作。您显然可以划出一条历史线,但是一种方法很少直接基于另一种方法。他们宁愿重叠,彼此借鉴,有时彼此回应...我看不到明确定义的分类,尽管您可能会概述几个大家族。
另一种看待它的方法是从一代的角度来看。在企业软件方面,我想说我们已经知道了两代方法。第一个是瀑布和V模型,其中大多数是其他工程学科应用于软件的预先存在的过程。第二代(您可以称其为“敏捷”,但它在创造“敏捷”一词之前就已经很久了)就开始了,它是对第一代流程繁重的反应,当时人们开始意识到软件是一种完全不同的动物,并且满足该要求的标准软件以及可以确保这些标准确实有效的步骤,仍然有待探索。
最后,您应该注意,尽管在软件中可能比在其他学科中更多,但方法论并不是您可以用来使事情正常运行的秘诀。软件开发具有与技术方面一样多的人为方面,并且团队或经理提出了精打细算的方法论和盲目的应用清单,可以预料会有一些惊喜。仅仅看诸如年复一年的混沌报告之类的软件项目成功率的研究,就可以知道软件方法论的历史与一系列失败的尝试有关,而不是牢固,科学地建立的,可重复的过程的规则。
有三种:
其余的是这些的变体和组合
请注意,来自瀑布的工件(初始,需求,功能规格,设计规格,测试规格,质量控制规格等)全部涵盖了对项目重要的内容,大多数(如果不是全部)都被其他方法所涵盖,但是非常不同的方式。例如,在TDD中,功能,用户案例和测试说明涵盖了瀑布的需求,功能规范和测试规范。在RUP中,甚至添加了更多的工件,这些工件破坏了瀑布规格(例如,利益相关者文档是Inception文档的一部分),但是以螺旋方式进行
完成后,请发布指向您结果的链接,听起来像是一篇有趣的论文!
您可以提及三种基本方法:原型制作,螺旋和瀑布。我不会将精益,TDD或无尘室视为方法论,而是将过程视为方法论的一部分。