
May 19, 2024 • Knowledge, Business
May 13, 2025 • Knowledge, System Development • by Reina Ohno (Translated by Dennis T.)
Table of Contents
In system development, there are various methods depending on the characteristics and objectives of the project. In the article below, we will explain in detail the characteristics of representative development methods: Waterfall System Development, Agile System Development, and Prototyping System Development.
Waterfall development is one of the traditional methods in system development and is characterized by progressing step-by-step from upstream processes to downstream processes. The name “Waterfall” comes from the way the process flows in one direction like a waterfall.
The Waterfall System development consists of the following step-by-step stages:
Each stage proceeds linearly, and once completed, revisiting earlier steps is rare.
While Waterfall development is a structured methodology in which each phase progresses sequentially. It offers the advantage of clearly defined schedules, budgets, and staffing. However, when applying this approach in offshore development, the following points require attention:
In offshore development, differences in time zones and language can hinder smooth communication. Because the Waterfall model defines each phase clearly, detailed and accurate information sharing during the early stages (such as requirement definition and design) is essential. Neglecting this may make it difficult to revise later, potentially leading to high costs and extra labor.
The Waterfall model progresses on the assumption that there will be no going back. As a result, if specification changes occur during development, adapting to them is difficult and may lead to overall project delays and additional costs.
This method is suitable for large-scale projects with clear and stable requirements, or where high product quality is essential. However, due to the recent changes in business environments and the increasing diversity of user needs, more flexible methods like Agile development are gaining attention.
Other Articles: eFishery Startup Fraud: Why Financial Transparency Builds (or Breaks) Public Trust in Business
Agile development is one of the methods in software and system development, characterized by flexible and rapid development through repeating short cycles (iterations). The term “Agile” means “quick” and “nimble,” and as the name suggests, it is a development method that easily adapts to changes.
In 2001, 17 engineers and programmers gathered to present the “Agile Software Development Manifesto” as a new value system for software development. The manifesto emphasizes the following four values:
There are various methods in Agile development, but the two main ones are as follows:
This method is a flexible approach that advances development through short iterations, and it is suitable for projects with frequent changes or unclear requirements. Below are the key points to keep in mind when adopting Agile development for offshore development.
Agile development requires close communication within the team. In offshore development, it is necessary to leverage online meeting tools and chat tools to overcome physical distance and cultural differences, and strengthen both synchronous and asynchronous communication.
The presence of a bridge system engineer (Bridge SE) is crucial in adjusting language and cultural differences to support the smooth progress of the project. They act as intermediaries between the client and the developer, helping prevent miscommunication and supporting the project.
In Agile development, it is important to have common coding standards, source management, bug tracking, and design patterns. Since face-to-face communication is reduced in offshore development teams, it is important to clearly define and adhere to these methods.
When conducting Agile development offshore, it is common to adopt a flexible semi-delegated contract (lab contract). This allows for a rapid response to specification changes and additional requirements.
This method is widely adopted by many companies and projects due to its flexibility and speed. However, it is important to choose the appropriate development method based on the project characteristics and team situation.
Other Articles: How Mobile Apps Transformed Business for Pande Putri and OrangeCare Taiwan
Prototyping Development is a software development method where a prototype (an initial version) is created at the early stage of development, and improvements are made based on feedback from users or clients. This approach allows for early sharing of the product’s vision, clarifying requirements, and improving quality.
There are several types of prototyping:
This method uses paper and pen to quickly sketch screen layouts and user flows. It is useful in the early stages for idea generation and concept validation.
This method uses lines and shapes to visualize the elements and layout of a screen. It is often created using digital tools and serves as the foundation for UI/UX design.
This method uses graphic software to create a more detailed and realistic prototype. It helps in verifying user interfaces and design.
In this method, actual code is written to create a functioning program. It is suitable for validating functionality and technical aspects.
Prototyping development follows this process:
Prototyping development focuses on creating and refining a product with continuous user feedback. When applying this method in offshore development, several factors should be considered:
Prototyping is suitable for projects that prioritize user-centered design and rapid feedback loops. Depending on the project’s size and nature, combining prototyping with other development methods may be necessary.
Other Articles: Why Website Speed is Important? How to Check a Website Speed by Yourself
Waterfall development is a planned method that progresses through each phase sequentially and is suitable for large-scale projects. However, it has the disadvantage of being difficult to respond to specification changes.
Agile development is a method that proceeds flexibly with short-term iterative work and is suitable for rapidly changing projects. However, progress management can become difficult.
Prototyping development is a method of creating prototypes and improving them based on user feedback, and is suitable for user-centered design. On the other hand, there is a risk of increased costs and time.
It is important to select the optimal development method according to the characteristics and requirements of the project.
Functions, performance, and constraints informationthat the system should satisfy.
Design of the user interface and the overall structure of the system.
Design of the detailed operations and data structures of each component.
Coding the program based on the design.
Conducting unit tests, integration tests, system tests, etc., to confirm quality.
Operating the system after its introduction and performing maintenance as necessary for stable operation.
Short-term iterative work in Agile development.
One method of Agile development that repeats development cycles called sprints.
One method of Agile development that emphasizes practices such as test-driven development and pair programming.
Trial product in prototyping development.
A method of roughly drawing screen layouts and operation flows using paper and pen.
Visualization of screen components and layouts using lines and shapes.
Detailed and realistic prototypes using graphic software.
Creating a working program by writing code.
A1. Waterfall development is a planned method that progresses through each phase sequentially, making it easier to manage with clear schedules, budgets, and personnel assignments. Agile development is a flexible method that proceeds with short-term iterations, suitable for projects with rapid changes or unclear requirements.
A2. Prototyping development is suitable for projects that emphasize user-centered design and quick feedback loops. It is suitable for cases where user needs and expectations are unclear, or where visual design and user interface confirmation are important.
A3.
For business in Indonesia, choose Timedoor with 10 years of experience
System development, IT education business, Japanese language education and human resource dispatching business, business expansion support services
Looking for E-commerce MobileApp for your Retail business? Learn more on APPMU
some other blog posts you might be interested in