RUP/TDD/Agile/Scrum/XP成就企业级Java开发

日期: 2012-08-15 作者:Lukas Stewart翻译:张宣彬 来源:TechTarget中国 英文

敏捷(Agile)是目前在Java开发团队中最流行的软件方法,(至少根据2011年TheServerside.com公司的读者调查结果是这样的)。52%的受访者目前正在使用敏捷,另外20%的人打算在未来向这种开发模式转移。这种方法的价值已经被大多数用户实施敏捷过程反复证明,他们报告实施敏捷有下面的部分或全部益处:   降低成本,缩短交货周期,更快的发布时间   在处理整个项目需求变化时具有更大的灵活性。   需要更少的管理监督来改进团队动力   能与利益相关者更好的沟通   满足敏捷的多面性   当你进一步把敏捷分解成更小的子类时,46%的受访者坚持广泛宣传“Scrum”技术,而另一些却对不太……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

敏捷(Agile)是目前在Java开发团队中最流行的软件方法,(至少根据2011年TheServerside.com公司的读者调查结果是这样的)。52%的受访者目前正在使用敏捷,另外20%的人打算在未来向这种开发模式转移。这种方法的价值已经被大多数用户实施敏捷过程反复证明,他们报告实施敏捷有下面的部分或全部益处:

  降低成本,缩短交货周期,更快的发布时间

  在处理整个项目需求变化时具有更大的灵活性。

  需要更少的管理监督来改进团队动力

  能与利益相关者更好的沟通

  满足敏捷的多面性

  当你进一步把敏捷分解成更小的子类时,46%的受访者坚持广泛宣传“Scrum”技术,而另一些却对不太知名的敏捷开发树极其信赖。其中有许多实际是在混合形式里面利用的,因为基于一个特定的组织,团队或项目的需求,有足够的自由度来混合和匹配。这里有一个统计是关于公司使用这些方法的百分比(因为许多公司使用一种以上的方法,总数将超过100%)。

  专案开发(13%)

  也许这种风格更应该叫做“凭感觉”。一个专案方法依赖于一个碰巧拥有这种技能和才华的工作人员小团队。

  优点:高度灵活和成本效益。在面对几乎完全混乱,没有建立好的坚实开发进程的情况下,能够成功交付令人惊讶的结果。

  缺点:失去一个团队成员可能导致整件事情土崩瓦解。高深莫测,不能向更大的项目扩展。

  应用:适合小的,一次性的需要马上完成的软件项目。在建立一个更加稳定,规范的项目管理过程时,可以作为一项权宜措施。

  测试驱动开发(30%)

  测试驱动开发(TDD)实际上是一个非常流行的方法。它包含使用测试来不断推动敏捷开发过程向下一步发展。每个短的开发周期,包含创建自动化的单体测试,能够不断地重复测试,以确保该软件随着发展也能继续正确的执行。

  优点:品质保证和文件在开发过程中建立。这个概念很容易理解和执行:一直测试直到失败,做出更改直到单体测试通过,删除冗余代码,然后重复操作。

  缺点:长期来说可能对士气不好,因为它专注于迫使失败并修复错误。如果不把代码的最终目的牢记于心,可能会失去大局观。

  应用:适合于需要松散耦合和易于维护的软件。对于要求更少错误的快速开发比较好。最适合团队成员中有一个完美主义者或有“修复”的态度的人,而且喜欢处理细节。

  XP极限编程(19%)

  这种编程风格属于“极端”,在某种意义上说,它包含一个组织非常严密的团队,他们在很短的时间周期发布“立刻可用”的产品——往往在发布一个新版本之间的间隔只有几个星期。该小组包括一个“顾客”角色,扮演一个实际客户或最终用户。此人贯穿于整个项目发展过程并定义软件的目标。他或她还亲自测试每一个新版本,以确保它在“现实世界”的环境中合格。程序员两人一组,所有团队成员都使用一个标准化的编码方法。

  好处:高水平的顾客满意度,因为最终用户是完全融入在发展过程中的。团队可以轻松地做出决定,因为每个人的进度都是相同的。产品可以在早期版本中工作,随着时间的推移可以变得更好。

  缺点:成本可能是不可预测和难以控制的,因为结果是最重要的。非常紧张的工作环境,许多程序员需要一些时间来适应。

  应用:最适合于比较小的,不太复杂的项目,并且该软件能够动态设计。最理想的情况是,客户想要深入参与。

  RUP统一软件开发过程(19%)

  像这样一个过程实际上是一个产品和一套工具。这个开发框架是IBM的发明,它有助于开发人员快速,高效地创建软件。这个过程有四个阶段:成立,制定,建设和过渡,多次迭代来实现最终成果。它实际上包含了敏捷和瀑布的概念。

  优点:该框架提供的不仅仅是一种方法。它提供工具,例子,自动化,和在实际软件开发中程序员能够用到的建议。产品/过程是完全可定制的,以适应组织的需要和正在开发软件的经营宗旨。

  缺点:每一个项目都必须定制过程以满足特定的业务和发展目标。对于小型项目可能不值得。与典型的敏捷项目相比,涉及到多的文件。

  应用:当利益相关者并不完全满意像Scrum一样结构化少的技术时,它是首选工具。提供高水平的风险管理,并采用了大量先进的规划。当一开始就对软件需求了如指掌时发挥最大功效。

相关推荐