无论路走了多远。错了就要又一次返回
这句土耳其言语的含义显而易见的。
这也是软件开发应遵守的原则。
然而我们在非常多时候发现自己走错路后,却不愿意立马回头,而是抱着迟早会步入正轨的侥幸心理,继续错下去。会想,也许几乎相同了吧,也许错误不像想象的那么严重。
相反,软件开发一更像是在冲浪,一直处于动态,不断变化的环境中。
在软件开发领域里,在项目研发过程中出现的需求变化和挑战就是你在冲浪时要应对的海浪。他们从不停止并且永远在变化。这样的情况下都意味着能够高速地适应变化。
究竟什么是敏捷开发方法?整个敏捷开发方法运动从何而来呢?
2001年2月,17位志愿者聚集在美国尤迪洲雪鸟度假胜地。讨论一个新的软件开发趋势。这个趋势被不严格的称为“轻量级软件开发过程".
我们都加过了应为开发过程的冗余。笨重。繁杂而失效的项目。
世上应该有一种更好的软甲开发方法--仅仅关注真正重要的事情,少关注那些战中时间而无甚裨益不重要的事情。
这些自愿者给这种方法取名为敏捷。并公布敏捷宣言:一种把以人为本,团队合作,高速响应变化和可工作的软件作为宗旨的开发方法。
敏捷方法能够高速地响应变化。
是强调团队合作,人们专注于详细可行的目标。这就是敏捷的精神。打破了那种基于计划的瀑布式软件开发方法,将软件开发的及时重点转移到一种更加自然和可持续的开发方式上。
它要求团队中每个人都具有职业精神,并积极地期待项目可以获得成功,并不要全部人都具有经验的专业人员,但必须具有专业的工作态度。每个人都希望尽最大可能做好自己的工作。
这意味着你不会再项目结束的时候才開始測试,不会再月底才进行一次系统集成,也不会在一開始编码的时候就停止收集需求和反馈
相反,这些活动会贯穿项目的整个生命周期。其实,仅仅要有人继续使用这个软件,开发就没有真正结束。
我们进行的是持续开发,持续反馈。你不须要等到好几个月后才发现问题;越早发现问题,就越easy修复问题。
这就是敏捷的重点所在。
有些人对使用敏捷开发有顾忌。觉得它仅仅是还有一种危机管理而已。事实并不是如此。危机管理是指问题积累而且恶化。
知道变得很严重。以至于你不得不马上放下一切正在做的工作来解决。
而这些又会带来其它负面影响。这些正是你要避免的问题。
所以,你要防徽杜渐。把问题解决在萌芽状态。你要探索未知领域,在大量成本投入之前先确定其可行性。你要知错能改,在事实面前主动承认自己的全部错误。
你要能自我反省,常常编码实战,加强团队协作精神。
·開始你可能会认为不适应。由于这同以往有太多的不同,可是仅仅要能真正地行动起来,习惯了,你就会得心应手。