There is no perfect process

Cover Image for There is no perfect process
Alex Bachuk
Alex Bachuk

Building software is a team sport. Maintaining interactions and communication takes effort. We have to organize ourselves to make collaboration possible and stay effective while building complex software systems.

There are many ways to structure how we get things done and organize our day-to-day operations, from Agile/Scrum/Kanban to waterfall to ITIL and others. Every method promises to make your team the most efficient, stable software, happy customers, predictable costs, and more. The more I interact with people in different organizations, the more convinced I am that there is no ideal process.

Every framework has some pros and cons. Like many things, it's about trade-offs. Despite all the claims, Agile is not the ultimate solution. Although it's a flexible method, and I use it the most. The problem with agile is it has been commercialized. Many of us are doing agile but not being "Agile." Scheduling 2-week sprints with standups is not being Agile.

Sometimes, there is a need for a more rigid process where scope and deadline have to be defined initially. One of Agile's values: "Individuals and interactions over processes and tools". You have to build a strategy that works for your team/project combination. It may be necessary to tweak the process every few months, and it's ok.

People work better in new environments. Our brains are more alert if there is a novelty around us. Maybe that's why we always like to use the latest frameworks and introduce new complexity, even though there is little proof that it positively impacts our productivity.

Evolving your process should be a team effort. Keep what works, change everything else, even though it may contradict the process' manual. Mix it up, and make the process work for you and your team. It means the entire team has to make the decision together. Tweak it regularly, keep revisiting through retrospectives, analyzing what else can be improved.

Don't get fixated on one process. Avoid practicing any specific method by the book. Figure out with your team what works for you and keep iterating. The goal is to keep people engaged and maintain a transparent process for stakeholders, avoid big surprises for the leadership. As long as the work gets done, the "how" shouldn't matter.