Agile development practice (1) -- talk about my understanding of agile development

As agile development becomes more and more popular, everyone is talking about agile, and everyone is learning agile development methods such as scrum. . . Of course, he is also the implementer and beneficiary of agile development.

background

Our company has not introduced agile development for a long time, and there are still some problems in the process of implementing agile. In learning agile, watching agile videos and reading related materials, and at the same time combining my own experience in implementing agile, I make a brief summary by sharing blog posts. There are four purposes:
1. A detailed introduction and learning about agile development
2. The big picture of CSDN The cows share, communicate, learn, and improve
. 3. Summarize the problems in the process of implementing agile, constantly reflect on them, and continuously improve
. 4. Finally, I hope to help those who are not agile

What is agile development

Agile Development does not refer to a specific methodology, process or framework, but rather a set of values ​​and principles.

How to understand it?

  • First of all, agile is not a specific technology, but a concept or an idea. It can guide us to develop more efficiently.

  • Second, agile development all share the following common characteristics:

    1. iterative development
    2. Incremental delivery
    3. Development team and user feedback drive product development
    4. Continuous Integration
    5. Development team self-management
  • Finally, compared to the "traditional" waterfall development model, agile development is a "modern" development model.

specific way

The above said that agile is a guiding ideology or development method, but it does not clearly tell us what kind of process to use for development, and what are the specific development methods?

Scrum, Extreme Programming (XP) , Lean Software Development , Dynamic System Development Method (DSDM), Feature Driver Development, Crystal Clear, etc.

In addition to Scrum and XP, I only have a brief understanding of the other development methods above. You can check more related materials.

We can simply compare Scrum and XP:
1. In the process of development, you can use the Scrum method or the XP method;
2. The difference between Scrum and XP is that Scrum focuses on process, while XP focuses on practice, but In practice, the two are used in combination.

Agile Development Manifesto

The Agile Manifesto

We uncover better ways to develop software by doing it and helping others. Through this work, we have developed the following values:

Individuals and interactions over processes and tools
Available software over well-documented
customer collaboration over contract negotiation
Responding to change over following a plan

In every pairing, the latter is not entirely worthless, but we value the former more

The Agile Manifesto is a high-level summary and sublimation of agile. Even if you don't understand it now, there is no problem. In the process of practice, we will gradually have a deep understanding of it.

Twelve principles of agile development

In agile development, we follow these guidelines:

  1. Our highest goal is to satisfy our customers through early and continuous delivery of valuable software.
  2. Changes to requirements are welcome - even late in project development. To make good use of demand changes, to help customers gain a competitive advantage.
  3. Continuously deliver usable software, with cycles ranging from weeks to months, the shorter the better
  4. During the project, business people and developers must work together.
  5. Be good at motivating project people, giving them the environment and support they need, and trusting them to get the job done.
  6. The most effective method of communication, both within and between teams, is face-to-face conversation.
  7. Available software is the primary indicator of progress.
  8. Agile processes promote sustainable development. Project parties, developers and users should be able to maintain a constant and steady pace of progress.
  9. Refinement of technology and continuous refinement of design will increase agility.
  10. To be concise means to reduce unnecessary work as much as possible. It's an art.
  11. The best architectures, requirements, and designs emerge from self-organizing teams.
  12. Teams regularly reflect on how they can be more effective and adjust their behavior accordingly.

The agile development manifesto is relatively abstract, but the twelve principles of agile development are very specific. I believe those who have used agile know that the above twelve principles are the experience summary of the development process. Seeing the twelve principles and comparing the process of implementing agile in our company one by one, there are still some problems. These problems directly lead to inefficient and unsmooth agile. For example: the last one, the team should regularly reflect on this. If it is not done well, the enthusiasm of the team is reduced, the development efficiency is reduced, and it is difficult to make adjustments. Even I refused at first. With these principles as a guide, we can implement agile more calmly.

The Twelve Principles of Agile Development are specific guidelines for our practice that guide us toward a more successful Agile implementation. When I saw this content, I really felt hungry and wanted to put them all in my head all at once. When the book is ready for use, Fang hates less. It is never too late to replenish yourself in time.

Summarize

The idea of ​​agile is deeply rooted in the hearts of the people today, and the specific method behind it is to teach us how to implement agile. With these thoughts, the whole world begins to look better.

In the next blog post, enter our focus to briefly introduce Scrum and the Scrum process, so stay tuned.

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=326359794&siteId=291194637