A brief introduction to the Agile Manifesto

Source: Internet
Author: User

Catalogue

First, what is the Agile manifesto?

Ii. the emergence of the Agile Manifesto

Third, the specific content

(a) Official website

(ii) four core values

(iii) Principle 12

Iv. interpretation

V. Background and significance

Reference

Body first, what is the Agile manifesto?

  The Agile Manifesto (Manifesto for Agile Software Development), also known as the Agile Software Development Manifesto, formally announces four core values and 12 principles that can guide iterative, human-centric software development approaches. Agile Software Development focuses on maintaining concise code, regular testing, and timely delivery of the application's functional modules. The Agile Manifesto was created to replace the cumbersome document-driven software development process, such as the waterfall approach.

Ii. The emergence of the Agile manifesto

2000 September, Bob Martin, from the Chicago Object Mentor Company, blew an e-mail at the rally of the next meeting. "I would like to convene a small 2-day meeting, in 2001 January or February, in Chicago, with the aim of bringing together leaders of all lightweight methodologies." You've all been invited. If you think anyone else should come, please let me know. "

From February 11, 2001 to 13th, 17 leaders in the field of software development gathered at the ski resort Snow Bird (Snowbird) in Utah State, USA. After two days of discussion, the word agile is accepted by all parties to summarize a whole new set of software development values. This set of values, passed on to the world through a concise Agile manifesto, proclaimed the beginning of the Agile development Movement. attendees include delegates from extreme programming,Scrum,DSDM, Adaptive Software Development, Crystal Series, feature driven development, and practical programming, as well as the desire to find document-driven, Some of the drivers of alternatives to the heavy-duty software development process.

third, the specific content (a) official website

  Dot me.

(ii) four core values [1]

Individuals and interactions higher than processes and tools
Software for working above-Detailed documentation
Customer Cooperation above contract negotiation
Response Change higher than following plan

In other words, although the right item has its value,
We pay more attention to the value of the left.

(iii) Principle 12 [1]

We adhere to the following principles:

1, our most important goal is to continue to deliver valuable software early to customer satisfaction.

2, willing to face the change in demand, even in the late development of the same. The Agile process controls change for the customer's competitive advantage.

3, the regular delivery of working software, A few weeks or a month apart, tend to take shorter cycles.

4, business personnel and developers must cooperate with each other, every day in the project is no exception.

5, inspire individual morale, with them as the core construction projects. provide the required environment and support, supported by trust, to achieve the goal.

6, whether within and outside the team, the best way to deliver the most efficient and effective information is talk to each other in person.

7. Working software is the primary measure of progress.

8, the Agile process advocates sustainable development. The responsible person, the developer and the user should be able to maintain their steady pace and continuity.

9, perseverance in the pursuit of technical excellence and good design, the agility of this enhanced.

10, concise-oriented, it is to reduce the unnecessary workload of the art.

11, the best architecture, requirements and design from the self-organizing team. 12, the team periodically reflect on how to improve the results, and adjust their own behavior in accordance with the performance.

Iv. interpretation [4]

(i) Interpretation of four core values 1. Individuals and interactions above processes and tools

This means that while processes and tools are important (especially for large organizations), they cannot replace capable individuals and efficient interactions. Individual skills and interactions between them are the most critical.

    • When we develop our products, solve problems or improve our working methods, we look for ways to improve our interactions and improve our capabilities.
    • Product management and development teams must work together during the project
    • Architects, designers, and testers must work together every day during the project
    • It is extremely important that face-to-face communication is not completely replaced by other forms
2, the work of the software than the detailed documentation

This means that a product that has been integrated, tested, and potentially ready for release is a critical metric that can effectively track project progress and make decisions about the release.

    • To build a product in small increments: do some analysis, design, and then start coding and testing to validate the design
    • Design needs to be done, such as agile modeling workshops (design and documentation are not the same). If you need to deliver information to customers, maintenance workers, easy documentation is necessary.
    • A good architecture is the key to continuous product development, architecture is designed, and building a simple and achievable architecture is the first step in sustainable development. The architecture evolves over time, so continuous pursuit of superior technology and good design can enhance product agility.
3. customer cooperation is higher than contract negotiation

This means that we should go beyond negotiation and try to improve our cooperation with our customers. We should also build relationships based on cooperation, not formal interfaces within the company.

    • In practice, it means that product managers, marketers, or salespeople often request feedback from customers and prioritize them during product development.
    • In working with our own business partners, we should look for ways to promote and improve cooperation during development.
    • Product management and development should be done in close cooperation, rather than through contracts or formalities.
4. response change is higher than following plan

This means welcoming demand changes, even in the late stages of development.

    • First, It is impossible to know all the requirements in advance. Each project will have a need to emerge and inherit.

(ii) Interpretation of the principles of 12

1. Our most important goal is to make our customers happy by delivering valuable software on a continuous and early date.

Customer satisfaction and valuable software is the key word. To ensure that the software products we develop deliver real value to our customers, it is entirely up to us to work closely with our customers during development. Product management is key to ensuring that customer needs are properly understood during development. We should focus on the most valuable work for our customers.

