DEV Community

Muhamad Sulaiman
Muhamad Sulaiman

Posted on

Embracing Agile, Scrum, and Kanban in Project Management: A Personal Journey

Managing projects in a software house can be both rewarding and challenging. One of the biggest challenges I faced was shifting from the traditional Waterfall model to a more flexible approach using Agile, Scrum, and Kanban. My team and I were tasked with building a social media platform for book lovers—a project that required close collaboration, timely iterations, and a clear workflow. This is a reflection of how we managed the process, the obstacles we faced, and the lessons learned.

My Team

The Waterfall Challenge

Before this project, we had always used the Waterfall methodology. In a software house, this felt like the natural choice. Waterfall gives you that sense of control, where every stage of the project is neatly planned and executed in sequence: requirements, design, development, and testing. But this approach often led to rigid timelines and miscommunication. If a change was needed during development, going back to earlier stages was cumbersome, resulting in delays and frustrations.

For this project, we realized that the Waterfall approach wouldn't allow us to be flexible enough to meet evolving requirements, especially for a dynamic platform like a social media network. This realization led us to embrace Agile, combining Scrum and Kanban to create a hybrid approach tailored to our needs.

The Shift to Agile-Scrum-Kanban: A New Way of Thinking

Transitioning to Agile wasn't as smooth as we initially hoped. Although we had the right tools—Scrum for organizing sprints and Kanban for managing tasks—the team struggled with one significant challenge: shaking off the habits formed from years of Waterfall projects. Developers found themselves waiting for the design to be finalized before starting, and the workflow often felt like we were reverting to the Waterfall model.

Adapting to Challenges

While we haven’t fully found the perfect solution, one of the approaches we are considering is to embrace cross-functional teams. Having designers, developers, and even stakeholders work together from the very start of the sprint could help reduce delays caused by waiting on one another. In our current approach, we had scenarios where the back-end developer would start working on the business logic, the designer would begin creating high-fidelity designs in Figma based on wireframes, and the front-end developer would start creating the front-end skeleton.

Although it felt like we were following an Agile approach, this setup often mirrored the Waterfall process, where one team member had to wait for another to complete their work. For example, the front-end developer would wait for the final design to be implemented, resulting in unnecessary delays. This sequential dependency made it challenging to move at the speed of Agile promises.

To counter this, we’re working towards more parallel processing within sprints. Breaking tasks into smaller, independent chunks that don’t rely on sequential completion would allow developers and designers to work simultaneously. This shift would significantly reduce bottlenecks and make our sprints smoother.

Additionally, we’ve started focusing on more robust sprint reviews and retrospectives to highlight these bottlenecks in real-time, enabling us to quickly adapt and evolve our workflow. In the future, shorter iterations and more real-time feedback are essential to prevent falling back into Waterfall-like habits.

The Outcome: A Successful Sprint

Despite the challenges, the outcome of the project was extremely positive. By using the Agile-Scrum-Kanban mix, we were able to build the necessary features without any major conflicts during the sprints. The key to this success was the clear communication and alignment we had during the backlog discussions. Everyone knew exactly what needed to be done and what the priorities were, allowing us to complete each sprint without confusion or scope creep.

The platform for book lovers came together smoothly, with each function being developed and tested in clear iterations. We were able to deliver value consistently, meeting the expectations of both the stakeholders and the end-users.

Final Thoughts

Switching from Waterfall to a hybrid Agile approach wasn’t easy, but it was a necessary step for us to evolve as a team. While we’re still fine-tuning our process, the Agile-Scrum-Kanban framework has proven to be more flexible and efficient for our projects. If you’re considering making the switch, my advice is to involve your whole team from the start, allow for flexibility, and don’t be afraid to iterate on your process just like you do on your product.

Top comments (0)