focus notes


What is the system development method? Explaining the advantages and disadvantages of waterfall etc.

table of contents
What methods are available for system development?
"I want to understand the advantages and disadvantages of each method before making a selection."
There may be people in charge of systems who think the same way as above. When it comes to system development, there are various methods such as waterfall system development model and agile system development model.By knowing the characteristics of each method, you will be able to choose the development method that suits your company.
In this article, we will explain in detail the characteristics, advantages, and disadvantages of each system development method. We will touch on the trends and basic processes in development methods, so if you are thinking, ``I want to know what types of system development methods are available,'' please refer to this book.
System development method 1 | Waterfall type
First, I will explain the waterfall system development model.
- What is the waterfall system development model?
- Benefits of the Waterfall System Development Model
- Disadvantages of the waterfall system development model
What is the waterfall system development model?
The waterfall system development model is a method of proceeding with development from upstream to downstream processes.The following is the rough process of the waterfall development system model.
Development process | Content |
---|---|
1. Requirement definition | Clearly define the purpose and required functions of the system |
2. internal design | Design of invisible parts such as systems |
3. external design | Design of visible parts such as servers and operation screens |
4. Development | Programming and creating the actual system |
Five. test | Check if the created system works without problems |
6. Operation/maintenance | Perform regular maintenance while actually operating the system. |
A major feature of the waterfall system development model is that the requirements are strictly defined at the beginning, making it difficult for development to deviate from the core. Also, although there are some detailed iterative steps, we basically do not skip any development steps. It can be said that it has a relatively simple structure because it does not proceed to the next process until one process is completed.
Benefits of the Waterfall System Development Model
The main benefits of the waterfall system development model include:
- Progress and schedule management is relatively easy
- A certain level of quality can be guaranteed
The waterfall system development model begins with rigorous requirements definition. Therefore, it tends to be clearer what to do and by when. It will be easier to manage your progress and schedule.
Additionally, a waterfall system development model can guarantee a certain level of quality. This is because system development is divided into linear and step-by-step processes. You can clarify the deliverables and quality standards for each phase in advance, making it easier to manage quality. This can be considered a big advantage.
Disadvantages of the waterfall system development model
On the other hand, the waterfall system development model also has disadvantages.
- It may be difficult to change specifications mid-project
- There may be a lot of time lost if there is rework.
Since the requirements definition is strictly defined at the beginning, it is difficult to change the specifications midway. In some cases, it may be necessary to start over from the initial requirements definition, so the disadvantage is that it is difficult to deal with things flexibly. In particular, since feedback from users is obtained after the project has progressed considerably, it is expected that it will be difficult to reflect the opinions of stakeholders in the system.
Also, in the unlikely event that a mistake or omission is discovered, it may be necessary to go back to the upstream process and start over. The earlier you have to go back, the more work you have to redo. As a result, time loss tends to increase.
For these reasons, the waterfall system development model is best used for projects with clear requirements and few changes.
System development method 2 | Agile type
Next, we will touch on the characteristics and benefits of the agile system development model.
- What is the agile system development model?
- Advantages of agile system development model
- Disadvantages of agile system development model
What is the agile system development model?
The agile system development model is a development methodology that repeats the process of "planning, designing, developing, testing, and releasing" for each function.The following is the basic development process of the agile system development model.
Function A | Function B | Function c | Function D |
---|---|---|---|
1. Requirement definition | 1. Requirement definition | 1. Requirement definition | 1. Requirement definition |
2. design | 2. design | 2. design | 2. design |
3. development | 3. development | 3. development | 3. development |
Four. test | Four. test | Four. test | Four. test |
Five. release | Five. release | Five. release | Five. release |
*In the agile system development model, it is common to develop each function simultaneously.
The basic flow of the development process is the same as the waterfall system development model. However, in an agile system development model, multiple teams develop one feature at a time. You can save time by being able to release without waiting for each feature to be implemented.
Additionally, the agile system development model does not have as strict requirements as the waterfall system development model. This is because changes and additions can be easily made during the process. The difference from the waterfall system development model is that the development stage can be advanced quickly.
Advantages of agile system development model
The advantages of using an agile system development model are as follows.
- Flexible changes can be made even during development
- Reduces rework when mistakes and defects occur
The advantage of the agile system development model is that it is easy to incorporate the opinions of stakeholders. Since you can check the development details of the next function while operating the completed function, it tends to be easier to communicate to improve the level of completion. As a result, it will be easier to develop a system that closely meets your needs, and it will be easier to increase user satisfaction.
And since it is developed for each function, even if mistakes or defects occur, they can be corrected with minimal rework. Compared to the waterfall system development model, the process to recover from mistakes and defects can be minimized.
Disadvantages of agile system development model
The disadvantages of the agile system development model include:
- It may be difficult to grasp the overall progress and schedule.
- The direction of development may change easily
In the agile system development model, development is carried out function by function, so it tends to be difficult to grasp the overall progress and schedule. Since requirements and specifications are prone to change, development time may be extended and development costs may increase.
Furthermore, if development proceeds according to the user's wishes, the direction may deviate significantly from the original development purpose and goals. Because this is a development method that frequently incorporates customer needs, requirements and priorities may change many times. Because it is a development method that allows for easy requirement changes, you may need to be careful at times.
To summarize, agile system development models are a good choice for projects where requirements are likely to change.
System development method 3 | Spiral type
We would like to introduce you to the spiral system development model.
- What is the spiral system development model?
- Advantages of the spiral system development model
- Disadvantages of the spiral system development model
What is the spiral system development model?
The spiral system development model is a method that emphasizes risk assessment and gradual improvement.The development process of the spiral system development model is as follows.
1. spiral 1 | Requirement definition design Prototype development test Get feedback from users |
2. spiral 2 | Requirement definition design Prototype development test Get feedback from users |
3. Spiral 3 | Requirement definition design Prototype development test Get feedback from users |
Four. release | Let users see the final product |
Because a prototype that can actually be used is created, you can receive feedback on the prototype, allowing you to flexibly incorporate changes to specifications and suggestions for improving usability.
Advantages of the spiral system development model
There are two advantages to the spiral system development model:
- Early detection of risks and early response possible
- Can respond flexibly to specification changes
In the spiral system development model, a prototype is created and verified in each phase. This will allow you to discover and respond to risks at an early stage.
The spiral system development model also reflects feedback during each phase to improve the system. By repeatedly making modifications based on development and reviews, we tend to be resistant to changes in specifications. If there is a request to add a new feature, it will be reflected relatively quickly when creating the next one.
Disadvantages of the spiral system development model
Disadvantages include:
- It may be difficult to grasp the overall picture of the project.
- Development costs may be high
In the spiral system development model, depending on the content of the review, there is a risk that a change in direction may be required beyond changing the specifications. If this happens frequently, it may become more difficult to manage than the waterfall system development model.
In addition, in the spiral system development model, we create a prototype for users to confirm. The more prototypes you create, the more development costs will inevitably increase.
Based on the above, the spiral system development model is effective when used for high-risk projects.
System development method #4 | Prototyping type
Next, I will explain what kind of development method is the prototyping system development model.
- What is the prototyping system development model?
- Advantages of prototyping system development model
- Disadvantages of the prototyping system development model
What is the prototyping system development model?
The prototyping system development model is a method of identifying areas for improvement by creating a prototype and having people actually use it.The flow of using the prototyping system development model is as follows.
Development process | Content |
---|---|
1. Requirement definition | Tentatively define the functions required for the system |
2. design | Design based on requirements definition document |
3. prototype development | Create an initial prototype based on the design document |
Four. User rating | User checks the prototype |
Five. improvement | Improve your prototype based on user feedback |
6. Development | Develop a production version of the system based on the prototype with user approval |
7. test | Testing the completed system |
8. Release | Pass the test and implement in the actual production environment |
At first glance, it looks like a method similar to the spiral system development model in terms of creating a prototype. However, when comparing the two, the purpose of creating a prototype is different.
The main purpose of the prototype in the prototyping system development model is to gather requirements and obtain user feedback at an early stage. This approach allows development teams to better understand user needs and expectations and evolve the product accordingly.
On the other hand, the main purpose of prototyping in the spiral system development model is risk assessment and mitigation. Verify the validity of requirement definitions and designs and discover defects and risks early.
Again, prototyping models differ by focusing primarily on requirements gathering and user feedback, while spiral models focus on risk management and gradual product refinement. Let's remember this just in case.
Advantages of prototyping system development model
The advantages of the prototyping system development model include:
- Improve accuracy of requirements definition
- Easier to improve satisfaction level
In the prototyping system development model, a prototype is created and presented to users at an early stage. This allows you to redefine requirements with greater accuracy while receiving feedback from your users.
Another benefit is that user participation in development is encouraged to obtain feedback, making it easier to improve satisfaction. Since you can receive reviews from an early stage, you can discover inconveniences and problems at an early stage. By repeating this process, you can expect to end up with a system that better meets your needs.
Disadvantages of the prototyping system development model
There are two disadvantages to the prototyping system development model:
- The project may stall
- Development man-hours may increase
There is a concern that creating a prototype will result in too many requests from users. In some cases, it is only after checking the prototype that the client realizes that something like this is possible. If that happens, it would not be surprising if new demands emerge. If there are too many requests, there is a risk that it will take time to move forward with the project.
Also, accepting needs and reflecting them in the system each time means an increase in development man-hours. If specifications change or new requests come up endlessly, the man-hours will snowball. In some cases, not only will the man-hours increase, but meetings will also take time. It is certainly important to reflect customer opinions, but it is also important to balance this with costs and delivery dates.
In summary, the prototyping system development model is best used for projects where requirements are undefined or unclear and the user interface is important.
System development method #5 | V-shape
We will explain in detail what kind of method the V-shaped system development model refers to.
- What is the V-Shaped System Development Model?
- Benefits of the V-Shaped System Development Model
- Disadvantages of the V-shaped system development model
What is the V-Shaped System Development Model?
The V-shaped system development model is a development method characterized by the testing phase and development phase being closely related.The process of the V-shaped system development model is as follows.
Upstream process | downstream process |
---|---|
1. Requirement definition | 7. System testing |
2. basic design | 6. Combined test |
3. Detailed design | Five. unit test |
4. Development |
The feature is that "system tests" are set for tests corresponding to requirements definition, "integration tests" are set for basic design, and "unit tests" are set for detailed designs. The table above is an example, and the words used may differ depending on the developer.
Benefits of the V-Shaped System Development Model
The advantages of the V-shaped system development model include:
- The relationship between the development process and testing process becomes easier to understand
- Relatively easy to improve quality
The biggest advantage of the V-shaped system development model is that it allows you to see the relationship between the development process and the testing process at a glance. You can see the relative test process by looking at the left and right sides of the V, so you don't have to worry about the test content. It can be said that it is easier to perform the exact tests that should be performed.
Another advantage of the V-shaped system development model is that it is easy to improve quality. A clear development process helps project teams focus on quality. With clear quality standards at each stage, you can plan and execute quality assurance activities more efficiently.
Disadvantages of the V-shaped system development model
Although the V-shaped system development model has many advantages, there are also disadvantages that you should be aware of.
- Requires detailed requirements definition at the initial stage
- Users may only be able to participate in the final testing phase
The V-shaped system development model is based on the waterfall system development model, so in principle, individual processes are not traced back. Therefore, it can be said that it is difficult to respond flexibly to specification changes while the project is in progress.
Additionally, in the V-shaped system development model, users can only participate in the final testing stage. Depending on the feedback, you may have to rebuild the system from scratch. Another possible disadvantage is that there is little opportunity to incorporate user opinions.
For these reasons, the V-shaped system development model is best used for projects with clear requirements and a focus on quality.
Frequently asked questions regarding system development
We will explain frequently asked questions and answers regarding system development.
- Please tell us about the latest trends in system development.
- What are the basic steps in system development?
Please tell us about the latest trends in system development.
Recent trends in system development include:
Trend example | overview |
---|---|
DevOps | A system development method in which development and operations staff work closely together |
DevSecOps | A system development method that incorporates security elements in conjunction with DevOps |
cloud native | Concept of system development and application construction based on cloud services and environments |
Microservices Architecture | A method of implementing a new system by combining multiple small independent services |
user experience design | Design to optimize customer experience of systems and services |
Use of artificial intelligence | Systems that allow embedded artificial intelligence to perform intelligent actions, etc. |
These trends are just examples, but they are leading to more efficient system development and improved quality. Given its importance, it is likely that it will become even more popular in the future.
Of course, it is entirely possible that innovative technologies, tools, and concepts other than those mentioned above will emerge. The development of IT is progressing rapidly, and since updates are made every day, it is a good idea for those in charge to always keep their antennas up to gather information.
What are the basic steps in system development?
The basic system development process is almost the same as the waterfall process.
- requirements analysis
- Requirement definition
- Internal/external design
- development
- test
- release
- Operation/maintenance
The above flow can be said to be the basic process of system development. Even in methods that do not define requirements strictly at the beginning, such as the agile system development model and spiral system development model, the process basically begins with requirements definition. There is a difference between "strict" and "general", but we determine the functions necessary for the system and decide what should be created.
After determining the functions required for the system, we define the foundation for system development through internal and external design. Development finally begins after finalizing the internal design, which is invisible to the user, and the external design, including the visible operation screen. After development, it will be tested and if there are no problems, it will be released.
Operation and maintenance refers to maintenance after the system actually begins to be used. After starting operation, we will understand, verify, and improve each numerical value through monitoring. Of course, system updates and security measures are also essential.
After the system has been in operation and maintained for a certain period of time, it may become necessary to develop new functions. In that case, you will basically start from defining the requirements again.
For details on the system development process, please refer to the following article.
What is the system development process? Explanation of the different types, such as flow and waterfall model
summary
This time, we have explained each system development method in detail. Now you can see that there are many different methods when it comes to system development.By choosing a method according to your company's situation and objectives, you can increase the probability of project success.
Furthermore, system development has changed over time. In addition to the development methods mentioned so far, methods that are considered more efficient may emerge in the future. Always collect information and choose the most appropriate development method.
However, it can sometimes be difficult to keep collecting information related to system development when you are busy with your daily work. If this is the case, please feel free to contact us.
Achievements left behind
48 years since its establishment.
We have a proven track record because we have focused on what is important.
It has a long track record in both the public and private sectors.
Number of projects per year
500 PJ
Annual number of business partners/customers
200 companies
Maximum number of trading years
47 years
Total number of qualified persons
1,870 people