这是敏捷开发一千零一问系列的第二篇。(之一,之二,之三,问题总目录)
也是般若敏捷系列第十一篇。(之一,之二,之三,之四,之五,之六,之七,之八,之九,之十,之十一,之十二)
无住
在般若敏捷系列中已经提过,包括不住于法,不住于空。
不住于法
就是不停留在一种固定的方法上。
如果把“敏捷”理解成一个名词,就会出现一个问题:什么是敏捷?又会扩展成Scrum是敏捷,还是XP是敏捷?RUP是不是敏捷?等等问题。
如果把“敏捷”理解成一个形容词,也就是“敏捷的开发方法”,大致能找到敏捷新的定义:敏捷是一种轻量级的开发方法。
如果把“敏捷”理解成一个副词,也就是“敏捷地开发”,就会找到一个更新的定义:敏捷就是不拘泥与形式不断优化地改进开发方法。
用最后一个理解看待开发,敏捷方法的定义就有很大不同。
比如CMMI,如果CMMI1.3修订之后更加适合美国国防部寻找适合的供应商开发军工项目(CMMI是美国国防部的供应商评价标准,而不是一个学术机构总结的通用最佳实践),那么CMMI就很敏捷;而一家企业已经实施Scrum很久了,但其质量、进度与日剧减,但大家坚持使用原汁原味的Scrum,那么反而很不敏捷。
那为什么现在的敏捷方法看起来更像是“轻量级的开发方法”呢?这是因为重量级的敏捷开发方法早就有了(最早的软件工程始于军工、航空航天、银行业),其他行业比如敏捷宣言发表时乃至今日仍盛行的互联网行业却一直没有方法。当他们“敏捷地”寻找的时候,找到了“敏捷的”方法。
但如果以为已经找到了就停了下来,就不敏捷了。
不住于空
“既然敏捷开发也不是最好的方法,那我们何苦要用敏捷方法呢?”“去年你们推CMMI,今年又推敏捷,明年天知道你们又会推什么方法(所以我打算不配合)”。
因为世界上没有绝对最好的编码规范,所以你们别说我的编码烂;因为世界上没有最好的管理方法,所以你们也别说我的方法乱;因为世界上没有绝对的好人,所以且容我再当一次坏人……这是很多人处世的哲学,开发团队也不乏这样的“老油条”“刺头”。
如果把“好”当作一个点,的确没有一种方法只好不坏。但如果把好当作一个方向,那么眼前,这里,这个项目,这个团队,的确有一些方法比另外一些方法好。虽然不是普适的最佳方法,但仍然值得追求。
不住于空,就是尽管没有最好的方法,但是不能因此放弃寻找更好的方法。
以往研发管理的教训
这里不得不提一下以往软件研发管理的教训,尤其是推广CMMI时的教训。
“为什么牛奶要检测氮含量?”“因为氮含量高,就意味着有更多的蛋白质,因而对人体更加有益。”如果把后两句给忘了,就产生了往牛奶里边添加三聚氰胺的做法。
昨天一个学员就提到说他们企业坚持要他们编写一些文档,而他们明明知道这些文档被扔在那里从来没有人看过,不写又不行,问应该怎么办(这个将是1001问系列中的一个问题)。
很多软件企业中的文档、评审、计划、会议并没有起到应有的作用,但却被盲目地坚持着。人们对这些方法的关注甚至超过了最终项目的成败和企业的盈利能力(神奇的是,美国国防部通过对这些方法的关注而大大提高了项目的成功率,但要认为我们只需要学习他们就能成功,则住在法上了)。
重读敏捷宣言
敏捷宣言中关于可运行软件胜过繁杂文档 及 响应变化胜过遵循计划的描述,说的就是这件事情。
不过,为了通俗易懂,敏捷宣言把“敏捷地找到”的方法贴出来了,所以变成了“敏捷的方法”,如果住在上面,就会出问题。
这就像“打土豪分田地”是一个通俗易懂的口号,但如果认为这就是共产主义,等土豪没了,田地分了,也就迷茫乃至要走上歧路了。
分享到:
相关推荐
这篇文档介绍的是一个幼儿园中班的音乐公开课教案——《一千零一个喷嚏》,这是一次结合故事和节奏乐的教学活动,旨在通过趣味性的故事激发孩子们对音乐节奏的兴趣,培养他们的音乐感知能力、合作意识以及爱护乐器的...
这篇文档是一个针对中班儿童设计的音乐教案,主要教授节奏乐知识,以有趣的故事《一千零一个喷嚏》为载体,让孩子们在游戏中学习音乐节奏。教案的核心知识点包括: 1. **节奏乐教学方法**:传统的节奏乐教学通常...
【标题】"初中语文文摘文苑一千零一面镜子"所蕴含的知识点主要涉及文学欣赏、诗词解析以及情感表达。 【描述】中的内容简洁,直接引用了诗句“一千零一面镜子”,这暗示我们要探讨的是一种文学表现手法和深层含义。...
这篇文档是一个幼儿园中班的音乐教案,名为"一千零一个喷嚏",旨在通过故事与节奏乐的结合,激发孩子们对音乐的兴趣,提高他们的音乐感知能力和团队协作能力。教案主要包含以下几个关键知识点: 1. **节奏乐教学法*...
中班音乐活动教案《一千零一个喷嚏》润新教育.txt
应用安全则涉及应用程序层面的安全,包括防止恶意代码和数据泄露等问题。 接下来,我们会看到各类工控设备的简介,工控设备包括PLC(可编程逻辑控制器)、SCADA(数据采集与监视控制系统)、DCS(分布式控制系统)...
【权限维持的理解】 权限维持是黑客在成功入侵目标系统后,为了保持长期控制而不被发现的一种策略。这种控制包括能够持续地访问系统、收集信息、执行任意操作等,只要目标系统未检测到异常,就可以认为权限得以维持...
1. 一千零一写作101是错误的,因为"一千零一"的正确写法是1001。 2. 2010读作二千零一也是错误的,正确的读法是"二千零一十"。 3. 一个四位数最高位是千位,而不是万位,所以这个说法是错误的。 4. 读数时,数的末尾...
Java机试是计算机考研复试中常采用的一种考核方式,旨在考察学生对Java编程语言的掌握程度以及解决实际问题的能力。在本次提供的题目集中,包含了多个与Java编程相关的实践任务,涵盖了MVC设计模式、类设计、数据...
【标题】"java代码-软三47号JSP3" 涉及的主要知识点是Java编程语言在Web开发中的应用,尤其是使用JSP(JavaServer Pages)技术。JSP是一种动态网页技术,允许开发者在HTML页面中嵌入Java代码,以实现服务器端的数据...
6. 应用题的解决:通过实际问题的解决,运用加法和减法知识,例如购物找零、计算物品总数等情境。 7. 数学运算的顺序和性质:学生需要了解加法交换律(如a+b=b+a)和结合律(如(a+b)+c=a+(b+c)),减法则不具备交换...
这个压缩包揭示了一系列关键的网络安全领域知识点,包括但不限于: 1. **Dotnet Hacking & Detection** - haya.pdf: 这个主题深入探讨了针对.NET框架的黑客攻击及其检测技术。.NET是一种广泛使用的软件开发平台,...
1. “我不能选择生活的条件,但我可以选择生活的态度,既然哭不能解决问题,那为什么不笑呢?”这句话体现了什么? - 提示:强调面对困境时,积极乐观的态度至关重要。 2. “每次打击,只要你扛过来了,就会变得...
这个文件是把1001转换成一千零一形式。
77.1. 解决端口冲突导致tomcat无法启动的问题 87 77.2. 修改java虚拟机内存 88 77.3. 修改tomcat连接数 88 77.4. 禁止列出目录下的文件 88 77.5. 设置session失效的时间 89 77.6. 设置MIME响应类型 89 77.7. 设置...
4. **应对挑战的心态**:大学生活中的挫折和困难,如同IT项目中的问题和挑战,需要有坚韧不拔的精神去克服。面对编程难题或项目困境,要有“即使风浪一千次打来,也要一千零一次竖起坚持的桅杆”的决心。 5. **团队...
1. **与前车的距离**:通常建议与前车保持三秒钟的距离,这意味着当你看到前车经过某个参照物时,你应该在数到“一千零一、一千零二、一千零三”时到达同一参照物。在恶劣天气条件下(如雨雪天),这一距离应加倍。 ...
”、“一千零一个愿望”这类题目鼓励学生发挥想象力,展现个性和创新思维。 9. **生活观察**:“走出呵护展翅”、“摸一摸猴子屁股”等题目提醒学生关注生活细节,从日常生活中寻找写作素材。 10. **文学引用**:...
6. **加法与减法**:加法的公式和减法的公式,如和=加数+另一个加数,差=被减数-减数等,这些都是基本的算术运算关系,是解决实际问题的基础。 7. **数学概念**:数学概念是数学思维的基础,包括数字、运算、形状等...
对于百位以上的序数词,如第一百、第一千,会在基数词后加“th”,如one hundredth(第一百),onethousandth(第一千),对于更大的数字,例如1001,表示为onethousandth and one(一千零一)。 学习这些基数词和...