欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  资讯频道

Roy Singham:从敏捷开发中获益

程序员文章站 2022-05-05 16:32:43
...

每个软件开发人员或许都经历过梦魇般的编程项目:项目历时长达预期时间的两倍,严重超出成本预算,又远远看不到结果。幸好,现在可以使用敏捷编程来解决这些问题。

 

  去年年底, ThoughtWorks企业创始人及执行董事Roy Singham先生来到中国。Roy和由他创办的ThoughtWorks是业界公认的企业架构、敏捷开发、涉及大规模离岸团队的大型软件开发、开源软件、Ruby、.Net、Java和Web Service等领域的专家。此次来到中国,Roy和我们分享了他在企业中实现敏捷开发的深度见解。  

 

  敏捷带来哪些价值

  公司需要想办法降低开发成本、提高软件可靠性、缩短开发时间,并且确保应用软件真正有助于用户,而不是有碍于用户。这些方面对任何人来说都是难以实现的,但敏捷编程技术能够在许多应用编程场景做到这一点。敏捷编程可通过减少开发人员在设计及开发应用软件中所犯的错误来降低开发成本。

  Roy告诉记者,许多公司期望任何开发项目都能迅速获得投资回报。然而,如果公司等待开发人员完成整个应用软件,大多数项目就会被搁置多年。而敏捷编程技术不是等待整个应用软件完成,而是立即使用应用软件的至少一部分,这意味着用户可以马上从应用软件中受益。

  传统的软件开发方式是以预测为主的,而敏捷式开发是以适应性为主的。传统的软件开发方法就是开始把用户所想要的功能详细记录下来,这些需求被固定下来,然后以此作为基础,计划整个项目的开发。敏捷开发的价值衡量从业务实现出发,而不是按时间、按计划完成。敏捷式开发也会在开始做一个详细的计划,但是这个计划是在开发当中不断根据情况来进行调整、变化的。通过敏捷开发,在一个项目开发的过程中,真正给客户带来价值的东西不一定是在项目的初期就已经预测到,或者是定义好的功能。敏捷开发允许一个团队使用一种可以控制的方式来按照这种方法进行开发。

 

  敏捷开发为何受阻

  敏捷开发对于目前的软件开发人员来说已经不是一个陌生的概念了,国际软件过程领域的敏捷运动是源于2001年的,而敏捷开发被国内的软件人员所了解大概是在2002年前后。不过,总的来说,敏捷开发目前的发展还是相对缓慢的。

  Roy表示,敏捷开发最初的目的是为了让大型软件企业更好地完善开发流程。但是今天我们也看到依然有许多公司,它们尽管也在倡导敏捷开发,却并不知道如何使用敏捷开发,甚至主观上并不愿意真正使用敏捷开发。对于很多依靠软件服务获得利润的公司来说,它们为了更多地获取短期利益,始终不愿意让它们的客户接受敏捷开发的模式,而是继续采用它们所习惯的并且所擅长的传统开发模式。对于一个大型软件开发企业来说,如果要从根本上采用敏捷开发模式,那么无疑需要很长时间的调整期,这里将涉及很多的利益。

  Roy认为:“不同类型和规模的公司适合的开发方法可能是不同的,我们在给用户提供解决方案的时候,就具有一定的灵活度,使得敏捷开发可以很好地应用到各种不同的体系之中。比如说小公司,可能是一个很小的任务;而对于一些大公司,可能是一个很大的需求。我们的工具可以根据企业的需要进行分解,大的模块可以化小,并把它不断地分解下去,以适应各种不同规模的团队。总的来说,我认为可以活用工具和解决方案,以适应各种各样不同规模的团队,只是在不同规模的开发环境上,应用需求不同而已。”

  其实,对于很多还不是很成熟的小公司,只要方法得当,一样可以选择敏捷开发方法。而且对于中小型软件开发企业来说,通过敏捷开发方法,将可以获得追赶领先企业的能力。

 

  迎难而上需要策略

  Roy告诉记者,目前用户在开发流程中面临着一些急需解决的挑战,这些挑战主要包括:在资源有限的情况下,如何开发出更高质量的软件,也就是如何在降低成本的同时开发出高质量的软件;在复杂性不断增加的环境下,如何在降低复杂性的同时保证可靠性和性能。当然,企业还面临着一些额外的挑战,比如如何满足规范和标准、如何面对分布式团队开发所带来的问题等。

  面临这些挑战,企业要如何更好地改善自己的开发流程呢?事实上,相比传统的开发过程,敏捷开发更强调快速灵活反应、主动迎接和适应变化,主张客户与开发商更紧密地协作,这样的特点在加快软件开发和降低成本方面具有很多优势。

  目前,大部分国内企业对于敏捷开发可能还处在了解和观望的阶段,对敏捷过程和方法的认知接受程度相对也还偏低,不过一个令人欣喜的现象是,在中国已经有一些赫赫有名的大企业开始高瞻远瞩,应用ThoughtWorks敏捷开发。 Roy认为:“为了更好地应用敏捷开发方式,企业需要借助一些管理工具,因为在管理工具中介入了很多实践的原则,这样可以帮助企业很好地实现敏捷开发方式。ThoughtWorks目前推出了完善的敏捷开发管理平台和测试产品,那些还不是很成熟的软件企业可以考虑应用这些产品来实现自己的敏捷开发。”  

相关标签: 敏捷开发