敏捷原则中“使未完成的工作最大化”是什么意思?解决思路
发布时间:2011-06-20 17:27:57 文章来源:www.iduyao.cn 采编人员:星星草
敏捷原则中“使未完成的工作最大化”是什么意思?
闲来翻书,有一句看不懂,向高人请教。
敏捷原则中有一条:
简单——使未完成的工作最大化的艺术——是根本的。
英文原文是:
Simplicity - the art of maximizing the amount of work not done - is essential.
其中“the art of maximizing the amount of work not done”到底是什么意思?
什么叫“使未完成的工作最大化的艺术”。书里面这一小节的内容是:
敏捷团队不会试图去构建那些华而不实的系统,他们总是更愿意采用和目标一致的最简单的方法。他们并不看重对于明天会出现的问题的预测,也不会在今天就对那些问题进行防卫。相反,他们在今天以最高的质量完成最简单的工作,深信如果在明天发生了问题,也会很容易进行处理。
这一段内容很容易理解。但是不能帮助我理解什么叫“使未完成的工作最大化的艺术”。如果什么都不做,不就是让未完成的工作最大化,这有什么艺术啊?
请高人指点。
------解决方案--------------------
只做非常必要的工作,不做不必要的工作——敏捷的要点
------解决方案--------------------
the art of maximizing the amount of work not done
敏捷之所以敏捷,并不在于开发人员就比非敏捷的开发人员更高超、更熟练。
而在于开发的工作安排上能抓住重点,在于首先实现最必要的功能(包括只实现必要的重构),在于控制工作的范围,在于把非必要的功能排除在外,在于“maximizing the amount of work not done”。
这一点是敏捷之所以能敏捷的原因之一,所以它很essential。
------解决方案--------------------
一开始阅读楼主这段文字的时候我也被搞糊涂了
因为我的经验告诉我如果“不看重对于明天会出现的问题的预测,也不会在今天就对那些问题进行防卫”
那么对于一个大规模的软件工程来说,很有可能导致频繁的需求变更和程序重构
那么敏捷的优势根本没有体现出来,反而会导致项目失败
后来仔细琢磨了一下,感觉是因为那段说明文字有些误导了我,反而看标题来理解可能更准确一些
“使未完成的工作最大化的艺术"其实并非不考虑整体的需求
在敏捷的过程中,可能很早就已经对某个系统进行了完整的需求分析和技术验证
在搭建完整体框架后,将整体拆解为几十个低耦合的功能模块,并分步完成——这可能就是简单的意思
这样在开发过程中只需要面对一个个简单的独立功能,而且在整体框架明确的条件下,完全不用担心其他部分的影响
所以在这个过程中,已经将未来的可能的问题最大化考虑了,这是我对这段话的理解,仅供参考
------解决方案--------------------
换句话来说,就是要摸清客户需求,做一个“刚刚好”的系统交付。
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。
其他相似内容:
-
菜鸟请教:RUP和敏捷的区别与联系
敏捷是迭代开发,RUP也是迭代开发,两者有什么区别与联系?有点混淆了。。。
------解决方案---------...
-
scrum works 中文乱码
scrum works 是否支持中文??
如果支持怎么设置呢?
------解决方案--------------------
看我微波去,里面有答...
-
想学软件架构设计,有什么好书推荐吗?
最近负责新项目的架构设计,发现无论是理论还是实践都严重缺乏,有什么好书推荐吗?充充电。谢谢!!
-...
-
关于测试驱动开发
我看敏捷开发不久,看到基本上都提到测试驱动开发,我一直不明白,如何测试、如何驱动?
请问高手能通过一个小小的例子...
-
急求,如何做的nightly-build
我需要做的一件事事情,是每天晚上,从服务器获取文件,然后编译,打包,部署到服务器上,接着跑测试脚本。
cle...
-
这是不是敏捷开发???
我们开发时,客户也只是大体了解要做什么东西,然后我们就开始做需求分析,设计,建模,编码开发。
在开发过程中,开发了...
-
封装变化后,我们能干什么?
我知道设计模式中把变化的和不变的分离,把变化分离出来,继承个抽象,而后在不变的代码中使用这个抽象,
但我...
-
敏捷,想说爱你不容易--从CMM向敏捷过渡的一点体会(欢迎大家讨论)
http://blog.csdn.net/ggokind/archive/2008/12/23/3591376.aspx
...
-
敏捷开发的定义
敏捷开发的定义???
大家是怎样理解敏捷开发的???
------解决方案--------------------
敏捷开发是对先进开发手段的统...
-
如何更好的设计程序功能,让其减少bug的出现?
如何更好的设计程序功能,让其减少bug的出现?比如我要做的软键盘,有以下2中思路,但选择那一...