一.Beginning Agility
1.Work for Outcome
2.Quick Fixes Become Quicksand
3.Criticize Ideas,Not People
4.Damnthe Torpedoes,Go Ahead
二.Feeding Agility
5.Keep Up with Change
6.Invest in Your Team
7.Know When to Un learn
8.Question Until You Understand
9.Feel the Rhythm
(我觉得软件开发的节奏是很重要的。但是敏捷有迭代周期,不使用敏捷这个节奏就比较难控制了,要么需求变化不大并且前期设计考虑周全。我碰到过一个项目,前期需求分析和设计都做的相当差,到了编码阶段都是在不断的修正前期的错误,时间就这样过去了,前期制定的计划都没有按时完成,项目来不及就往后拖。每次自己感觉编码差不多了可以进行集成测试了,拿到客户那里演示后发觉距离他们的真正的需求还有十万八千里,我们就这样迭代下去。。。交付日期也遥遥无期。。。这个时候是真正陷入了焦油地啊)
三.Delivering What Users Want
10.Let Customers Make Decisions
(对于这点我也是深有体会。“拍脑袋”或许就是那些所谓PM的特征吧。。。当我们做的和真正的需求渐行渐远的时候,最终是妥协还是部分妥协,还是以技术难题为理由一意孤行?我的实际经验是部分妥协。。。最终是不是全部妥协就不得而知了)
11.Let Design Guide,Not Dictate
(我觉得文档是必须的,因为“拍脑袋”的PM记性也不怎么样,如果有一天他问我:“你为什么这么做?“的时候直接把文档甩给他,让他涨涨记性)
12.Justify Technology Use
(当遇到用项目套技术的PM的时候,那个无奈啊。。。)
13.Keep It Releasable
14.Integrate Early,Integrate Often
(这个集成并不是整个系统的测试,应该把集成的粒度变细。。。)
15.Automate Deployment Early
(能用自动化的就用自动化)
16.Get Frequent Feedback Using Demos
17.Use Short Iterations,Release in Increments
18.Fixed Prices Are Broken Promises
四.Agile Feed back
19.Put Angels on Your Shoulders
20.Use It Before You Build It
21.Different Makes a Difference
22.Automate Acceptance Testing
23.Measure Real Progress
24.Listen to Users
五.Agile Coding
25.Program Intently and Expressively
26.Communicate in Code
27.Actively Evaluate Trade-Offs
28.Code in Increments
29.Keep It Simple
30.Write Cohesive Code
31.Tell,Don’t Ask
32.Substitute by Contract
六.Agile Debugging
33.Keep a Solutions Log
34.Warnings Are Really Errors
(你能容忍你的项目有上千个warnings吗?至少有些PM能。。。)
35.Attack Problems in Isolation
36.Report All Exceptions
37.Provide Useful Error Messages
七.Agile Collaboration
38.Schedule Regular Face Time
39.Architects Must Write Code
40.Practice Collective Ownership
41.Be a Mentor
42.Allow People to Figure It Out
43.Share Code Only When Ready
44.Review Code
(现在越发觉得这个的重要性)
45.Keep Others Informed
PS:当老外在深入研究软件开发方法论的时候,我们还在为按时交付软件而苦恼。正确的方 法可以使增加达到正确的结果的可能,但是很多时候我们不重视方法而只重视结果,只要项目完成就可以了,遗憾的是软件开发完成但是他的生命周期并没有结束,为此付出的代价会更加沉重。。。
分享到:
相关推荐
《Pragmatic Bookshelf.Practices.of.an.Agile.Developer.Working.in.the.Real.World.Mar.2006.pdf》这本书提供了丰富的实例和实用建议,是希望在敏捷环境中提升工作效率和效果的开发者们的宝贵资源。通过实践书中的...
《Pragmatic Programmers - Pragmatic Project Automation(2004)》一书由Mike Clark撰写,是软件工程领域的一部经典之作。本书聚焦于项目自动化,旨在帮助软件开发者和项目经理通过自动化流程提高工作效率,减少重复...
《Pragmatic Programmers - Enterprise Integration with Ruby - 2006》这本书是关于如何使用Ruby语言进行企业级集成的全面指南。此书由Maik Schmidt编写,由The Pragmatic Bookshelf出版,该出版社以其出版高质量、...
上传一系列RUBY的书,基本上网上能见到的全了
《编程珠玑:Ruby语言实践指南(第2版)》是由Pragmatic Programmers出版的一本关于Ruby编程语言的经典著作。这本书深入浅出地讲解了Ruby的语法特性、设计哲学以及实际开发中的最佳实践,是Ruby程序员的重要参考资料...
《你好,Android,第三版》是由Pragmatic Programmers出版的一本面向实践者的Android开发指南。这本书于2010年发布,旨在帮助开发者快速掌握Android应用开发的基础知识和技术。以下将详细介绍书中涵盖的一些关键知识...
《Programming Ruby 1.9 The Pragmatic Programmers' Guide》是学习Ruby编程语言的一本经典著作,尤其针对Ruby 1.9版本进行了详细的讲解。这本书由著名的Pragmatic Programmers出版,因其深入浅出的讲解和实用的编程...
- **商标与版权信息**:书中提到了多个商标名称,包括Pragmatic Starter Kit、Pragmatic Programmer、Pragmatic Programming、Pragmatic Bookshelf以及链接设备,这些均属于The Pragmatic Programmers, LLC的商标,...
《Pragmatic Ajax - A Web 2.0 Primer》是一本深入探讨Web 2.0核心技术之一Ajax(Asynchronous JavaScript and XML)的指南。Ajax是21世纪初互联网技术的一次重大飞跃,它使得网页无需刷新即可实现数据的动态更新,...
### 关于《Pragmatic Bookshelf - Release It! Design and Deploy Production Ready Software》的知识点解析 #### 一、书籍概述 《Pragmatic Bookshelf - Release It! Design and Deploy Production Ready ...
《Programming Ruby 3.2: The Pragmatic Programmers' Guide》是由Noel Rappin和Dave Thomas合著的一本关于Ruby编程语言的指南,由Pragmatic Bookshelf出版社出版。这本书是针对Ruby 3.2版本编写的,旨在帮助读者...
这本书的第三版于2009年发布,它结合了Pragmatic Programmers的实用主义理念与Ruby on Rails的敏捷开发方法,为读者提供了丰富的学习资源。 Ruby是一种面向对象的、简洁且富有表现力的编程语言,它的设计目标是提高...
《精通实用Java编程:开源项目pragmatic-java-engineer解析》 在当今的软件开发领域,Java语言以其强大、稳定和跨平台的特性,一直是企业级应用开发的首选。开源项目"pragmatic-java-engineer"是Java开发者的一个...
Pragmatic - Agile.Web.Development.with.Rails.4.Sep.2013.pdf
《Pragmatic - 敏捷Web开发与Rails第二版》一书聚焦于使用Rails框架进行敏捷Web开发,深入探讨了Rails 1.2版本的特性、应用与实践。Rails作为一个不断演进的框架,其核心开发者团队持续进行更新,添加新功能、修复...