Agile is not an excuse for lack of longer term planning

By Published On: April 25th, 2023Categories: DevOps, software engineering

Sometimes I work with teams where I see that there is no clear mid-term to longer term planning for a given project. Often an excuse for this could be along the lines of “We are working in an agile setting, where we need to adjust and not overplan”. To some extent this of course makes sense, however one should also be careful not to become too short-term minded.

This could lead to various disadvantages:

  1. Your software architecture is not well designed for the long run. It could be that you rushed with some major decisions which have longer-term implications and are costly to change.
  2. You take too many shortcuts while coding and spend too much time refactoring afterwards, again and again.
  3. On the project management level it is not clear when something will be actually ready. Usually product managers lose confidence with the Dev team.
  4. Since there is no high-level plan you also do not know when you are behind schedule.
  5. People feel stressed, because there is too much ad-hocness, and wandering in different directions.
  6. Probably also other that I cannot think of right now.

Thus there are several major problems that are lurking around, if a given development team becomes too short-term minded.

I believe it is beneficial for teams to create rough milestones with deadlines, when some major deliverables need to be ready. Note, you do not plan how you will get there exactly, just when. So no overly complex and detailed plans with a bunch of UML Diagrams that nobody actually understands. Just a rough high-level roadmap with some dates and deliverables for the following few months. 

Then you, your team and all your stakeholders have much more understanding what is actually your plan. Probably even more importantly you will know when you are behind schedule (cannot know this if you are planning from Sprint to Sprint).

Just to be clear, I am not proposing to go full-waterfall. The point here is more that you can have a high-level roadmap while you are doing an iterative development.

From the Agile Manifesto:

“..we have come to value.. responding to change over following a plan.”

This does not mean – “You should not have any plan at all.”

 

References:

Photo by Brett Jordan on Unsplash

Author: Luben Alexandrov

Luben is the main consultant for software engineering and software architecture questions at Version Lambda. Always looking for ways to improve the efficiency of the software teams.

Share this story

You might be interested

  • Which DevOps patterns to implement in your team / company?

    Many software development teams and software-producing companies are looking into adopting DevOps patterns and techniques in their [...]

  • What is actually DevOps?

    DevOps is a broadly used IT term, but what does it actually mean? From my conversations with [...]

  • Metrics for the efficiency of a software development process

    Fundamental metrics in software development In this article we assume that a software development process is good, if [...]