An overview of the theory of agile Development

Source: Internet
Author: User

First, the Agile practice

  1. The Agile Manifesto

    Individuals and interactions outweigh processes and tools

Work-ready software trumps all-encompassing documentation

Customer cooperation is better than contract negotiation

Responding to change is better than following plan

    1.1 Bodies and interactions outweigh processes and tools

Collaboration, communication, and interactivity are more important than simple programming skills.

Tools to choose the right, do not start blindly select the so-called powerful. Try to start from a small tool until it is not available to replace.

    1.2 Work-ready software trumps all-encompassing documentation

Documents that are exhaustive can take a lot of time to write and maintain. Obsolete documents are more damaging than no documents.

Martin's document the first law: it is not necessary to document until it is urgently needed and significant.

    1.3 Better customer cooperation than contract negotiation

There is a fundamental flaw in a contract that identifies requirements, progress, and project costs. In most cases, the terms specified in the contract will become meaningless long before the project is completed.

Contracts that provide guidance on how development teams and customers work together are the best contracts.

    1.4 Response to change is better than following plan

Demand will never be absolutely stable, and the ability to respond to change often determines the success or failure of a software project.

A good strategy for planning is to make a detailed plan for the next two weeks, make a rough plan for the next three months, and then make a very rough plan.

  2. Principles

The 12 principles drawn from these values are the characteristics of agile practices that differ from heavy processes.

    2.1 Our top priority is to make our customers happy by delivering valuable software early and consistently.

2.2 Even in the late stages of development, you are welcome to change your needs. Agile processes leverage change to create competitive advantage for customers.

2.3 Regular deliveries can work on the software, the delivery interval can be from a few thoughtful months, the shorter the time interval the better.

2.4 Throughout the development of the project, business people and developers must work together every day.

2.5 build projects around motivated individuals. Provide them with the environment and support they need, and trust them to get the job done.

2.6 Within the team, the most effective and efficient way to deliver information is through face-to-head conversations.

2.7 of working software is the primary measure of progress.

2.8 Agile processes provide sustainable development speed. Responsible people, developers and users should be able to maintain a long-term, constant development speed.

2.9 constant attention to excellent skills and good design will enhance agility.

2.10 Simplicity-the technology that maximizes unfinished work-is fundamental.

2.11 The best architectures, requirements, and designs come from a self-organizing team.

2.12 Every once in a while, the team will reflect on how to work more effectively, and then adjust their behavior accordingly.

Second, extreme Programming

  1. Extreme Programming practices

    1.1 Customers as team members

    1.2 User Stories

User stories, also called a user story, is an ongoing mnemonic for demand talk.

It is a planning tool that the customer can use and schedule the time it takes to implement the requirement based on its priority and estimated cost.

    1.3 Short Delivery cycles

1.3.1 Iteration Plan

Each iteration typically takes two weeks. This is a smaller delivery.

The developer sets a budget for this iteration by measuring the amount of work done in previous iterations.

1.3.2 Release Plan

The XP team typically creates a plan to plan for the next 6 iterations, which is called a release plan. It represents a larger delivery.

    1.4 Acceptance Test

Acceptance testing of user footage needs to be done in the process of implementing the material money or implementing the material.

Acceptance tests are written in a scripting language that allows them to run automatically and repeatedly.

    1.5 Pair Programming

    1.6 Test-driven development methodology

All product codes are written for the purpose of allowing failed unit tests to pass.

The test case guides you through the steps of code writing.

The benefit of writing test cases is that they can be used to validate modified code and facilitate refactoring, prompting you to write testable code that effectively decouples your code.

    1.7 Ownership of the episode

    1.8 Continuous Integration

Each time you check in your code, you need to merge with the other check-in. To avoid merging for too long, members of the team check in their modules very frequently.

    1.9 Sustainable development speed

1.10 Open Working space

1.11 Planning Games

The nature of the planning game is to divide the responsibilities between the business and the developer. The business person determines the importance of the feature, and the developer determines the cost of implementing a feature.

At the start of each release and each iteration, the developer gives the customer a budget by giving them the amount of work they have done in the last time. Customers Select user footage within this budget.

    1.12 Simple Design

A consider the simplest thing that can work

b You won't need it: don't think too much about the future.

C once, and only once: do not tolerate duplicate code, use abstraction to eliminate repetition.

    1.13 Refactoring

Code tends to be corrupt. Refactoring is a series of small modifications to improve the practical activities of the system structure without changing the behavior of the code.

After each retrofit, run unit tests to ensure that the retrofit does not cause any damage.

    1.14 Metaphors

Metaphor is the global attempt to link the whole system together.

Iii. Summary

This article introduces some of the basic principles of agile development, and the next one will cover the planning, testing, and refactoring of the principles in detail.  

An overview of the theory of agile Development

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.