Working on Waterfall and Agile approach
Using Waterfall model from my experience
As my background, I started as a software engineer and used a waterfall or linear model for project management. Since all the clients I worked with, were enterprise organizations. All projects were complex and generally took a long time (6 months to one year) until we could deliver the product to clients.
The common problems I found from using the waterfall model were, the requirements were not complete. Generally, many details were missing. Look back to that time, I believe a person who gathered the requirements, didn’t pay attention to the detail. Also, the clients forgot to tell some work conditions or special work cases which didn’t happen in the workflow often. Plus, during the long period of development, some requirements were changed. Finally, the communication between the team and clients was less. Clients didn’t see any result until the products being delivered.
I have never been happy to work with the waterfall model. I prefer the clients to see the result early and give me feedback then I can fix the issues and move on to the next features. That’s why the Agile approach comes in.
Life after using Agile approach
I have been using the Agile approach on my complex projects since 2009. Since then, I am able to save my working time, delivery my projects on time, and my clients will get what they ask for accurately. This is why I prefer to work with teams that use the Agile approach on their complex projects.
What is Aglie methodology
Agile is an iterative approach to project management that helps teams deliver features or value to their clients faster. The agile team will deliver work in small but these small ones are consumable. With the agile approach, the teams can respond to the change quickly while clients can see the output through every sprint as well.
Agile is the iterative approach. Each iterative approach consists of Planning, Designing, Developing, and Deploy which is a series of short development cycles. Moreover, each iterative will be put into a sprint which is a work cycle.
Here is an example of a series of short development cycles.
- Plan is a business requirements stage.
- Design is a technical designs stage.
- Develop is a coding and testing stage.
- Deploy is a client approval and launch stage.
In one complex project, you will have many sprints. Every sprint you will release the consumable features to the clients. Then the clients will review and give your feedback. With the sprint, you can modify or adjust the product in the early stage while in the Waterfall model, you will get feedback from the clients at the final stage.
Agile Development Components
To implement the Agile approach to project management, you will have the Agile development components below.
- Product Backlog – Personally, I will use the index card or sticky note that lists all of the features to be included in the final product. These features are my product backlogs. I will put all my backlogs on my whiteboard which is a great visual representation for me. Also, the visual representation is great way for reminding the team’s progress. If you work with the remote team, you can use the tools like Trello instead of whiteboard.
- Sprint Backlog – This is a list of the tasks to accomplish during a sprint. In order to create the sprint, the team members will choose items from the product backlog and determines the tasks necessary to meet the consumable output that team will release for that sprint. The team must estimate an amount of time on each task. The time frame for each sprint depends on your project. It may be a week, two weeks or three weeks. For creating new sprint, normally I will do the new sprint every Monday.
- Scrum Meetings -The scrum meetings is very important. It will keep all tasks on track and able to deliver the final product on time. The scrum meeting is a daily meeting to check in with the team. Stakeholders or product owners or UX/UI designers are welcome to join the meeting as well. It will take around 10-15 minutes before starting a routine working. WIth the meeting, it also reminds the team what tasks they will do and what tasks need to done today.
- Scrum Master – This person can be one of the team that work on the project or someone else in other teams. This person manages the communication between team members in the project. Bascially, this person will track all tasks in the sprint from the team member on daily meeting.
Benefits of Agile Approach
In my opinion, using the Agile approach gives me a lot of benefits.
- Fast feedback from users – I get faster feeback from users. If some requirements I miss or clients forget to tell me some detail in gathering requirements stage, I will get the missing information and fix the issue before I continue work on next sprint.
- Deal with the chanages quickly – During the development, clients may come with some changes. Using sprints, I can analyse the changes and add the new information or features into the backlogs. Then I can prioritize my backlogs. It makes sure the final product is complete and accurate.
- Focus on users – Because every sprint, clients will review the output and give me approval or feedback. So I can make sure the final product meets the user needs.
- UX/UI benefits – Every sprint, clients or users will be able to use the product features that I release. If Clients or users see the issues regarding the UX/UI design and they will give me the feedback. And I can fix them quickly.
What is Scrum
Scrum is a framework used in Agile development projects. Scrum helps teams work together by providing a way of organizing the workload over a series of short development cycles (sprints).
Below are the elements of Scrum.
- Sprints – Work cycles
- Stories or Backlog – Each story or backlog is assigned to a team member. The team member will break down the backlog or story into the tasks list and put those tasks into the scrum board (To Do, In Progress, Review, Done).
- Stand up meeting – The stand up is a daily meeting that drive a sprint
- Scrum master – Scrum master is a person who runs the scrum board.
- Backlog meeting – A team and stakeholders or product owners prioritize all stories or backlogs for preparing them to upcoming sprint.
Personally, I use Trello as my scrum board. In Trello, you can use the Kanban template to create the scrum board as well. Below is an example of the Kanban template in Trello.
I have experience using both Waterfall and Agile approaches. As far as I know, I enjoy working with the Agile approach on my project. For some small projects, I don’t use the Agile approach because the project generally takes a week or two weeks. but for complex projects, I use the Agile approach and my clients are happy with the final product. However, some enterprise organization still uses the Waterfall approach because the clients prefer this approach. Hope this post will give you some idea about the Agile approach.