The ability to deliver early and consistently is key to meeting customers. It is better to deliver part of the function in a timely manner than the final delivery of the full volume, at least we should give our customers a choice.

2. embrace changes in demand, even in the late stages of development. The agile process controls change for the customer's competitive advantage.

Our goal is to support any change in the development of products that will help our customers to increase their value. Change is not a negation, it embodies the team and product owner in the agile development process of a way of working.

3. frequent delivery of working software, separated by weeks or months, tends to take a shorter cycle.

the development cycle and release cycle are completely different. Despite the release cycle, our goal is a short development cycle. The length of the release cycle depends on the business decision and is closely related to the customer's expectations. The frequent delivery of short development cycles shortens the feedback cycle and enhances learning. Frequent deliveries also allow teams to expose weaknesses early and remove barriers in a timely manner, increasing agility and flexibility.   

4. business people and developers must work with each other, every day of the project is no exception.

As long as we build bridges between business and research, we can benefit from it. Business people and product management are aware of market conditions, customer needs, and customer value. The development team knows the product and technical feasibility. How can these two aspects be combined? We need to make wise decisions.

5. inspire individual morale and build projects with them as the core. Provide the required environment and support, supported by trust, to achieve the goal.

knowledge work (such as software development) is done by people with skills and passion. In order to inspire individual morale and creativity, freedom is the most important factor. Let the character adapt to the person rather than let the person adapt to the character.   

6.The best and most efficient way to deliver information, whether inside or outside the team, is to talk face-to-head.

In-person conversations are especially important in distributed development. When we see people talking to each other, the information is transmitted more in the form of hearing. The document (though it is important) is not a substitute for conversation, and it is simply impossible to write everything down. We should not rely solely on writing documents to deliver important information.

7. working software is the primary measure of progress.

tracking How many features have been implemented, integrated, and tested is a more reliable measure of progress.   

8. Agile Processes advocate sustainable development. The responsible person, the developer and the user should be able to maintain their steady pace and continuity.

The goal is to eliminate high-load work and maintain a sustainable pace of work (for example, not working overtime). Quality problems often sacrifice long-term benefits, and the more people are fatigued, the less creative they become. So you can develop it sustainably!   

9.With relentless pursuit of technical excellence and good design, agility is enhanced.

Any technical liabilities (code flaws, architectural flaws) can slow down development. We should not let the technical debt backlog, so continue to refactor, change the defects found, and continue to focus on the quality of the implementation of the architecture.

10. to be concise, it is the art of trying to reduce unnecessary work.

This simple principle applies both to the functional characteristics of the product and to the process. Do not increase the extra functionality. All process steps should be challenged at all times (for example, does this really need to be? Who would read this document?) ...)。  

11. the best architectures, requirements, and designs come from self-organizing teams.

architecture, design, and requirements are slowly emerging as teams work together, and the team is learning a lot. Some of the pre-requirements, architecture, and design work are needed, but they cannot be defined on paper. Architects and systems engineers are part of the self-management development team and do not become "silos".

12.The team regularly reflects on how they can improve their performance and adjust their behavior accordingly.

Taking time to reflect and learn from experience can promote sustainable development. Therefore, "inspection and adjustment" is one of agile core practices.

V. Background and significance

Kent Beck shared his early work experience. At that time, his estimated development workload was 2 people doing 6 weeks. As a result, at the start of the project, the manager temporarily changed another person to work with him, and it took them 12 weeks to complete the project. He felt bad, because in the middle of the next 6 weeks, the manager had been chattering, too slow. Kent was a little frustrated and felt that being a programmer was too much of a failure. At the end of the day, he realized that the first 2 people who had done the 6-week estimate were actually quite accurate. It is not his failure, it is the failure of the manager (the matter of temporary substitution), in fact the failure of the so-called standardized, process-minded "rigid" mind that continues to plague our profession.

The same thing happens every day. Marketers, managers, external customers, internal customers, and, of course, developers, don't want to be themselves to make tough, compromise decisions. So they use the Organization's division of responsibilities to pass on the problem to others, and even make absurd demands. It's not just a problem with software development, it's everywhere.

Let's write it first.

Reference

[1] Manifesto for Agile Software Development-English 2016/09/15 http://agilemanifesto.org/iso/zhchs/manifesto.html

[2] 51ct0 Blog-history: The Birth of the Agile manifesto 2016/09/15 http://davidzhang33.blog.51cto.com/3095817/1103860/

[3] TechTarget China-Agile Manifesto: Four core values and 12 principles 2016/09/15 http://www.searchcio.com.cn/showcontent_54322.htm

[4] Parkour- Agile Manifesto and principles interpretation 2016/09/15 Http://www.tuicool.com/articles/ziqIN3Y

[5] CSDN Blog-Agile Manifesto Ideas misunderstanding 2016/09/15 http://blog.csdn.net/youcharming/article/details/41865893

A brief introduction to the Agile Manifesto

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: info-contact@alibabacloud.com 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.