Tuesday, October 3, 2023
HomeFeatureWhy agile development?

Why agile development?


Now, agile development is being adopted not only by venture companies but also by old-fashioned companies.

Why agile development
Why agile development

Why are more companies and projects adopting agile development instead of waterfall development, which has been the mainstream until now? Here, I will explain why agile development has increased and how to lead agile development to success, based on the characteristics of each development method.

What is agile development?

Agile is translated as “agile, agile” in Japanese.

Agile development is a method of releasing working software at short intervals and repeating development based on user feedback to improve the system to develop a system that satisfies the user. Agile development can be said to be the development of a system that is agile (agile) and satisfies the user.

However, there are many different approaches to agile development. In this article, I will explain using Scrum development, which is one of the typical methods in agile development, as an example.

Agile development is a small team

In agile development, a small number of elite teams are formed, and decisions are made quickly within the team to proceed with development.

For example, in Scrum development, a team of around 7 people is formed and assigned the following three roles.

The first role is the product owner. Prioritize specifications and features. A person with a clear vision is assigned to the development system, which is a product, and is responsible for maximizing profitability and return on investment. It is a role closer to business than the system.

The second is the Scrum Master. He will be the driving force behind the Scrum team. We will support the development team described below to work efficiently. It requires knowledge and experience in agile development, standing between the system and the business.

And the third role is the development team. It is a group of members who continue to improve autonomously. It is made up of a small number of people to ensure sufficient communication within the team. In addition, since the role within the team is not defined, each member has a high degree of freedom, but it is necessary to keep thinking and constantly improve.

The reason why agile development can be seen from the issues of waterfall development has emerged

According to a survey released by Gartner Japan on February 21, 2019, 43% of companies answered that they are “adopting” waterfall development, but only 2% said that they are “not adopted: planned to be adopted.
Why agile development
Why agile development

On the other hand, only 17% of companies answered that they are “adopting” agile development, but 13% answered “not adopted: planned to be adopted”, and it is expected that the number of companies adopting agile development will increase. I am.

Why has agile development emerged in place of waterfall development? The reason is the gap between the waterfall development method and the current business environment.

As the name suggests, waterfall development is a development method that promotes development so that water flows down and does not go back to each process such as requirement definition, external design, and internal design. The advantage of waterfall development is that the system goals and deliverables of each process are clear and the progress is easy to grasp.

The disadvantage is that if you proceed without making sure that the previous process is completed and a rework occurs somewhere, a lot of costs will be incurred.

For example, if you proceed with development while the major premise of the requirement definition is wrong and you notice it in the test process, all the processes will be wasted and you will have to recreate it from scratch. Similarly, if requirements or specifications change during the process, each process must be redone at a high cost. In addition, since the operation of the system can be confirmed only after the middle of development when coding is completed, the opinions of users often come out at the stage of the testing process after that.

Therefore, if the opinions of system users are not fully identified at the stage of requirement definition and design process, rework will occur.

What is the current business environment for the characteristics of waterfall development?

Corporate policies and surrounding conditions are changing rapidly, and unpredictable futures are coming one after another. In businesses that require speed and in areas where we are heading toward the future while repeating trials and errors, waterfall development is no longer able to handle it.

For this reason, agile development has evolved in place of waterfall development with strict discipline. Waterfall development, which was called the “heavy software development method”, was developed as a “lightweight software development method” in the 1990s, which led to the current agile development.

Areas where agile development is suitable and areas where it is not

While more and more companies are adopting agile development, it’s not a versatile development method for every field. Here, I will explain the fields that are suitable and the fields that are not suitable.

Suitable field

The characteristics of the fields that are suitable are the fields where it is difficult to determine the requirements and specifications, and the fields where the speed of release is required.

In fields where business requirements change drastically, R & D, and new entrants, it will be difficult to establish requirements and specifications, and it will be difficult to adopt waterfall development. With agile development, you can repeat trials and errors while groping, and brush up steadily while using the system.

Agile development is also ideal for areas where release speed is required. For example, it is a business that first introduces services that can be used to the market and earns first-mover profits. In these areas, it’s more important to release a less complete system than to create a perfect system from the beginning.

Fields that are not suitable

The characteristics of fields that are not suitable for agile development are that it is a large-scale development and that the distance between development members is long.

For agile development, it is important to proceed with development in a small team with members communicating closely with each other. Agile development is possible even for large-scale projects, but if team composition and functional decomposition are not done properly, it will soon become impossible to stand.

Agile development is also more difficult when the distance between development members is long, such as in offshore development or cross-organizational troupes. Development is inefficient without face-to-face communication, as all roles such as requirements definition, design, implementation, testing, and quality assurance must be shared within the team.

Why agile development fails, why it succeeds

A common pattern of agile development failure is to adopt it without understanding the nature, orientation, and best practices of agile, with the motive of “let’s do agile development for the time being”.

Why agile development
Why agile development

There are many patterns in which senior IT departments instruct their subordinates to adopt trendy agile development, but their subordinates do not have the knowledge and experience of agile development, and they fail without convening appropriate members. Clarify the purpose of implementing agile development, and plan and implement it well. Many factors can make agile development successful, but the most important thing is to keep improving. Whether it’s an experienced member or a project suitable for agile development, there is almost no development that goes smoothly without improvement. All members should face many problems that appear every day and continue to improve. You can lead your project to success by improving and advancing the development phase that is repeated in a short period.

Agile development involves a cycle of design, development, testing, and release called iteration. Ideally, the team will grow with each iteration and better agile development will be done.

If you ever want to know about similar things, check out the Facebook page Maga Techs



Please enter your comment!
Please enter your name here

Recent Posts

Most Popular

Recent Comments