- 浏览: 255398 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (293)
- web (1)
- [随笔分类]项目管理 (30)
- [随笔分类]WCF (14)
- 未分类 (1)
- [随笔分类]Linq (4)
- [随笔分类]C#基础 (24)
- 项目 (1)
- [网站分类]3.非技术区(技术之外的文章,但不要涉及任何政治内容) (8)
- [网站分类]1.首页原创精华.NET区(包含架构设计、设计模式)(对首页文章的要求:原创、高质量、经过认真思考并精心写作) (9)
- [随笔分类]Ubuntu (4)
- ASP.Net (1)
- [网站分类]2..NET新手区(用于发表不合适发表在首页的.NET技术文章,包括小经验、小技巧) (30)
- [随笔分类]ASP.NET MVC (20)
- [随笔分类]ASP.NET (3)
- [随笔分类]程序员厨房 (4)
- [随笔分类]英语学习 (28)
- [网站分类]4.其他技术区 (1)
- [随笔分类]Silverlight (12)
- [随笔分类]CodeSmith (8)
- [随笔分类]其他 (4)
- [随笔分类]Ruby (4)
- [发布至博客园首页] (34)
- [网站分类]其他技术区 (3)
- [随笔分类]Ruby on Rails (2)
- [网站分类].NET新手区 (33)
- [随笔分类]TDD (1)
- [随笔分类]不谈技术 (2)
- [网站分类]非技术区 (7)
最新评论
-
yicone:
You make a mistake when paste t ...
WCF步步为营(一):简单示例 -
jinweijie:
你好,这个实现不错,但是在用了scriptmanager以后就 ...
在服务器端保存ViewState
本文摘要
- 敏捷的路上
- 敏捷的诞生
- 敏捷宣言
- 敏捷宣言12条原则
敏捷的路上
敏捷最近几年风生水起,大行其道,愈演愈烈,越来越多的公司加入敏捷的队列。到底敏捷怎么样呢?我想实践是学习一样东西最好的方式。
我从最初的ERP瀑布式开发,到后来使用一些过程,大部分都是半途而废,,如CMMI, RUP等,每一种都是很好的过程,但原来我并不这么认为,我认为这些不适合项目,尤其是小型项目,但当我刚刚开始看敏捷的时候(也就是现在),我才发现我对CMMI, RUP有错误的理解,尤其是RUP有错误的理解,因为我刚刚使用了RUP方式开发一个项目,我现在才明白,RUP也可以是敏捷的, 请看IBM的这篇文章 敏捷 RUP:来自实战中的经验.
是的,一切过程都可以是敏捷的。
我想有些人可能对敏捷有错误的理解
- 比如非要使用一些敏捷的工具
实际上敏捷宣言的第一条“个体和交互胜过过程和工具”,我想也并不是说不使用工具,而是工具是为软件服务的,而不是为了敏捷过程而使用工具。 - 完全抛弃过去的方法
比如很多项目没有文档,需求无法查,代码也没有注释,“可用的软件胜于详尽的文档”并不是说不要文档。实际上我们在过去的方法上也积累了很多有用的知识,比如计划,文档,风险分析,只不过我们现在减少,优化过去的过程,而不是完全抛弃,如果这样也是舍本逐末。 - 为了敏捷而敏捷
有的人为了敏捷而敏捷,敏捷不是说拿来就可以用的,而是需要不断实践,不断学习,用不好可能会成“无政府也无自组织”状态,最终一片散沙。
下面是就目前我的知识对敏捷理解:
- 敏捷是一种思想,是一种境界,他特别像李小龙的“截拳道”,只有神而没有形,一切好的东西都可以来用,不管是南拳还是北腿,也不管是少林还是武当,同样,软件难道不是一样的吗?我们的目标很简单“交付给客户满意的软件”。
- 敏捷像精益生产,目标是减少浪费,过去我们做了很多多余的东西,比如,我们在设计时过多的考虑了扩展,但是这些设计永远也用不上,而且还需要维护,增加的后期开发的复杂度,所以我们应该只做目前需要的东西,适当的架构。
- 敏捷强调创新,所以百花齐放,百家争鸣。我们可以用TDD增加程序的健壮性,我们可以用结对来提高效率,我们可以在代码里加上适当的注释来替代文档,让代码自解释,我们也可以用UML,用白板来沟通,我们可以用自动集成来发布,尽早发现作bug,也就是我们可以使用一切手段来减少重复的,不必要的工作,Don't repeat yourself. 我想敏捷的方式下,会有更好的东西出来,这肯定又是一个人才辈出的时代,我相信这些新的东西,好的东西,都只是一时的,后面还有更好的,每一种也不是最好的,等待你去更新,作为一个程序员,我希望最好的工具永远也不要到来。
- 敏捷也是回归人性,软件是创造性的,人是不能放在机床上的,把人放在机床上,流出来是血。
附:
敏捷的诞生
在2001年召开的研讨软件过程未来发展趋势的一次会议上,17位业界专家就什么是“敏捷”达成一致意见。这次会议的一个成果是成立了“敏捷联盟”并发布了联盟敏捷宣言(参考http://www.agilealliance.org/principles.html)。这份联盟敏捷宣言是“敏捷软件开发”价值和目标的浓缩定义,并通过许多共同的原则进行了细化。
敏捷宣言(Manifesto for Agile Software Development)
Individuals and interactions over processes and tools 个体和交互胜过过程和工具
Working software over comprehensive documentation 可用的软件胜于详尽的文档
Customer collaboration over contract negotiation 客户协作胜于合同谈判
Responding to change over following a plan 响应变化胜于恪守计划
----- Kent Beck,Mike Beedle,Arie van Bennekum, Alistair Cockburn, Ward Cunningham, Martin Fowler, James Grenning, Jim Highsmith, Andrew Hunt, Ron Jeffries, on Kern, Brian Marick, Robert C. Martin, Steve Mellor, Ken Schwaber, Jeff Sutherland, Dave Thomas
把宣言人的名字列在这里,可以给大家买书做个参考,比如Dave Thomas 写的Agile web development with Ruby on Rails.
敏捷宣言12条原则
1. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
最优先的目标是通过尽早地、持续地交付有价值的软件来满足客户
2. Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.
欢迎需求变化,甚至在开发后期。敏捷过程控制、利用变化帮助客户取得竞争优势
3. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
频繁交付可用的软件,间隔从两周到两个月,偏爱更短的时间尺度
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.
在开发团队内外传递信息最有效率和效果的方法是面对面的交流
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.
敏捷过程提倡可持续发展。发起人、开发者和用户应始终保持稳定的步调
9. Continuous attention to technical excellence and good design enhances agility.
持续关注技术上的精益求精和良好的设计以增强敏捷性
10. Simplicity--the art of maximizing the amount of work not done--is essential.
简化——使必要的工作最小化的艺术——是关键
11. The best architectures, requirements, and designs emerge from self-organizing teams.
最好的架构、需求和设计产生于自我组织的团队
12. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.
团队定期地对运作如何更加有效进行反思,并相应地调整、校正自己的行为
发表评论
-
RUP十大要素的应用
2008-04-07 10:57 608发现了RUP的十大要素之后,怎样才能让它给我的职业生涯带来根本 ... -
12 个 XP 实践
2008-04-16 08:55 535有计划的开发:通过结合使用优先级"故事&qu ... -
利用FxCop进行代码规范检查
2008-04-23 11:02 8111. Fxcop下载 http://www.microsoft ... -
.NET环境下每日集成(1):简介
2008-04-23 13:53 814最近做项目,每天有如下任务,需求---》任务分解--》开发人员 ... -
.NET环境下每日集成(2):CruiseControl.Net安装
2008-04-23 14:08 9281. 到这里下载 http://sourceforge.net ... -
.NET环境下每日集成(3):CruiseControl.Net配置
2008-04-23 14:31 18821.要想使用CruiseControl.Net进行每日集成,必 ... -
.NET环境下每日集成(4):CruiseControl.Net配置注意事项
2008-04-24 09:38 8711. 今天机器改了密码,启动不了,解决方法如下 设置为当前登录 ... -
.NET环境下每日集成(5):CruiseControl.Net 源码管理器块
2008-04-24 10:02 10101. CruiseControl.Net支持非常多的源码管理器 ... -
.NET环境下每日集成(6):CruiseControl.Net Trigger Blocks
2008-04-24 16:55 1053这块配置在什么情况下运行集成 通常你会用Interval tr ... -
.NET环境下每日集成(7):CruiseControl.Net Task Blocks
2008-04-24 17:10 1170Task Block 类型: Build Publishe ... -
.NET环境下每日集成(8):CruiseControl.Net Labeller Blocks
2008-04-24 17:21 711Labeller Blocks为每次编译标记 Date La ... -
成功是一种习惯
2008-10-03 15:24 544国庆马上就过去了,可 ... -
我的2008
2009-01-01 08:29 9592008年,祖国多灾多难,雪灾,地址,三鹿奶粉,留给我们太多的 ... -
《大道至简》笔记
2009-04-28 22:37 789偶见周爱民先生大道至 ... -
项目经理如何提高软件的质量
2009-05-04 16:30 834物理中的质量是指含有物质的多少,无论位置、状态、形状的改变,一 ... -
如何保持竞争力
2009-06-06 15:01 862竞争力在这里我指的是,做一个雇主,同事都喜欢的人。 如何保持 ... -
RUP十大要素的应用
2008-04-07 10:57 676发现了RUP的十大要素之后,怎样才能让它给我的职业生涯带来根本 ... -
12 个 XP 实践
2008-04-16 08:55 451有计划的开发:通过结合使用优先级"故事&quo ... -
利用FxCop进行代码规范检查
2008-04-23 11:02 7881. Fxcop下载 http://www.microsoft ... -
.NET环境下每日集成(2):CruiseControl.Net安装
2008-04-23 14:08 9391. 到这里下载 http://sourceforge.net ...
相关推荐
《Web开发敏捷之道》这本书是IT行业中关于敏捷开发方法在Web开发领域的深度探讨。敏捷开发是一种以人为本、迭代、增量的软件开发方法论,强调快速响应变化,提高开发效率和产品质量。书中涵盖了敏捷开发的核心理念、...
《Web开发敏捷之道:应用Rails进行敏捷Web开发(第3版)》主要分为两大部分。在“构建应用程序”部分中,读者将看到一个完整的“在线购书网站”示例。在随后的“Rails框架”部分中,作者深入介绍了Rails框架的各个组件...
标题中的“Web开发敏捷之道--应用Rails进行敏捷Web开发 之 Depot代码”表明这是一个关于使用Ruby on Rails框架进行敏捷Web开发的示例项目,名为Depot。Ruby on Rails(简称Rails)是一个开源的Web应用程序框架,它...
《Web+开发敏捷之道源代码解析》 在Web开发领域,效率与灵活性是开发者们永恒追求的目标。"Web+开发敏捷之道"这一项目,通过使用Ruby on Rails框架,旨在提供一种快速开发、高效迭代的解决方案。Ruby on Rails,...
资源名称:Web开发敏捷之道 应用Rails进行敏捷Web开发(第3版)内容简介:全书主要分为两大部分。在“构建应用程序”部分中,读者将看到一个完整的“在线购书网站”示例。在随后的“Rails框架”部分中,作者深入介绍...
敏捷回顾
Web开发敏捷之道——应用Ralls进行敏捷Web开发.pdf 全书主要分为两大部分。在“构建应用程序”部分中,读者将看到一个完整的“在线购书网站”示例。在随后的“Rails框架”部分中,作者深入介绍了Rails框架的各个组件...
Web开发敏捷之道第三版(中文版) 应用Rails进行敏捷Web开发
【敏捷开发--敏捷之道】 敏捷开发是一种以人为核心、迭代、逐步进行的软件开发方法论,强调灵活性和响应变化的能力。在"敏捷之道"中,我们深入探讨了敏捷开发的哲学、实践以及如何在实际项目中应用敏捷原则,特别是...
Web开发敏捷之道--应用Rails进行敏捷Web开发(第2版中文版).part15.rar
11.敏捷回顾-团队从优秀到卓越之道, 注意1页2个图片,带目录,整理的PMI-ACP考试的第11本书。共12本
《Web开发敏捷之道——应用Rails进行敏捷Web开发》是一本深度探讨如何利用Ruby on Rails框架进行高效、敏捷的Web应用程序开发的专业书籍。该书涵盖了从初学者到高级开发者所需的各种知识,旨在帮助读者掌握敏捷开发...
1. **敏捷——高效软件开发之道** - **敏捷开发的重要性**:敏捷开发的核心理念是快速响应变化而非遵循计划。这种方式能够有效应对项目的不确定性,提高产品的适应性和竞争力。 - **实践建议**:采用短周期迭代、...
本书名为《高效程序员的45个习惯 敏捷开发修炼之道》,由Venkat Subramaniam和Andy Hunt两位作者共同撰写。书中所提到的45个习惯,不仅涉及软件开发过程、编程和调试工作,还包括了开发者的个人态度、项目和团队管理...
《敏捷之道第1期》是一本深入探讨敏捷开发实践与理念的资料,旨在帮助读者理解和掌握敏捷软件开发的核心思想和方法。PDF版本提供了方便的电子阅读体验,使得学习敏捷之道更加便捷。 敏捷开发是一种以人为本、迭代、...
Web开发敏捷之道Rails第二版中文版。因为所有文件大小加起来比较大,因此分为14个压缩文件。请耐心下载。
《源代码 for web开发敏捷之道:应用Rails进行敏捷Web开发(原书第4版)》是一本关于使用Ruby on Rails框架进行高效、敏捷Web开发的实践指南。此资源包含了书中所涉及的源代码,适用于对Rails 3.0、3.1、3.2版本的学习...