您应该知道的10大流行编程方法!这种编程方法类似于工厂装配线,要求开发人员完成一个开发阶段,然后才能进入下一阶段。这种方法是高度结构化的,但是当项目需求发生变化时它并不适用。近年来,开发人员更喜欢迭代性更强的过程,这样更容易适应项目范围和需求的变化。敏捷软件开发及其看似无穷无尽的变体正变得越来越普遍。它们是现在主流的编程方法。在本文中,我们描述了十种最流行的软件开发方法的功能特征,包括敏捷、Scrum、精益、极限编程,甚至瀑布。1.敏捷软件开发2001年,17位软件开发人员签署了敏捷宣言(AgileManifesto),从而被载入史册。从那时起,敏捷软件开发开始流行起来。事实上,在2015年ForresterResearch的一份报告中,54%的受访公司表示他们超过一半的内部开发团队正在使用敏捷方法。敏捷哲学基于12条核心原则,这些原则侧重于短迭代、持续交付、简单性、回顾以及最终用户和开发人员之间的协作。2.Scrum敏捷软件开发有很多版本。Scrum是最流行的版本之一。《2015年敏捷现状》报告调查的受访者中有70%表示他们使用Scrum或Scrum混合方法。这是JeffSutherland于1993年首次发明的协作框架。它将复杂的项目划分为较短的迭代开发周期(冲刺),每个周期持续两到四个星期,并着重于勇气、专注、承诺、尊重这五个价值观,和开放性。3.精益软件开发虽然精益开发常常与敏捷开发联系在一起,但精益开发的原则实际上来源于丰田的精益制造过程。这种开发方法依赖于七个关键原则:消除浪费、促进反馈、尽可能延迟决策、快速交付、整合完整性、授权团队和全面思考。精益第一次引起软件开发社区的注意是在2003年,当时MaryPoppendieck和TomPoppendieck发表了《精益软件开发:敏捷工具包》。4.看板看板是敏捷软件开发的另一种变体,受到丰田的启发。它为开发人员提供了一种直观的方式来查看需要完成哪些工作,允许他们在有精力时“拉”工作,而不是“推”工作,以完成某些任务。看板依赖于三个核心原则:可视化当前正在处理的工作、限制进行中的工作以及改进流程。5.快速应用程序开发(RAD)多年来,几种不同的软件开发方法都使用了RAD这个名称。也许最著名的是JamesMartin的方法,它于1980年代在IBM开发。它被认为是一种敏捷方法,因为它侧重于适应不断变化的需求的能力,而不强调提前计划。6.测试驱动开发(TDD)测试驱动开发与敏捷软件开发和极限编程都相关。这种方法由肯特·贝克(KentBeck)等人首创,要求开发人员在开始编程工作之前为任何新功能编写测试。它鼓励开发人员编写最少的代码。7.极限编程这种敏捷软件开发高度依赖结对编程。与其他敏捷方法一样,它侧重于快速迭代和频繁的需求变更。它是由敏捷宣言的签署者之一KentBaker开发的,他于1999年出版了《极限编程详述:拥抱变化》一书。8.统一的软件开发过程这种软件开发方法以发明它的公司RationalSoftware的名字命名,它是2003年被IBM收购。一些编程方法非常死板,但统一的软件开发流程旨在轻松适应独特的情况。它是一个高度依赖视觉模型的迭代框架。9.螺旋模型20世纪80年代中期,BarryBoehm首次描述了螺旋模型,它是一种风险驱动模型,结合了瀑布开发、增量开发、原型设计等软件开发方法的要素。其核心是,开发人员应该根据风险做出决策,并且他们应该编写尽可能少的代码以将风险降至最低。10.瀑布模型与本文中描述的其他软件开发方法不同,瀑布模型是顺序的而不是迭代的。从计算的早期到最近,瀑布模型一直是最常用的软件开发方法。它最适合小型项目:所有设计要求都是事先知道的。原标题:10TopProgrammingMethodologies,作者:CynthiaHarvey
