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:
- 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.
- You take too many shortcuts while coding and spend too much time refactoring afterwards, again and again.
- On the project management level it is not clear when something will be actually ready. Usually product managers lose confidence with the Dev team.
- Since there is no high-level plan you also do not know when you are behind schedule.
- People feel stressed, because there is too much ad-hocness, and wandering in different directions.
- 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.”
Photo by Brett Jordan on Unsplash