给敏捷开发加上管理

  • 来源:计算机世界
  • 关键字:敏捷开发,管理,SpecDD
  • 发布时间:2015-03-10 15:51

  敏捷开发能充分发挥开发人员的创造力,然而在过程及项目管理方面还有所不足。

  近几年,敏捷开发陆续被众多开发团队接受,并逐渐成为越来越多的开发团队首选的开发方法。特别是随着DevOps的流行,能很好匹配DevOps理念的敏捷开发得到了更大的市场空间。

  敏捷开发之所以广受认可,是因为强调持续集成、快速迭代、重构、测试驱动的敏捷开发与传统开发方法相比,能更快速、更有效地交付给客户可用的软件,在市场竞争日益激烈、强调新产品快速交付的今天,能更好地支持企业创新。

  然而,敏捷开发并不是一剂万能药,不能解决软件开发团队的所有问题,甚至也不能用以完全取代传统开发方法(比如瀑布流开发)。曾有研究机构进行过调查,走向敏捷开发的公司中有73%并不完全是敏捷开发,而是敏捷开发与传统开发同时采用。

  “敏捷开发最初是作为传统开发方法的颠覆者出现的,它摒弃了传统开发方法在工作流程上的严格限制,能更好地彰显软件开发者个人的创造力。然而,在管理方面天生不足,比如规划管理、需求管理、资源管理等方面。”TechExcel公司创始人兼CEO周铁人博士告诉记者。

  TechExcel是周铁人博士于1995年在美国加州创建的一家以软件开发为主要业务领域的公司。最初的10多年来公司一直专注于提供软件开发工具,近5年来逐步将业务重点转到软件项目管理。作为公司创立者的周铁人对包括敏捷开发在内的软件开发过程管理和项目管理也有着更为深入和全面的认识。基于多年的软件开发经验的积累,周铁人总结出了一套软件开发的方法论——SpecDD (需求驱动开发),并基于它推出了一套软件开发及项目管理的工具。

  “让敏捷开发的团队有一个好的工具,更好地走上敏捷之路。这是我们推出SpecDD方法论及其相关解决方案的初衷。”周铁人说。

  SpecDD是一个开发框架,旨在促进敏捷开发过程中的两个交付件:可执行的软件和量化的产品设计。周博士说,SpecDD的本质是一种混合开发模式,既兼容敏捷开发的快速、灵活的优点,同时又融入了传统软件开发方法在开发过程管理方面的优势。

  因为敏捷开发否定了文档、流程,也几乎没有需求管理,而这些对于大型软件项目的管理非常必要。以需求管理为例,敏捷开发的入口只有一个简单的功能列表,而大型软件项目的需求涉及很多人,制订功能列表是一个比较复杂的过程,对工作量也需要进行预估。另外,由于敏捷开发没有需求管理,也就没有了需求用例管理,而这些用例对将来的测试是非常重要。

  SpecDD要求软件的开发过程由一组连续的迭代组成,每次迭代都含有两个交付件:改进后的可执行软件,可以发布给内部团队和客户验证;改进后的“概念产品”,对原始需求更好的理解,包括需求、设计和质量标准的改进。可执行的软件可以用于市场的商业发布,并为企业带来成功。“概念产品”则在内部团队进行沉淀,并让团队在将来持续获得成功。

  “在SpecDD需求可以被规范化表达和量化,并驱动开发实现和QA测试。量化的需求用于创建实施用例,从而构建可执行的软件。最后,需求也可用于生成QA测试用例,以量化质量标准。”周博士表示。敏捷开发在2010年之前一直处于普及阶段,这一阶段的成功也主要是在小项目上的成功,而大项目的成功案例很少,这与敏捷开发在大型软件开发时的项目管理上支持不足不无关系。随着敏捷开发在软件开发过程及项目管理方面的跟进,敏捷开发才开始在大型项目中立足。

  本报记者 邹大斌

……
关注读览天下微信, 100万篇深度好文, 等你来看……
阅读完整内容请先登录:
帐户:
密码: