Home Technology Explain the merits of agile development! Understand the disadvantages and avoid risks

Explain the merits of agile development! Understand the disadvantages and avoid risks

by Yasir Aslam
0 comment

Many companies and teams have introduced agile development in recent years. And with the demand for speedy development, the benefits of introducing agile development are increasing.
So, in this article, I’ll take a closer look at the benefits of agile development. It also explains the disadvantages and systems that are suitable for agile development, so please refer to it.

table of contents

  • 1. What are the benefits of agile development?
  • 2. Comparison of agile development and waterfall development
  • 3. Specific methods and practices for agile development
  • 4. Summary

1. What are the benefits of agile development?

The advantage of introducing agile development is that it gives “flexibility” and “a sense of speed” to development. However, it doesn’t make sense to just figure out the benefits. By understanding the meaning, philosophy, principles, and disadvantages of agile development, it is possible to maximize the advantages and effects of agile development.

1.1 Definition of agile development

Agile development is one of the principles and models of development methods in product development. Compared to conventional waterfall development, it has the feature that the time to service in can be significantly reduced .

Agile development was devised by 17 well-known engineers and programmers from Utah, United States. It all started with the “Agile Software Development Declaration”, which extracted and integrated the important parts of the development methods brought to each of them.

Now, let’s take a closer look at why it is “agile” and what the “agile software development declaration” is. In particular, in agile development, it is a major premise that the team shares the contents of the “declaration”.

 

1.1.1 Translated literally, it means “quick” and “quick head rotation”

A literal translation of Agile means “quick,” “agile,” and “quick head rotation . ” In other words, agile development is aimed at “quick” development. Compared to traditional development methods, the time to release is significantly reduced.

One of the symbols of the “quickness” of agile development is the development method called iteration . In iteration, a series of processes from “planning”, “design”, “implementation”, “testing” to release is carried out in a short period of 2 to 3 weeks, at the latest 2 to 3 months.

You can read more about agile development in this article as well.

What is agile development? Brief explanation of differences from waterfall development

 

1.1.2 Principles and minds are concentrated in the Agile Software Development Declaration

Understanding the mindset contained in the Agile Software Development Declaration is especially important for agile development. The contents of the declaration are as shown in the image below.

Source: How to read the Agile Software Development Declaration | IPA Information-technology Promotion Agency

The “things on the left” in the declaration are values ​​that were emphasized mainly in conventional development. In agile development, we emphasize “rather than”, ” dialogue with individuals,” “software that actually works,” “continuous cooperation with customers,” and “responding to change .”

In addition, the above philosophy has 12 principles behind it. The principles explain the specifics of the four principles. When implementing agile development, you must understand the principles and principles “as a team” .

1.2 Systems suitable for agile development

If you look only at the short time to service in, it feels like agile development should always be implemented. However, there are some disadvantages, and many systems are still suitable for traditional development methods. Let’s ponder once again whether the system that is considering the introduction of agile development is really suitable for agile development.

 

1.2.1 A system with low predictability and the premise that “specifications change”

In agile development, we see “change” as rather welcome. Therefore, agile development is suitable for projects where the predictability of technical issues is low and specification changes are premised .

Agile development allows you to submit deliverables to customers in a short span and brush up each time, so you can demonstrate your strengths especially in midstream processes.

1.3 Benefits of Agile Development

Here, we will explain in detail the advantages of agile development. Understanding the benefits will also help you determine if agile development is suitable for the project you are considering implementing.

 

1.3.1 Strong against specification changes

Agile development is more competitive with specification changes than waterfall development.

Waterfall development begins with a detailed requirement definition. Therefore, specification changes during development are irregular. The development team must determine the scope of impact of the specification change, rewrite the definition document, and even adjust the schedule.

On the other hand, agile development, which involves “planning” and “designing” by function, can flexibly respond to changes in specifications. Even if a specification change or request is added after customer feedback, it can be handled by reflecting the content in the next iteration .

 

1.3.2 Shortening the time required to service in

Agile development, as the name implies, also has the advantage of reducing the time required to reach service.

In agile development, various software functions are used as one unit, and a series of processes of “planning,” “design,” “implementation,” and “testing” are performed and released. At that time, by making a release plan that incorporates the user story, it will be possible to provide products that meet the needs of users as soon as possible.

You can also gain an edge over your competitors in the market by providing service-in in a short period of time. Therefore, it can be said that agile development is a development model that is compatible with lean startups.

 

What is the difference / relevance between agile and lean? Explanation of development methods suitable for lean startup

 

1.3.3 Development that meets customer needs is possible

Agile development is characterized by the fact that it is easy to see the progress of development. In contrast to traditional waterfall development, the release is positioned at the end of the entire project, so the outcome is like a black box for the customer.

Agile development, on the other hand, releases deliverables in a short span, allowing customers to see progress and the development team getting feedback each time. Then, by adding specification changes and requests as tasks to the next iteration, it is possible to develop according to the customer’s needs as much as possible.

1.4 Disadvantages of agile development

The disadvantages of agile development are two sides of the same coin with the advantages. The resilience to specification changes carries the risk of ad hoc development, and development that proceeds in collaboration with customers may fail to draw out requirements. However, a solid understanding of the disadvantages in this article will help you maximize the benefits of agile development.

 

1.4.1 Risk of ad hoc development

Agile development has the disadvantage that it is vulnerable to upstream processes and it is difficult to see the overall picture of the product. If the direction of the project is not clear, the response to specification changes, which should be a strength, will be ad hoc, consistent and inconsistent.

In order to avoid the above situations, it is necessary to implement appropriate practices and tools, and manage the project centered on the project manager .

 

1.4.2 Sometimes it is not possible to get the best demand from customers

If the customer does not fully organize the issues and development objectives that the system or software needs to solve, there is a risk that the request will not be fully drawn. As a result, the finished product may deviate significantly from the originally planned direction.

Agile development has the advantage of quick initial action, but you should set your own standards for how much you should solidify the initial requirement definition . In addition, the contractual risk should be estimated in anticipation of the above situations.

2. Comparison of agile development and waterfall development

Waterfall development is strong in upstream and downstream processes, and it is possible to carry out development with consistent direction. On the other hand, agile development is strong in the middle course process and can flexibly respond to changes in specifications.

As you can see from these comparisons, the two are not necessarily in conflict with each other. Rather, by properly using both, it is possible to carry out “hybrid development” that compensates for the disadvantages .

The relationship between agile development and waterfall development is explained in detail in this article, so please refer to it.

What is the difference between agile development and waterfall development? Can they be used together?

3. Specific methods and practices for agile development

“Scrum development” is one of the development methods for agile development . Scrum development is a framework for “team development” and repeats a series of short-span processes called “sprints” .

The main flow of Scrum development sprints

And while scrum development or agile development emphasizes “team”, by introducing practices according to the purpose , “team building” can be done smoothly. Typical practices include:

◆ Inception deck
Share the overall picture and direction of the project within the team while answering 10 specific questions as a team.

◆ Drucker-style exercise
Answer four questions about skills and self-assessment to clarify the position of members in the team.

◆ Star chart (skill map) Write
down the proficiency level of each skill in a table on which some skills are written. Facilitate technical team management.

As mentioned earlier, agile development has some disadvantages. However, Scrum development and practices can help compensate for the disadvantages of agile development and maximize the benefits.

Please refer to this article for more details on agile development practices.

What are Agile practices? I will explain the list and how to write in detail!

4. Summary

The merits of agile development include “strength to specification changes,” “speed to service in,” and “closeness to customer needs.” However, it should be remembered that the above advantages are inextricably linked to the disadvantages. In order to maximize the advantages and avoid the disadvantages, why not try introducing tools and practices.

You may also like

Leave a Comment