详解敏捷宣言
对于敏捷开发一词,对于很多人已不在陌生,在前面几期中也给大家介绍过,今天来了些新的朋友,在简单的讲一下。敏捷开发起源于1990年代开始广泛引起关注的新型的软件开发方法,是一种快速应对需求变化的软件开发能力。敏捷开发不是一套具体的开发方法和工具,而是一种思维框架。他是极度开放的状态,吸取百家之长,只要是好用、适用的工具和方法都可以采用,不拘泥于固有的方法和流程。敏捷开发体现的是一种思想,有其一系列的价值观和原则。通过这套价值观来指导团队协作、团队开发。而这套价值观就是今天要给大家介绍的敏捷宣言。根据敏捷宣言,从而引出了敏捷实践的具体12条原则。后面会给大家简单的介绍一下。
Paste_Image.png个体和交互 胜过 过程和工具
在团队协作中,如果没有规范的流程和指定使用的工具,很难实现共同协作,反而会制造出麻烦,出现混乱。在团队中过程和工具,也是非常有其价值的。但在敏捷开发中更佳重视人和交互。敏捷开发中以人为本,人是其中最重要的核心因素。试着想想如果一个普通的团队使用上好的流程和工具,产生的价值也是非常有局限性的。只有优秀的团队使用上好的流程和工具,才能创造出极大的价值。人的能力的提升,是敏捷开发中非常重视的部分。
在工业时代,人们试图用标准的流程和工具,把人变成一颗螺丝钉,但在脑力劳动为主的互联网时代,显然是不成功的。每个个体都有其自身的优势和能力。以人为主、团队协作,即便用简单的过程工具也能产生巨大的价值。
以软件交互设计为例,传统的做法是产品经理与客户商谈需求,出具产品需求文档。交互设计师根据产品需求文档设计产品功能的交互方式,用专业的绘图工具viso、axure等设计出产品功能的交互图。视觉设计师根据交互图,进行视觉优化,最终生成产品的交互设计原型图。产品经理在拿着设计好的原型图与客户确认效果。经过这些步骤之后,一般会出现不符合客户期望的问题,由于流程过长,工具过于专业,返工会花费更多的时间,每个专业人士的角度不同,也容易造成歧义,很难满足客户的需求。敏捷团队可能就直接用纸来画图,边设计边和客户沟通交流,敏捷团队拥有优秀成员——T型人才,有1-2个专业领域,对其他领域也有所了解——能够无缝衔接设计工作,从而快速响应客户需求,从而可以交付给客户所需要的产品。
可用的软件 胜过 完备的文档
刚刚软件交互设计的例子里,传统的方式每个环节流转到下一个环节,都需要有详细的文档,如产品需求文档、交互设计文档等。在软件开发过程中光维护这些文档,就是一项繁重的工作。而且文档和代码设计开发无法做到同步,那么文档就失去了它的及时沟通的价值。在软件开发中我们说面面俱到的文档就是一种灾难。敏捷开发重视可用的软件胜过面面俱到的文档,交付给客户可以使用的软件才是最最重要的。所以在敏捷开发过程中,以交付可以使用的功能做为衡量敏捷开发的进度,是很有必要的。
流传到本土以后,很多敏捷团队曲解了这条价值观,完全裸奔不产生任何文档,这样的做法也是非常不恰当的,过少的文档不代表没有文档。例如用户手册,就是公认的必备文档。
客户协作 胜过 合同谈判
软件开发并不像一纸买卖合同,签署了合同就能获得满意的商品。软件需求调研到软件交付给客户,是有一个过程的。在开发的过程中,会由于对需求业务的理解能力加强,对有些功能做技术上的调整,或者有些功能在开发过程中,发现已经不适用了。这些情况都不是开始经过谈判所签署的合同所能包含的。敏捷开发中非常重视沟通,不仅是团队内部的有效沟通,还包括团队外部与客户的沟通。敏捷开发中建议与客户一同办公,只有与客户维持良好的沟通,才能开发出适用于客户的软件产品。有时候合同谈判可能会限制了开发方式,按照合同开发的内容,很可能开发完了,完全不适用于市场了。所以说客户协作胜过合同谈判。
响应变化 胜过 遵循计划
互联网时代是一个瞬息万变的时代,日新月异,可能今天决定非常好用的软件,过几天就会被淘汰了。随着万物互联,造成的影响,如果我们不懂得快速响应变化,只遵循原有的计划,可能就会错失良机。例如当年新浪微博红遍大江南北,腾讯也开始做腾讯微博。不知道大家还记得有腾讯微博不,腾讯微博发没有引领潮流,就被新的洪流给拍死在沙滩上了。后来腾讯退出了微信朋友圈,秒杀了新浪微博。如果腾讯不快速响应变化,推出自媒体时代的微信公众号和朋友圈,想必很难在这个互联网时代生存下去。
敏捷开发提倡响应变化胜过遵循计划,正好适应了这个崛起的互联网时代的发展。
精益求精 胜过 简单执行
是对团队中个体专业精进而言的,我相信在坐的各位应该非常认同这条价值观。精益求精是一种专业精神和态度,是一种真正的对工作的兴趣和热爱驱动的自我专业技能提升途径。因为我们的改进是持续的,是永无止境的,如果我们老是不负责任的敷衍了事,比如虽然按进度完成了工作但是质量很差导致大量的返工,则损失的不仅仅是团队利益,个人的价值也无法真正得到体现。
敏捷宣言是一套敏捷团队的价值观,一套做事方法和行为准则。敏捷宣言比较抽象,通过这些价值观可以引出以下12条原则,他们是敏捷实践区别于重型过程的区别所在。
Paste_Image.png有兴趣的可以看看,今天就不深入讲解了,非常感谢大家的聆听!我是85后栗子。