到底什么是敏捷(Agile)?

 很多人以为 Agile 就是 Scrum 和 XP,这是错误的。的确,Scrum 和 XP 是迄今为止两种最著名的敏捷方法,但敏捷方法除了 Scrum 和 XP 之外还有许多种,敏捷方法是一个家族或生态系统,怎么能说个体就等同于全体呢?

    其实,敏捷是一套与传统软件工程显著不同的价值观和原则,是包括 Scrum 和 XP 在内的所有敏捷过程或方法所共同具有的某些性质和特征,而不是某一个具体的过程、方法论或做法。

    除了提出 4 条基本的敏捷价值观之外,敏捷大师们还总结出了 12 条敏捷原则。以下是 敏捷原则 的原文(附编号和我的翻译)。

    Principles behind the Agile Manifesto

    http://www.agilemanifesto.org/principles.html

    《敏捷宣言》背后的原则

    We follow these principles: 

    我们遵循以下原则:

    Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.

    1、我们最优先的目标是:通过尽早地、持续地交付高价值的软件来满足客户。

    Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage. 

    2、我们欢迎需求的变化,甚至在开发的后期。敏捷过程通过驾驭变化来帮助客户取得竞争优势。

    Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale. 

    3、经常交付可用的软件,间隔从两周到两个月不等,优先采用较短的时间尺度。

    Business people and developers must work together daily throughout the project. 

    4、整个项目自始至终,业务人员和开发人员都必须每天在一起工作。

    Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. 

    5、以积极主动的员工为核心建立项目团队,给予他们所需的环境和支持,并且信任他们能够胜任工作。

    The most efficient and effective method of conveying information to and within a development team is face-to-face conversation. 

    6、在开发团队内外传递信息最有效率和效果的方法是:面对面的交流。       


    Working software is the primary measure of progress. 

    7、可用的软件是最主要的进展指标。

    Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely. 

    8、敏捷过程提倡可持续的开发。发起人、开发者和用户都应该始终保持稳定的工作步调。

    Continuous attention to technical excellence and good design enhances agility. 

    9、持续关注技术上的精益求精和优良的设计以增强敏捷性。

    Simplicity--the art of maximizing the amount of work not done--is essential. 

    10、简约 — 使必要的工作最小化的艺术 — 是成功的关键。

    The best architectures, requirements, and designs emerge from self-organizing teams. 

    11、最优的架构、需求和设计浮现于自组织的团队。

    At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly. 

    12、团队定期不断地对如何更加有效地工作进行反思,并相应地调整、校正自己的行为。


    这些原则有什么用?我想,至少有这么一些用途。

    首先,这 12 条西式敏捷原则是“敏捷”这个抽象概念的细化和具体化,是可操作的。我们可以用这 12 条原则作为指导原则和评判标准,既可以用它们来指导我们进行敏捷过程改进,也可以用它们来判断一个团队或项目是否做到了真正的敏捷(参照《敏捷宣言》的标准)。显然,一个敏捷团队应该能符合以上 12 条原则中的所有或大部分要求。

    其次,即便一时难以做到 Agile,我们也可以把自己企业和团队的管理、开发现状与敏捷原则进行比对,看看差距在哪里,哪些做得到,哪些目前还做不到,为什么难以做到,难点在哪里 ... 有了比较,才有进步。

转自:http://tech.it168.com/a2010/0308/857/000000857905_all.shtml
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
What’s this book all about? Well, it’s about how to develop software from a personal perspective. We’ll look at what it means for you to take a problem and produce a program to solve it from beginning to end. That said, this book focuses a lot on design. How do you design software? What things do you take into account? What makes a good design? What methods and processes are there to help you design software? Is designing small programs different from designing large ones? How can you tell a good design from a bad one? What general patterns can you use to help make your design more readable and understandable? It’s also about code construction. How do you write programs and make them work? “What?” you say. “I’ve already written eight gazillion programs! Of course I know how to write code!” Well, in this book, we’ll explore what you already do and investigate ways to improve on that. We’ll spend some time on coding standards, debugging, unit testing, modularity, and characteristics of good programs. We’ll also talk about reading code, what makes a program readable, and how to review code that others have written with an eye to making it better. Can good, readable code replace documentation? How much documentation do you really need? And it’s about software engineering, which is usually defined as “the application of engineering principles to the development of software.” What are engineering principles? Well, first, all engineering efforts follow a defined process. So we’ll be spending a bit of time talking about how you run a software development project and what phases there are to a project. We’ll talk a lot about agile methodologies, how they apply to small development teams and how their project management techniques work for small- to medium-sized projects. All engineering work has a basis in the application of science and mathematics to real-world problems. So does software development. As I’ve said already, we’ll be spending a lot of time examining how to des

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值