首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件开发 >

矫捷开发一千零一问系列之二十六:什么是敏捷开发的根本基础

2012-09-10 
敏捷开发一千零一问系列之二十六:什么是敏捷开发的根本基础?这是敏捷开发一千零一问系列的第二十六篇。(在

敏捷开发一千零一问系列之二十六:什么是敏捷开发的根本基础?

这是敏捷开发一千零一问系列的第二十六篇。(在这里提问,之一,之二,之三,问题总目录)

问题:什么是敏捷开发的根本基础?What is the essence of Agile Software Development??

来自LinkedIn热帖http://www.linkedin.com/groupAnswers?viewQuestionAndAnswers=&discussionID=156452723&gid=37631&commentID=93678048&trk=view_disc&ut=3OEFTrlSNevlo1,大家也可以到上面看看老外们的讨论。

道德经说太极生两仪,两仪生四象,四象生八卦,八卦生六十四卦,六十四卦生万物。

但是多数企业的敏捷开发都太“八卦”了,上不能掌握太极的根本,下不能根据企业具体情况衍生出万物。博客上的其他文章描述描述“万物”已经够多了,这篇文章只说说两仪。

在前面的帖子里边,有几个人支持fast feedback/short iteration,另外一些人则支持transparency/teamwork,加在一起算是敏捷开发的两个最重要方面。

答案:持续改进+团队协作

如果用地道的敏捷开发词汇,就是这两个。

持续改进包括 quick feedback, continues integration, daily buiding, standardup meeting, short iteration, refact, working software, etc.
团队协作包括 stands for cross-function team, focusing on customer's value(把客户也当作双赢乃至多赢的团队的一部分), selforganized team, test automation (开发人员做测试的事), 


下面是这两者和12个敏捷原则的对应关系:

持续改进1: Our highest priority is to satisfy the customer through early and continuous delivery of valuable software
翻译:尽早并持续地交付有价值的软件以满足顾客需求。
3: ?Deliver working software frequently, from a couple of weeks to a couple of months, with a preference for the shorter timescale
翻译:经常发布可用的软件,发布间隔可以从几周到几个月,能短则短。
7: Working software is the primary measure of progress.
翻译: 可用的软件是衡量项目进展的主要指标
8: Agile processes promote sustainable development.  The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
翻译: 敏捷流程应能保持可持续的发展。 领导, 团队和用户应该能按照目前步调持续合作下去。
10: Simplicity--the art of maximizing the amount of work not done--is essential.
翻译: 保持简明 - 尽可能简化工作量的技艺 - 极为重要。英文说 maximizing the amount of work not done.  我的理解是 - 任何还没有明确的工作都会花不可知的时间,因此要 maximize,  不要把那些还没有做的工作和正在做的工作混起来。      
12: At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.
翻译: 时时总结如何提高团队效率, 并付诸行动。

团队协作:2: Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage
翻译:敏捷流程欢迎需求的变化, 并利用这种变化来提高用户的竞争优势。
4: Business people and developers must work together daily throughout the project. 
翻译:业务人员和开发人员在项目开发过程中应该每天共同工作。
5: Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. 
翻译:以有进取心的人为项目核心,充分支持信任他们
6: The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
翻译:无论团队内外,面对面的交流始终是最有效的沟通方式
9: Continuous attention to technical excellence and good design enhances agility.
翻译: 只有不断关注技术和设计才能越来越敏捷.
11: The best architectures, requirements, and designs emerge from self-organizing teams.
翻译: 只有能自我管理的团队才能创造优秀的架构, 需求和设计.

把客户和商业价值等内容放到团队协作里边看似有点牵强,这也是我更喜欢用“无我”的原因。“团队”很容易让人局限到开发团队的内容,实际上团队协作是在说“不要只考虑我”乃至“不要只考虑我们(还要考虑客户)”。


关于由持续改进产生的两象在这里:http://blog.csdn.net/cheny_com/article/details/7190094 

而团队协作产生的两象在这里:http://blog.csdn.net/cheny_com/article/details/7189757 


本文中采用的翻译文字,来自:http://www.cnblogs.com/xinz/archive/2010/12/10/1902725.html

6楼csh624366188昨天 22:20
突然感觉LinkedIn里面老外的讨论能看懂许多了。。。呵呵。。征服打且心里。。。
Re: cheny_com12分钟前
回复csh624366188n最好懂的就是专业词汇了,尤其是编程用的。
5楼taodm昨天 22:06
没有团队协作,是搞不下去持续改进的,cmm基本就是这么死掉的。
4楼zhao4zhong1昨天 15:38
个人意见:敏捷开发的根本基础是熟练使用一款功能超强的程序编辑器。n百万军中取上将首级如探囊取物,n千万行里改关键源码在弹指瞬间。
Re: cheny_com昨天 17:48
回复zhao4zhong1n呵呵,这个是编程之本,用不用敏捷都是必需的啊。说实话如果编程本身很烂,怎么管理都不可能成功的。n不过编程很好,也不等于就能成功。但这时候如果用敏捷开发,就比较能保证成功了(这里包括敏捷开发中提到的用户需求管理之类的内容)。
3楼studyCBC昨天 08:46
在国外的论坛,对国人的回复最好理解,不像老外会喜欢用抽象的词汇,关注很长时间一段陈勇的帖子了,很不错
Re: cheny_com昨天 13:00
回复studyCBCn呵呵,我昨天翻看了一本6级词汇书,我大约只认识其中1/4的单词。尽管不太影响交流,不过很限制了对语气和态度的表达,用单一的词汇写长的文章也会让人厌倦。
2楼yasenagat昨天 16:10
请问,关于敏捷开发,这里文章分类这么多,还有专栏,应该从哪个开始看呢,有没有一个渐进的过程,对最初接触者要是能有个指导就好了,我看了半天,也不知道该从哪个开始看?
1楼endeator_scc昨天 12:28
看完收益良多、谢谢..

热点排行