Analysis of agile development

Disclaimer: This article is a blogger original article, follow the CC 4.0 BY-SA copyright agreement, reproduced, please attach the original source link and this statement.
This link: https://blog.csdn.net/qq_33189961/article/details/98633304

table of Contents

What is Agile

What is agile development

Agile Manifesto

12 principles of Agile Manifesto

The advantages of agile development

Waterfall Model Development

Agile Development


What is Agile

Agile (Agile) from Agile Manifesto, the Declaration clearly states that "Agile":

  • Not a methodology
  • Nor is it specific method development software
  • More than a frame or procedure

"Agile" is a set of values (philosophy) and principles, help the team make better decisions in the software development process.

 

What is agile development

In a nutshell is to follow the "agile" development principles of the development methodology, Agile does not mean blindly emphasis on speed, but lightweight and efficient .

Baidu Encyclopedia had this to say: Agile development with the user's needs evolve as the core, iterative, gradual approach for software development . Agile development software project in the initial construct is cut into a plurality of sub-projects, each sub-project deliverables are tested, with visual, and can be run using the integrated features. In other words, the project is divided into a large number of mutually contact, but can also be run independently of small projects and were completed in the course of this software has been in a usable condition.

Agile development process is as follows:

 

Agile Manifesto

  • Individual and interactive    than processes and tools
  • Working software    is higher than exhaustive documentation
  • Customer cooperation        than contract negotiation
  • Respond to changes        than following a plan

Note: This does not mean to abandon the principle of the right, but should pay more attention to the principles of the left.

 

12 principles of Agile Manifesto

  1. The most important is through the software as soon as possible and continue to deliver value to meet customer needs.
  2. We welcome the changes in demand , even late in development. Agile processes harness change can maintain the customer's competitive advantage.
  3. Frequent delivery of working software, from weeks to months, delivery time scales as short as possible .
  4. Business people and developers throughout the course of the project should always day and night at work together .
  5. About the high morale of people for software development, providing developers with a suitable environment to meet their needs, and believe that they can complete the task.
  6. In the development team in the most efficient and most effective way to convey information is face to face conversation .
  7. Working software is the primary measure of progress .
  8. Agile processes promote sustainable development . Investors, developers, and users should always remain the same rhythm.
  9. Technical excellence and good design of the constant pursuit will help improve agility.
  10. Simple - Art is essential to minimize the workload.
  11. The best architectures, requirements and design are derived from self-organizing teams.
  12. At regular intervals, the team should summarize how to be more efficient and adjust their behavior accordingly.

For example, it is "simple" and "early delivery" is concerned:

When we build a feature, found that may require database support, we will go to build the database under normal circumstances and their coding, but agile that: build a database for this function would mean wasting a lot of time, the software may not do not delay in delivery to the customer, if you can find an easy way to accomplish this function alternative, it is more in line with my agile principles.

But let us not agile principles blind imitation, it should be combined with the actual situation and agile values ​​and ideals to make the right decisions. For example, scrum may advocacy group meeting stood open, but if combined with the actual situation is completely choose their own way to the meeting, more efficient sit and sit, remember blind imitation of some successful cases agility.

 

The advantages of agile development

Compared to the waterfall model:

Waterfall Model Development

  1. Guests come to the restaurant a la carte (new projects)
  2. Not sure what customers want to eat, I usually choose the right restaurant will take a look at restaurant menus (often failed to provide specific customer needs)
  3. According to Teletext, the guests point ten dishes (according to the draft design and prototyping, to determine the basic needs)
  4. Houchu start preparing (project start)
  5. According to the guests order a side dish, stir-fries (basically not take the initiative to understand the full requirements)
  6. Half an hour, not food on the table, the guests were very hungry (after the project started long time customers can not see anything)
  7. Another twenty minutes ten dishes are coming up together (once the final project delivery)
  8. Guests that have some of the dishes very good, but there is a food taste bland, there are two hot enough, there are two repeated wanted to replace (I pay, I want to become demand)
  9. This time lobby manager came and said, "you can taste the salt and light, not spicy can add spicy, but not change course, that the two have been good fried dish also to count the cost of" harm (waterfall, changing demand Compare trouble)
  10. So, Houchu only added salt to the customer, plus a spicy
  11. Guests finished, not very satisfied, next time do not come (not meet the demand)

Agile Development

  1. Guests come to the restaurant a la carte (new projects)
  2. Not sure what customers want to eat, I usually choose the right restaurant will take a look at restaurant menus (often failed to provide specific customer needs)
  3. According to Teletext, guests ordered a dish (according to the draft design and prototyping, to determine the basic needs)
  4. Houchu start preparing (project start)
  5. Side dishes, cooking, first on the two, so that guests tasted the taste (available first instance to provide customers with a)
  6. Guests say good, Houchu continue to prepare the dish back, one after another serving (continued iteration, constantly testing)
  7. Serving process, suddenly found the guests a taste of a dish is too light, add some salt and let Houchu was served (agility benefits, can continue to test and demand changes)
  8. And on two, not spicy, but also to get Houchu added a spicy (agile harm, needs are not clear in advance, iterative, increasing the workload)
  9. To the last two, the guests asked for two dishes, but fortunately did not fry (benefits iteration, ready to accept the demand for change)
  10. Guests eating, very satisfied (basically meet all requirements)

 

Summary: After understanding the "agile" values ​​and principles, bringing it into the software development process to make the right decisions, the so-called agile development.


reference:

  1. https://www.cnblogs.com/itbuyixiaogong/p/9056918.html
  2. https://baike.baidu.com/item/%E6%95%8F%E6%8D%B7%E5%BC%80%E5%8F%91/5618867?fr=aladdin#8
  3. https://zhuanlan.zhihu.com/p/33472102
  4. https://www.bilibili.com/video/av22511095/?spm_id_from=333.788.videocard.0

 

 

Guess you like

Origin blog.csdn.net/qq_33189961/article/details/98633304