- 浏览: 79719 次
文章分类
- 全部博客 (136)
- 我的技术资料收集 (98)
- 具体技术 (1)
- 的技术资料收集 (4)
- All Articles (1)
- 机器学习 Machine Learning (1)
- 网络编程 (1)
- java (2)
- ava (1)
- 零散技术 (1)
- C# (3)
- 技术资料收集 (1)
- CQRS (1)
- 数据库技术(MS SQL) (1)
- .Net微观世界 (1)
- Oracle SQL学习之路 (1)
- C/C++ (1)
- JS/JQ (1)
- Js封装的插件/实例/方法 (2)
- 敏捷个人 (2)
- Javascript (1)
- 程序设计---设计模式 (1)
- Bug (1)
- 未知分类 (1)
- 程序设计 (1)
- Sharepoint (1)
- Computer Graphic (1)
- IT产品 (1)
- [06]JS/jQuery (1)
- [07]Web开发 (1)
- .NET Solution (1)
- Android (3)
- 机器学习 (1)
- 系统框架设计 (1)
- Others (1)
- 算法 (1)
- 基于Oracle Logminer数据同步 (1)
- 网页设计 (1)
- 原创翻译 (1)
- EXTJS (1)
- Jqgrid (1)
- 云计算 (1)
最新评论
原帖地址:http://www.cnblogs.com/huang0925/archive/2013/05/24/3096581.html
<article class="hentry" role="article"><div class="entry-content">
<p>原书标题为<a href="http://www.amazon.cn/mn/detailApp/ref=asc_df_B0033WSFAO622894/?asin=B0033WSFAO&tag=douban-23&creative=2384&creativeASIN=B0033WSFAO&linkCode=asn">《Practices of An Agile Developer》</a>。中文名为<a href="http://book.douban.com/subject/4164024/">《高效程序员的45个习惯-敏捷开发修炼之道》</a>。敏捷这个词已经烂大街了,关于敏捷的书籍俯拾皆是。很多人是敏捷的狂热粉丝,而另一些人却讨厌敏捷,认为只是个噱头。我觉得很可能的原因之一是敏捷这个名字没起好。它的原名为“轻量型软件开发过程”(”lightweight process”),但后来阴差阳错成了agile(敏捷)。</p>
<!-- more --><p>既然书名是敏捷开发者的实践,那么就必须认识敏捷。只有深入的理解了这些实践的来源和目的,才能更好的践行甚至改进实践。</p>
<p><strong>敏捷可以用一句话来概括:敏捷开发就是在一个高度协作的环境中,不断的使用反馈进行自我调整和完善,最终交付用户想要的软件。</strong></p>
<p>从这句话中可以得出很多东西。</p>
<h2>首先,项目适不适合敏捷有两个先决条件:</h2>
<ol>
<li><p><strong>项目是以价值为导向的。</strong>也就是整个团队有一个总体一致的目标,那就是产出高质量、高价值、符合用户需求的软件。以价值为导向,看似简单,实则很难,甚至某些时候要要求公司的组织架构做出一定的调整。试想在一个等级森严、官僚化严重、各种无谓的考评泛滥的公司,有多少人能静下心来好好的搞开发,搞产品?只有打造一个相对扁平的组织,给予充分的信任和自由度,才有利于敏捷的实施。这反过来又要求团队中的每个人有高度的自律性。</p></li>
<li><p><strong>团队能够达到高度协作。</strong>必须能够保证团队中的成员能够流畅的交流。如果在团队中大搞一言堂,信息不透明,很容易打击团队人员工作的积极性,致使团队分崩离析。另外,客户也属于团队中的一员。我们做出的产品最终是给客户看的,如果客户不能保证与团队紧密的合作,那么很容易使产品偏离客户的期望,最终交付失败。</p></li>
</ol>
<h2>再次,可以看到敏捷的基础:反馈。</h2>
<p>一旦你意识到走错了路方向,就要立即做出决策。举个例子,办公室另个团队给我们分享了这样一个故事。在项目刚开始时他们设计了叫做CoreService的类来封装所有的服务。随着项目的进行,CoreService类由于需要处理的服务越来越多,导致类越来越庞大。每个人在修改这个类时,写单元测试要建立对N个服务的mock,苦不堪言。问题在于,没人及时的提出这个bad smell,导致了人们花费了大量的时间来维护它。</p>
<p>这说明了及时反馈的重要性。<strong>反馈包含提出反馈和接受反馈。</strong></p>
<p><strong>提出反馈需要勇气和时机。</strong>要勇敢的提出自己的想法,这既需要自身具有对项目负责的精神,还要团队提供安全的环境。要及时的指出项目中不好的地方,千里之堤,毁于蚁穴。大灾难是逐步演化而来的,项目中切忌温水煮青蛙。</p>
<p><strong>接受反馈需要气度和行动。</strong>这就要求团队成员做事要有专业的态度,对事不对人,重结果轻过程。同时要拿出具体的行动,否则很容易打击积极性。</p>
<h2>其次,可以看到敏捷的精髓:拥抱变化。</h2>
<p>软件开发行业是一个不停发展和永远变化的领域。现在没有将来也不会有一个人能够了解你的项目的方方面面。</p>
<p>变化无处不在,这就要求我们不断的学习。而迭代和增量式的学习则不失为一个好办法。一个学习型的团队才是较好的团队。当然,在学习的同时,你也要懂得丢弃。打破旧习惯很难,更难的是自己还没意识到这个问题。丢弃的第一步,首先是意识到你还在使用过时的方法,这也是最难的部分。</p>
<p>同时,变化意味着我们要主动应对。德国陆军元帅Helmuth von Moltke说过一句话“没有任何计划在遇敌后还能继续执行。”在软件开发中,我们可以这样理解,任何设计在开发中只是一个起点,它如何你的代码一样,会不停地进一步发展和提炼。</p>
<h2>最后,敏捷的目的:交付用户想要的软件。</h2>
<p>试想客户将需求交付给你,要你几年后交付系统。然后,你基于这些需求构建了系统并按时交付。客户看了软件以后连声称赞。从此你多了一个忠实客户,接着开心的投入到下个项目中。请问这样的事情在你的项目中发生过吗?</p>
<p>通常情况是客户看到后暴跳如雷,这根本不是我想要的。这是因为用户的需要、技术和我们对需求的理解,都会随着时间的推移而变化。</p>
<p>那么,如何解决这个问题那?方法之一就是采用敏捷的迭代式开发。每个迭代至少有两个活动不可或缺。一个是展示会议(show case),向客户展示目前的项目进展,已完成的功能,从而收集客户的反馈,即时对产品的方向做出调整。另一个是回顾会议(retro)。回顾会议则是提出反馈的一个好时机。通过回顾会议分析出这个迭代中的做的好的地方和不好的地方,并提出具体的改进行动。</p>
<p>要将团队带入新的领域,必须首先要以身作则。我们需要的是领导者,而不是管理者。无论你目前的项目是否是敏捷项目,这本书中你都可以找到能够借鉴和提高的地方。敏捷中的持续改进不仅局限于项目开发,其实更适合于个人。通过持续改进自己的习惯、处事方法,保持一颗好奇心,勇敢的尝试未知领域,只要自己能力提高了,何惧其他?</p>
<p>改变从自身做起,不能自暴自弃,而要奋起直追。</p>
</div></article>
发表评论
-
C#WebBrowser控件使用教程与技巧收集--苏飞收集 - sufeinet
2013-06-28 12:07 1022原帖地址:http://www.cnblogs.com/suf ... -
我要喷一个自认为很垃圾的网站架构 - 老赵【苏州】
2013-06-28 12:01 1088原帖地址:http://www.cnblogs.com/lao ... -
[翻译] Oracle Database 12c 新特性Multitenant - Cheney Shue
2013-06-28 11:43 596原帖地址:http://www.cnblogs.com/ese ... -
memcahd 命令操作详解 - 阿正-WEB
2013-06-28 11:37 437原帖地址:http://www.cnblogs.com/azh ... -
面向过程的代码符合大众的思维方式吗? - 史蒂芬.王
2013-06-27 10:28 556原帖地址:http://www.cnblogs.com/ste ... -
面向过程的代码符合大众的思维方式吗? - 史蒂芬.王
2013-06-27 10:28 533原帖地址:http://www.cnblogs.com/ste ... -
RPG游戏之组队测试 - zthua
2013-06-27 10:22 523原帖地址:http://www.cnblogs.com/zth ... -
IT人们给个建议 - SOUTHER
2013-06-26 14:06 494原帖地址:http://www.cnblogs.com/sou ... -
Java向前引用容易出错的地方 - 银河使者
2013-06-26 14:00 460原帖地址:http://www.cnblogs.com/nok ... -
使用Func<T1, T2, TResult> 委托返回匿名对象 - 灰身
2013-06-26 13:54 768原帖地址:http://www.cnblo ... -
【web前端面试题整理03】来看一点CSS相关的吧 - 叶小钗
2013-06-25 10:45 746原帖地址:http://www.cnblogs.com/yex ... -
Windows 8 动手实验系列教程 实验6:设置和首选项 - zigzagPath
2013-06-25 10:27 583原帖地址:http://www.cnblogs.com/zig ... -
闲聊可穿戴设备 - shawn.xie
2013-06-25 10:21 522原帖地址:http://www.cnblo ... -
CentOS下Mysql安装教程 - 小学徒V
2013-06-23 15:24 571原帖地址:http://www.cnblogs.com/xia ... -
vmware安装ubuntu12.04嵌套安装xen server(实现嵌套虚拟化) - skyme
2013-06-23 15:18 803原帖地址:http://www.cnblogs.com/sky ... -
之前专门为IE6、7开发的网站如何迁移到IE10及可能遇到的问题和相应解决方案汇总 - 海之澜
2013-06-23 15:12 911原帖地址:http://www.cnblogs.com/wuz ... -
Android学习笔记--解析XML之SAX - 承香墨影
2013-06-23 15:01 373原帖地址:http://www.cnblo ... -
SQL Server 性能优化之——T-SQL TVF和标量函数
2013-06-19 09:32 623原帖地址:http://www.cnblogs.com/Boy ... -
Nginx学习笔记(二) Nginx--connection&request
2013-06-19 09:26 612原帖地址:http://www.cnblogs.com/cod ... -
从郭美美霸气侧漏看项目管理之项目经理防身术
2013-06-19 09:20 466原帖地址:http://www.cnblogs.com/had ...
相关推荐
自己总结的《高效程序员的45个习惯》,把书中自己感觉较好的段落摘抄下来,稍稍加了点自己的想法,挺好的...
第1章 敏捷——高效软件开发之道 第2章 态度决定一切 1. 做事 ...9.1 只要一个新的习惯 9.2 拯救濒临失败的项目 9.3 引入敏捷:管理者指南 9.4 引入敏捷:程序员指南 9.5 结束了吗 附录A 资源 索引
高效程序员45个习惯,为你的个人拓展提供发展方向
NI-VISA的技术资料,其中包括:NI-VISA用户手册和NI-VISA程序员参考手册,希望对大家有帮助。
程序员考试试题---程序员考试教程 程序员考试试题---程序员考试教程
高效程序员的45个习惯 英文完整版 V.Subramaniam, A.Hunt - Practices of an Agile Developer - Working in the Real World. 2006.pdf
简历模板-程序员-精选简历模板-程序员-精选简历模板-程序员-精选简历模板-程序员-精选简历模板-程序员-精选简历模板-程序员-精选简历模板-程序员-精选简历模板-程序员-精选简历模板-程序员-精选简历模板-程序员-精选...
javascript 特效大全----网页程序员的救星 javascript 特效大全----网页程序员的救星 javascript 特效大全----网页程序员的救星 javascript 特效大全----网页程序员的救星 javascript 特效大全----网页程序员的救星 ...
简历模板-程序员-通用-精选简历模板-程序员-通用-精选简历模板-程序员-通用-精选简历模板-程序员-通用-精选简历模板-程序员-通用-精选简历模板-程序员-通用-精选简历模板-程序员-通用-精选简历模板-程序员-通用-精选...
javascript 特效大全----网页程序员的救星 javascript 特效大全----网页程序员的救星 javascript 特效大全----网页程序员的救星 javascript 特效大全----网页程序员的救星 javascript 特效大全----网页程序员的救星
高级程序员的45个好习惯,很多很经典的习惯有助于你的开发之路
特效大全----网页程序员的(2) 特效大全----网页程序员的(2) 特效大全----网页程序员的(2) 特效大全----网页程序员的(2) 特效大全----网页程序员的(2) 特效大全----网页程序员的(2)
这是上传的最后一个了《NI-VISA程序员参考手册》
NI-VISA程序员指导手册,有需要的可以下来看看,欢迎下载
程序员职业素养读后感
高效程序员的10个习惯,养成好习惯,工作效率高
Mini-XML程序员开发手册,Version2.5.pdf
2006-2010程序员试题 软考 程序员
如何学习C语言(5)-----程序员之路