你真的了解敏捷吗?听马丁福勒聊敏捷
目前,国内许多银行纷纷借鉴互联网企业和国际领先银行的经验,开始数字化转型,并尝试数字化工厂、全组织敏捷等不同转型模式,并取得了初步成果。
但与此同时,很多人还不了解敏捷或对敏捷的认识是错误的,本文将通过马丁福勒2005年在北京国际软件开发会议上的分享带领大家认识敏捷是什么和敏捷为什么。
马丁福勒聊敏捷
有开发背景的小伙伴可能对马丁福勒并不陌生,他是敏捷开发的先驱,当今世界软件开发领域最具影响力的五位大师之一,敏捷联盟 (Agile Alliance) 的创建人及《敏捷软件开发宣言》 的作者之一。
软件界的挑战
软件系统变得越来越复杂,人们尝试用各种各样的技术、工具以及流程使得软件开发的过程变得越来越可以控制可预测。但是对于软件开发过程,很难用一种标准来衡量它的进度和有效性。
软件工程学和敏捷方法出现
近年来有人发现软件工程学里一些基本的假设是不正确的,软件业使用了一些新的开发方法,我们将其统称为敏捷式开发。
软件工程学VS 敏捷
适应性和预测性的区别存在于软件工程学对软件开发过程的描述。传统的工程学里,核心的概念就是把设计和开发这两个过程分开进行。但马丁认为,把设计和编程完全区分开来是很难的。
马丁认为在很多项目中,设计是没有经过编程而直接想象出来的,在进入编程阶段有很多地方是错误的,需要改正,这种方法几乎无法进行有效的设计。
还有一个更重要的问题:软件本身的需求是在变化的。一个项目在开发过程中需求会出现变化,需求的变化从根本上推翻了工程学方法所建立的一个基础。
工程学的前提是尽量减少或者控制系统将来发生变化的可能,它越这样做问题就越容易出现。马丁认为无法避免变化的发生,我们应该找到一种新的方法能够更有效地适应这种变化,这也就是敏捷开发方法的由来。
敏捷开发方法
在敏捷开发过程中,软件的构建过程是以较小规模开始,再逐渐叠加需求,这个过程中软件一直处于可使用状态。
敏捷开发的过程中每两周都会得到一个可以工作的软件。
这种非常短的循环,使终端客户可以及时、快速地看到他们花钱构建的软件是一个什么样的结果,客户可以更有效地参与到软件开发的过程中来。
这解决了软件开发中非常重要的问题,就是开发人员和终端客户交流的问题,使得软件开发本身可以更有效地适应业务本身需求的变化。
敏捷的核心价值观
马丁认为工程学采用的过程是尽量减少人在这个过程中所扮演的角色,但人在整个软件开发当中是才最重要的因素,方法是次要因素。软件项目开发的成功是因为这个软件团队里有非常优秀的人才和相互协作。
提升敏捷能力
总结
End
出品:涛哥,微信公众号:涛哥笔谈。涛哥简介:前华为高级产品经理,TOGAF认证专家,PMP认证专家,PPV课数据科学社区创始人,数字化转型实践者
版权声明: 本文为 InfoQ 作者【涛哥】的原创文章。
原文链接:【http://xie.infoq.cn/article/48ed70c422416f454233411b5】。文章转载请联系作者。
评论