解释传统与敏捷方法最贴切的故事:大象与猴子(感想)

简介:

今天看了篇文章,转载如下:
很久以来我都对传统的软件工程方法和盛行的敏捷方法的联系与区别郁闷不已,因为每一个领域都是那么庞大,作为一个非专业人士,要能清楚地把握其中的关系,确实不是件容易的事情,直到我看到下面的这个故事(摘自《平衡敏捷与规范》Balancing Agility and Discipline: A Guide for the Perplexed,邓辉 孙鸣译 清华大学出版社)。在敲字的过程中我自己对一些名词对照着两个软件开发方法中的常用概念进行了注解,不当之处,还请大家指正。

 
很久以前,在一片充满隐喻的土地上,住着一头大象( 喻传统开发方法)。很多年来,这头忠实的大象一直都是他所居住村庄主要的食物采集者,并且非常清楚这个村庄需要什么( 喻工程前的事先计划性)。他在丛林中修建了一条路( 喻最佳实践),这条路总是能指引他找到最好的根茎、蔬菜、坚果和水果等食物( 喻项目的功能)。他知道哪种水果用鼻子可以够得着,也知道哪种水果需要鼻子去晃动才能摘取。他很强壮,能够一次带回足够好几天吃的食物,所以他总是预先估计这个村庄的需要( 喻典型的项目需求),并提供恰当的供给。他恪尽职守,整个村庄的人都很感激他,并认为他的工作很有价值。
 
唉!就像生活和寓言中常常发生的那样,情况发生了变化( 喻需求变更)。村庄里的厨师( 喻项目干系人)想要一些奇特、罕见的原料来烹饪( 喻个性化需求)。这些原料大象曾经听说过,但是不在他每天要走的路上( 喻传统工程方法不适合涉及的领域)。他还在为存储那些无从需要的食物( 喻开始的需求已经过时)疲于奔命,却没有时间去修建新的道路以满足新的需求。村庄里的人渐渐地对这头无法满足他们需求( 可以理解为RUP等传统方法不适合网站开发)、越来越气馁的大象失去了耐心。
 
与此同时,附近村庄有一只猴子( 喻敏捷方法)做着和这头大象类似的工作。但是,和这头大象不同,这只敏捷的小猴在这片丛林中快速地穿梭( 喻XP等编程方法),采摘它所看到的果实。他只去寻找那些挂得很低的果实( 喻无法满足企业级应用)并迅速把它们送回到厨师那里。这只猴子不像大象那样依赖于一条久经考验的道路,他依赖于自己的记忆和本能去找到食物,并且只带回当天所需要的食物( 喻迭代编程、每日构建等)。有时,他会跑出去寻找那些日益珍奇的食物( 喻新奇的功能,如AJAX功能),偶尔还会迷路( 喻新的方法太多)。但事实证明,他的速度和敏捷完全能胜任村庄分派给他的任务。和那头大象一样,他也颇受爱戴( 喻在自己的领域内,如Web开发)。
 
很不幸,这只猴子的生活也发生了变化。他所生活的村庄一天天地扩大起来( 喻企业级Web应用)。这只小猴需要满足太多的需求,以至于他总是疲于奔命,努力记住在每个地方的所有需要。他不得不来来回回地跑很多次,因为他没有足够的力量一次运回人们需要的所有东西( 喻功能太多)。同样地,这个村庄渐渐对这只猴子失去了耐心,而这只猴子也开始怀疑自己是否能够胜任这项工作。
 
碰巧有一天,这只疲倦的猴子遇到了那头气馁的大象。这只试图在背负重物的情况下快速奔跑的猴子发现大象背上的筐可以装得下那么多的食物。而大象也被猴子的速度震撼了( 喻双方开始正视对方的优点),他能跑得那么远,他能那么轻而易举地拿到大象竭尽全力也无法获得的食物。这两只动物,虽然都以自己的技能而自豪( 喻从前的论战),但还是承认了对方在某些方面技高一筹。
 
大象和猴子认识到一起工作的好处( 喻一个控制大的流程,一个处理软件开发细节),于是决定联合起来。猴子利用他的敏捷去满足对于远距离水果的新需求,并让大象带回到他的村庄。大象则把充足的食物运到猴子的村庄去满足那里逐渐增多的需要。虽然他们花了一些时间去找出协作的方法( 喻两个不同方法之间的磨合),但是很快他们就能够很好地满足两个村庄的需要了,从此,他们过着快乐的生活,彼此互相信任,从此丰衣足食的村民们又开始看重他们了( 喻实用才是第一:))!



读了这篇文章我想了很久,我想这跟我们的生活,跟我们的职业很像。
程序设计是不断进步的:程序设计语言在向前推进,程序设计方法也在不断向前推进,但是作为程序设计人员呢?其实很多人都有这种心态,我现在的开发环境已经让我能够应付我所遇到的一切,我不需要再去接触新的东西。所以很多人就停留在原地,用同样开发工具(语言)作着不一样的项目,写着一样的代码,用这一样的思想。时代在进步,程序设计照样在进步,这样下来我们便落后了。

