[DESIGN] Waterfall and Agile

TEMCO
TEMCO

--

At this time, we would like to explain more updates about the design process of GUHADA.

Please take your time and check out the update.

The Agile Process:

Every project involving the development of visualization and design follows specific guidelines. This process is needed for successfully developing every software-based design.

First, we would like to explain about the advantages and disadvantages of the traditional “waterfall” method, and the introduction of the Agile software that TEMCO team chose for the design process.

The “Waterfall” Method

Traditionally, SDL (Software Development Lifecycle) is made of the waterfall method. This model/method was first used in the construction and manufacturing industry and now is most often used for software engineering and IT industry.

Waterfall method’s core principle is to proceed with strict planning and consistency.

Waterfall: A step by step process
1. Sharing ideas about the concept.
2. Request analysis and planning
3. Design
4. Coding and Development
5. Testing
6. Product release
7. Support and maintenance management

The advantages of the waterfall method:

-Easy operation, management, and configuration.
-Developer and the manager follow clear planning.
-This process makes the development process much organized and easily comprehensible.
-The projects that employ the waterfall method, in general, have similar patterns, so there is no need for the extra learning session.

Organized Documentation:
Accurate node needs to be made at each step for the firm documentation basis of the waterfall method. This step is required in case of a new employee comes in, so that the person can easily understand the process and easily improve the software. It is a needed step, in case a report is required, so it can be delivered to the client about the details or applied to a different project.

Results:
Through the initial report, the client can recognize the program function and the structure. As a result, the client can find out about the expenses and schedule of the project. Through this step, there is a certainty for the budgeting and planning for the release.

Convivence for meeting the deadline:
Since all of the start and end of the development process must be justified and maintained, there is a low possibility of missing the deadlines. This approach requests strict and useful regulation for the client.

Disadvantages of the waterfall method

Room for errors
There is still some room for errors in the waterfall method. The biggest disadvantage of the method is that once the model is finished, it can not be reversed. The process is one directional and set, so it can not be updated. On the completed portion, fixing of the bugs or unexpected changes cannot be made. So, if there are any changes that need to be made, the project must restart, producing more expenses and difficulty.

Initial information is not always accurate
The requested material is confirmed and discussed in the beginning, however, the requested materials by the client are difficult to be described in detail. The client may not know exactly what they want. As the project progresses, the client may find out more and more about what they want, and through this, the client can think about requests without affecting the budgeting and planning process.

The client cannot view the developmental software until then it is completed.
The operational application program is provided at the last step of the process. The client cannot see the intermediate phase of the development process, so the project is not transparent.

Lack of communication
The project proceeds with each team’s step by step process. Each team focuses on their own tasks and do not affiliate themselves with other team’s tasks. So, the errors and misunderstanding in the communication process occur often.

The final test
The final test is performed only at the end. If there is a serious bug found during the test, the entire project has to restart.

So, let's find out about the Agile method.

Agile method

The agile method was made to solve the issue of the waterfall method. There are differences between the methods is flexibility. Agile process is focused on open changes and continuous improvement. The process is gradual and repetitive. Everything starts under consistently updatable wireframe method, following the progress of the project. The task sections are separated in a module format and execute in the sprint. Each sprint continues for 2 weeks and is based on the following step.

Agile Sprint (bi-weekly basis)
-Planning (breaking down the concept to smaller pieces)
-Analysis of the requested information (acquiring detailed information through numerous discussions)
-Design (creating UI/UX design based on the recent requests)
-Development (creating a real function)
-Test (Verify QA software bug)
-Release (Providing the client the prepared product)

If there is a problem after the release and the use of the product, the information is sent to “team review” and it is resolved after the review. Agile method is flexible, unlike the step by step process of the waterfall method, any issue that rises can be resolved by the entire project team at the same time. A developer can fix the bug issue through the hierarchy-based Sprint at the initial stage. The client reports the feedback after working through the sprint. The team updates the project infrastructure and then selects and priority of the sprints.

Advantages and disadvantages of the agile method

The advantages of the agile method:

This method has a flexibility that allows convenience in adding new functions and its operation. Which means that the client does not influence the schedule or the budget of the project and create new ideas for the project at the same time. Also, the product can keep up with adding new technology.

Powerful Teamwork
The project is built upon direct communication and interaction. Everyone participates and is responsible for the project. This kind of approach increases the quality of the product and improves the occupational environment.

Client Participation
The significant difference between Agile and Waterfall software development is that for the agile method, the client can provide the feedback and check the intermediate development results, which means that client can give a great influence to the final product. This process maintains the reliability between the client and the project team.

High Quality
Each sprint becomes finalized by the final testing for increasing the product quality. The developer can find the bugs and fix them before the main part of the development process is finished, which is efficient and cost-effective.

Disadvantages of the agile method:

Lack of detailed planning
The initial planning is rough, and the sprint can be added during the core development process, at times it is difficult to set a completion date or finish the project on a specific time.

Organic Output
The anticipated goal is to complete the development of the software and the team recognizes that it is not the finalized product since there could be a major issue in the future if the comprehensive direction of the entire project is not clear. (e.g. In a case if deep analysis of the coding is required)

Devoted participation
The agile process consumes a great deal of time since it requires devoted participation of the entire team. This is for the case if the developer needs to focus on the project and work on his or her part of the task for an extended period).

Unexpected results
The client may be able to participate in the creation of the project results based on individual sprint level, however, the final results can be completely different. This can happen if there is no constant change, planning, and design.

So what is the reason for choosing the agile method for the development process of GUHADA?

There are 3 major reasons why we need to use the agile method.
-Indicating quick results of the project
-If there is a need for continuous change in the development
-The professionalism of the entire participating “experienced” team members.

So, we have decided that there is a need for continuous innovation and change for the quality final product.

Also, we thought that there is a need to continuously innovate as we are in the development process.

In addition, the developers who are participating in the development of the project are experienced professionals, so there was no waste of time for choosing the agile method.

Since there are professional developers who have experience in agile development, the development team of TEMCO is proceeding with the development through a discussion from 10 to 30 minutes everyday, sharing about the status of individual tasks and issues of the development process.

Thank you for following up with the development update.

We will be back with more exciting news and announcements!

Thank you for supporting TEMCO!

TEMCO: Innovative Supply Chain Data and E-Commerce Solution through Blockchain and Smart Contract Technology.

Please visit us to learn more about the blockchain and smart contract based supply chain data/e-commerce platform!

▶TEMCO Chatroom: https://t.me/temcolabs
▶TEMCO Official Website: https://temco.io

--

--

TEMCO
TEMCO
Writer for

Blockchain-based Supply Chain Data Management and E-commerce Open Market Platform, GUHADA.