敏捷开发宣言 新时代解读

敏捷开发宣言 新时代解读

在这里插入图片描述

敏捷开发时代背景

在解读敏捷开发宣言之前,我们先来了解下敏捷开发提出来时的时代背景。敏捷开发是在九几年提出来,到2001年确定成型。
在当年这个时代背景下,主流的软件研发项目有三类:

一、软件企业做好系统,卖给其它企业使用,比如ERP类的系统。
二、大型企业有软件需求,外包给软件企业开发。
三、门户网站。

这几种情况,基本上都是外包类、实施类项目。他们的共同点是,客户知道需要个软件,但是他们搞不懂软件是什么样子的,你要是想问他细节,他跟你干瞪眼的情况。

我们结合项目三要素来看,明确的产品需求,完全做不到,所以瀑布型开发,显得很古板,焕发僵化的味道,项目成功率非常低。

所以,提出新的开发方法势在必行,才有了敏捷开发。

我们看完敏捷开发的时代背景,我们再来看现在的软件行业。现在的主流都是企业自主研发平台和系统,自已运营,希望在行业里杀出一条血路,成为细分的独角兽。不想成为独角兽的公司,都不是个好平台。

套用一句话,“梦想总是要有的,万一实现了呢”。

平台,是需要深耕的,不断的升级优化。敏捷开发提出的时代项目是一锤子买卖,这是完全两种不同的形态,这会造成敏捷开发提出的思想,甚至核心思想,与现在不符,如果还是照搬敏捷开发,你会在项目中到处都是问题。

我们简单过了大背景,现在我们来看敏捷开发宣言。

在这里插入图片描述

【个体与交互 胜过 过程与工具】

这个宣言在现在是不适合的,当年是需求不清楚,所以需要产品经理、开发、测试等,坐一起天天讨论要做什么,怎么做,采用什么技术。

瀑布型开发,有严格的过程和工具来做项目,这种方法在产品需求不明确的情况下,就是个灾难。

所以提出了个体与交互 胜过 过程与工具。

分析时代背景的时候,我们讲过,行业环境不同了,你有个新的想法,有一堆的软件可以参考,很容易就能把产品原型整理出来。这叫天下文章一大抄,鲁迅先生表示:我有说过这句话。所以,个体与交互显得很浪费时间。

我们做平台做应用,都有一个梦想,要改变行业,颠覆生活等等。所以平台和应用都是长期运营的,需要不断的升级。

国内的软件行业有个很不好的现象,人员流动太大,一年一换的人比比皆是。所以如果你不留底,后面接手的人就很麻烦。对于要求不高的公司,我们经常会看到有工程师在代码里用注释骂人,因为前面写的,没有留底,搞不懂。然后接手他工作的人,再骂他。

鉴于这几种情况,过程与工具 更 适合 现在的时代背景。

【可以工作的软件 胜过 面面俱到的文档】

这个宣言,放在现在只对一半,可以工作的软件,永远是最重要的,放在哪时都一样。面面俱到的文档,做不到,但是文档是必须要做的。

一、现在做系统,有很多的框架、组件、三方接口和开源代码等可以选择。这些框架、组件等本身也在优化和淘汰,如果没有文档留底,到时出问题的时候,你就会发现,无从下手。

你不知道是框架引起的,还是组件或开源代码版本太低。出现问题,首先想到的是网上扒一下看有没有人遇到类似的问题,怎么解决的。

二、平台要不断升级,负责的人员频繁换工作,如果没有留下文档,接手的人要花大量的时间去看代码,浪费很多的时间,改东西的时候,不懂乱动,他就会用一些方法把原来的代码包起来,再加上自己的,运营时间久了,代码根本没办法维护。

我见过最极端的案例,一个做朋友圈分享的功能,一个函数有三千多行,单单显示发布时间那一行文字,就有五六个,有的是把文字隐藏,有的改透明色,有的加判断条件让他不执行等等。你要去改这个代码,你根本不知道是哪句话被执行到,被执行到的可能是透明色,不显示出来,你改个半天发现没效。

三、文档除了留底的作用,它最大的作用实际上是整理思路,工程师用UML也好,文字也好,思维导图也好,只要把思路整理出来就行,项目组做评审就看你理解的对不对,不对的在开发之前就找出来,后面开发的时候,就是把理解的内容翻译成代码,进度有保证,而且bug也少。

这就是文档的价值,而当时提“可以工作的软件 胜过 面面俱到的文档”,是因为需求不明确,你根本写不出文档,而不是不要写。为什么我现在着重讲这个呢?我经常面试人,我习惯会问,做项目的时候,有没有写什么文档?经常有面试者说:“我们用敏捷开发,不需要写文档。” 谁说写文档是写一堆的文字,是写图文并茂的文章。

遇到有悟性的,我会稍微给他指点一下,不管他能不能应聘上,遇到没有悟性的,我赶紧说:“对,对,你说的是对的”,免得他认为我连敏捷开发都不懂。

【客户协作 胜过 合同谈判】

做平台的人都清楚,现在对体验、客户交互要求越来越高,所以工程师不会说这个不好实现,我们换个简单的,不会有太多工程师与产品经理扯皮的事。这条对于平台型的公司来说,就不适合。

对于做外包的软件公司,这条还是适合的。

【响应变化 胜过 遵循计划】

这条宣言本身是很好,但是放在大环境下,就会有些出入。

当年是客户不知道要什么,“宣言一”说好听是个体与交互,说难听就是几个人一起猜。所以,做出来的东西可能不是客户想要的,所以有很多变化。

现在产品需求基本上是明确的,如果有不明确的,很容易就能确定下来,研发中间是会有些需求变更,基本上是可控的,所以响应变化显得 没那么重要。

现在创业公司很多,产品必须要在某时间点出来,不然就影响到融资。融资过的公司,产品更要求在某时间点出来,因为要下一笔融资。所以遵循计划显得比响应变化更重要。

上面分享的纯属个人观点,如果你有不同的意见,我们可以私下沟通。

在这里插入图片描述

这篇内容节选自我的视频课程《项目管理从入门到精通:实践经验分享,实用套路讲解,项目规律实训》,有兴趣的童鞋,可以从课程中了解更多关于敏捷开发的讨论;知道采用敏捷开发,项目有时能准时开发出来,有时又延时严重的前因后果。

发布了28 篇原创文章 · 获赞 1 · 访问量 1327

猜你喜欢

转载自blog.csdn.net/huaxiangchen/article/details/101219929
今日推荐