专注于企业信息化,最近对股票数据分析较为感兴趣,可免费分享股票个股主力资金实时变化趋势分析工具,股票交流QQ群:457394862

本文转自沧海-重庆博客园博客,原文链接:http://www.cnblogs.com/omygod/archive/2006/10/13/527944.html,如需转载请自行联系原作者
目录
相关文章
|
3月前
|
机器学习/深度学习 自然语言处理 算法
【深藏功与名】揭秘大模型背后的真相:为何它们常让人欢喜让人忧,又该如何破局?
【10月更文挑战第5天】近年来,随着计算资源和算法的提升,大规模深度学习模型在自然语言处理和计算机视觉领域取得了显著成就,但也引发了“大模型幻觉”的讨论。该现象指模型虽在特定任务上表现出色,但在实际应用中存在过度拟合和泛化能力差等问题。本文分析了大模型的底层逻辑,并通过PyTorch代码示例展示了如何使用L2正则化缓解过度拟合。此外,还介绍了通过数据增强提高模型泛化能力的方法。未来研究需进一步平衡模型复杂度与泛化能力,以实现更佳性能。
54 0
|
8月前
|
开发者
代码与禅:在软件开发中寻找内在平静
【5月更文挑战第28天】 在快速迭代的科技世界中,软件开发者往往沉浸于无尽的代码海洋。本文探讨了如何将禅宗哲学融入编程实践,以提升开发效率和内在平和。通过禅修的三个核心原则——专注、简洁、当下意识,我们能够重新审视代码的本质,优化思维模式,并最终达到技术与精神的和谐统一。
|
8月前
|
程序员 开发者
代码与禅意:寻找编程中的内在和谐
【4月更文挑战第8天】 在数字世界的纷繁复杂中,编程不仅仅是一项技能,更是一种艺术。本文探讨了编程与禅宗哲学之间的深层联系,阐述了如何在技术的冰冷逻辑中寻找到心灵的温暖和内在的和谐。通过反思编程过程中的创造力、专注力和简洁性,我们能够揭示出技术实践与精神修养之间的桥梁。
|
机器学习/深度学习 人工智能 自然语言处理
扩散模型背后数学太难了,啃不动?谷歌用统一视角讲明白了
扩散模型背后数学太难了,啃不动?谷歌用统一视角讲明白了
257 0
|
测试技术
软件测试好学吗 只要选对了学习方式,就并不难学
我们都知道,如今互联网IT行业,在国内可是非常吃香的,尤其是近些年随着软件的普及,人们对软件的要求也是越来越高,因此国内各大互联网企业,也开始大量招聘软件测试人员,但由于这个岗位在我国的发展时间并不长,人员需求也是供应不求的。
208 0
软件测试好学吗 只要选对了学习方式,就并不难学
|
机器学习/深度学习 数据可视化 算法
太强了!这个建模神器可以玩一辈子
玩过建模的朋友都知道,在建立模型之前有很长的一段特征工程工作要做,而在特征工程的过程中,探索性数据分析又是必不可少的一部分,因为如果我们要对各个特征进行细致的分析,那么必然会进行一些可视化以辅助我们来做选择和判断。
太强了!这个建模神器可以玩一辈子
|
设计模式 算法 架构师
狂补计算机基础知识,让我上了瘾,想要尽快和同龄人拉开差距,必须这么干,才有戏!!!!
狂补计算机基础知识,让我上了瘾,想要尽快和同龄人拉开差距,必须这么干,才有戏!!!!
184 0
|
架构师 Java 大数据
程序员如何跳出35岁魔咒,史上最全思维图收集解救你
时常有人在知乎、百度等平台抛出问题:程序员过了 35 岁或 40 岁是不是就失去了竞争力,要转管理岗了吗? 100offer 在2017年对其平台上的5844 位技术岗位求职者做了一个抽样调查,得出了如下统计结果: 10年以上的求职者,也就是“中年程序员”求职者的比例达到了10%,有了小幅攀升。
2109 0
《设计原本—计算机科学巨匠Frederick P. Brooks的反思》一一3.8 尽管存在诸多缺陷和批评,理性模型依然顽固存在
本节书摘来自华章出版社《设计原本—计算机科学巨匠Frederick P. Brooks的反思》一 书中的第3章,第3. 8节,作者:(美) Frederick P. Brooks, Jr. 著 ,更多章节内容可以访问云栖社区“华章计算机”公众号查看
1191 0
|
人工智能
《设计原本—计算机科学巨匠Frederick P. Brooks的反思》一一2.2 该模型的构思从何而来
本节书摘来自华章出版社《设计原本—计算机科学巨匠Frederick P. Brooks的反思》一 书中的第2章,第2. 2节,作者:(美) Frederick P. Brooks, Jr. 著 ,更多章节内容可以访问云栖社区“华章计算机”公众号查看
1315 0