敏捷开发、互联网与云计算
软件开发最重要的目的,一是”解决问题”,二是”创造价值”。我们先从敏捷与互联网之间的关系来看,无疑的敏捷能够解决互连网时代所带来的两个软件开发的挑战,就是”适应快速变化”与”拥抱客户需求”。
1.适应快速变化:在当前互联网的应用环境下,软件的生命周期必须大幅缩短,以因应”流行”、”竞争”、”功能性缺陷”等等考虑。从另外一方面来说,国内外主要的软件供应商,其操作系统、浏览器与开发框架技术的进化速度在近几年也是前所未见的。软件开发团队必须要有更弹性更有适应力的作法,才能够在时间的压力下,快速回应市场与商业的需求。
2.拥抱客户需求:互联网的软件环境另一个特性,就是充分的民主,充分的面向最终用户。举个网游的例子,网游的复杂度,包含后端的帐务系统,不下于ERP,甚至尤有过之。但一个网游的成败,往往并不是因为帐务功能不好,或是没有采用先进框架,反而是用户不喜欢玩。因此在互联网环境下的”好”的软件,必须要是大家都”喜欢用”的软件,功能多寡或技术优劣反而成为相对次要的条件。现在我们面对新一代的互联网用户,几乎都是含着网线出生的,对当今软件开发团队来说,如何能够从”闭门造车不容变更”转变到”拥抱客户需求”,敏捷也是最好的解决方案。
云计算是互联网应用的一种先进方式,当前虽然更多的讨论是集中在后端的数据中心建置方面,但要凸显云计算实际应用价值,是与互联网的应用趋势是相同的。随着云计算的普遍应用,前端软件平台与装置的多样性也会百花齐放,这也更加考验着开发团队的”弹性”与”创造力”,而采用一个更加灵活性的开发过程与组织调整,是面对当前与未来挑战的当务之急。云计算具体会给敏捷带来哪些机遇和挑战呢?大家不妨可以多关注一下第十届中国系统与软件过程改进年会。