Tuesday, October 3, 2023
HomeReviewsWhat is agile development? Advantages and disadvantages of development methods that can...

What is agile development? Advantages and disadvantages of development methods that can not be heard now

Conventionally, the mainstream system and software development method was the waterfall model, but since the 2000s, agile development has emerged as a new method.
A feature of agile development is that the development period is significantly shortened compared to conventional development methods.
Why would agile development reduce development time?
This time, we will introduce the outline of agile development, its features, specific methods, and advantages/disadvantages.

Table of contents

  • 1. What is agile development?
  • 2. Flow and characteristics of agile development
  • 3. Agile development method
  • 4. Advantages and disadvantages of agile development
  • 5. Advantages of agile development suitable for application development

What is agile development?

Agile means “quick,” “agile,” and “quick-headed.” Agile development is one of the project development methods in system and software development, and we proceed with development by repeating implementation and testing in small units without dividing the system into large units. It is called agile because it takes less time to develop than traditional development methods.

In 2001, 17 engineers and programmers who were advocating lightweight software development at the time gathered in Utah, USA to discuss integrating important parts of the development method. The summary is the “Agile Software Development Declaration”.
The Agile Software Development Declaration defines software development and 12 principles based on it and is still widely known as the official document for agile development as of 2017.

In the past, software development was mainly based on the waterfall model. Waterfall development is a method of first determining the overall functional design and plan, and then developing and implementing according to this plan. It is widely used as a method that can be applied to various developments such as machine manufacturing, shipbuilding, and software development.

Agile development flow and features

We will introduce in detail the flow of agile development that can shorten the development period compared to the past.

● The flow of agile development

<Release plan>

In agile development, you don’t decide on strict specifications at the software planning stage, but only on the general specifications and requirements. This is because there is a premise that “naturally, there are changes in specifications and design during development”. With only a rough plan, problems are likely to occur in the subsequent implementation phase, but if the specifications are not decided, even if there are changes in the middle, we can respond flexibly, so we can meet the needs of our customers as much as possible.

<Iteration>

Once you have decided on the general specifications and requirements, you can proceed with development by repeating a cycle called iteration. Iteration means “iteration”, and the release of functions is repeated while the development divided into small units is performed in the order of “planning”-> “design”-> “implementation”-> “testing”.
Iterations are typically every one to two weeks, with features released every iteration. We will proceed with the development in detail while repeating “iteration 1”, “iteration 2”, “iteration 3”, and so on.

● Projects suitable for agile development

Agile development is a good technique for projects where specification changes or additions are expected during development. For example, in industries such as the mobile field, where technologies and mechanisms are evolving day by day, it is easy to anticipate changes or additions to specifications during development. In agile development, strict specifications are not decided at the release planning stage, so it is compatible with projects with many changes in the middle.

On the other hand, when systematizing a process that has been manually executed for decades or replacing a system that has been operating for 20 years, the functions to be created have already been decided. Therefore, in the case of such a system, it can be said that waterfall development is more suitable than agile development.

Agile development method

There are many methods in agile development. Here, we will explain three typical methods for agile development.

● Scrum

Scrum development is a well-known method of agile development and refers to a framework for advancing development. Scrum is a formation in which teams collide with each other with their shoulders crossed in rugby, and as the name implies, it is characterized by emphasizing communication between teams.
Members make their plans and scrutinize each iteration to see if there are any issues with development progress and if the product is working correctly. Therefore, communication between members is important, and insufficient communication can lead to problems such as not being able to release as a product of iteration, or the released functions not working properly. The entire team needs to work together to develop as if they were forming a scrum.

● Extreme Programming (XP)

Extreme Programming, also abbreviated as XP, is a method that emphasizes flexibility such as mid-course changes rather than pre-planned plans.
The development team promotes sharing the four values ​​of “communication,” “simple,” “feedback,” and “courage.” Among them, “courage” refers to the courage to face specification changes and design changes during development. increase. It is a programmer-centric development method because it emphasizes technical aspects rather than initial planning.

● User Function Driven Development (FDD)

Feature Driven Development is a method of repeating software that operates at appropriate intervals and is characterized by being developed from the perspective of feature value for customers.
To develop a function that works, visualize the business on the user side. Therefore, it is necessary to carry out business modeling in advance.

Advantages and disadvantages of agile development

To select the development method that suits the system and software, it is important to understand the characteristics of each. Agile development has many advantages, but it is necessary to understand the disadvantages and select an appropriate development method.

● Merit

The advantage of agile development is that there are fewer man-hours to return when a defect is discovered. In the case of conventional waterfall development, since the design and plan decided at the beginning are emphasized, the man-hours to return are large depending on the location of the trouble, and the time and cost may increase enormously. However, in the case of agile development, planning, designing, implementing, and testing are repeated in small units, so even if a problem occurs in the test, it only takes one man-hour to return within the iteration.

In addition, since detailed specifications are not decided at the planning stage, feedback can be given while communicating with users during the development, and progress can be made while confirming. Since it is possible to respond to specification changes and additions, it is possible to meet the needs of users as much as possible, and it is also an advantage that high satisfaction can be obtained.

● Disadvantages

Since the strict specifications have not been decided at the planning stage, there is a disadvantage that the direction of development tends to change. The reason is that it deviates from the original plan by repeating improvements to make it even better and making changes and additions through tests and feedback.

In the case of waterfall development, the development schedule is decided together with the functional design that is the index first. By setting a schedule in advance, it is possible to grasp the current progress.
However, in agile development, planning is not made in detail, so it is difficult to grasp the schedule and progress, and it is difficult to control. Since development is repeated in small units for each team, it is possible that the whole thing cannot be grasped and if you notice it, you may not be able to meet the deadline.

Advantages of agile development suitable for application development

In general, system and software development takes a long time, and it is not uncommon to spend more than a year.
However, with agile development, not only can you shorten the long development period, but you can also change or add specifications during development.
It can be said that it is a development method suitable for the present age because it is suitable for the development of web services whose specifications are likely to change, web applications, and smartphone applications that have been increasing in recent years.
One way is to take advantage of both agile development and waterfall development and combine them.
Let’s consider the optimal development method according to the project.

How to smoothly find the best supplier for agile development

Are you having trouble choosing a system development company that is good at agile?
Japan’s largest system development company portal site ” Order Navi ” will thoroughly support the selection of the optimum development company that is close to your company by experts with abundant achievements.
Introductory record: 12,500 (as of January 2022)

Finding a subcontractor is an important task that will influence the future of the business. However, there are endless questions and worries, such as ”

I don’t know what to look for …”
, “Where is the subcontractor that suits my company …?”, “I’m
worried about the cost …”

There are many.
Ordering Navi is the best partner to find and select the best outsourcing to help your company.
In addition to the system companies listed in this article, we can introduce the most suitable development companies!

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

RELATED ARTICLES
Recommended

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Recent Posts

Most Popular

Recent Comments