Maintenance and Development
Looks like previously I was looking at maintenance and development as something that opposite to each other. First develop, then maintain. One of the first insights from reading The Pragmatic Programmer is that maintenance is a part of the whole development process. Authors introduced a new point of view. Since our understanding of what we develop changes, new requirements arrive when we develop or even design we need to change application code as earlier as possible.
From my experience stakeholders not often have a clear requirements. And this is OK because either things are changing from day to day or it is not possible to have all of them initially. I know it depends on a company but at some point we even helped stakeholders to understand their needs implementing short feedback loop to clarify requirements and adjust. All this means we need to develop and maintain at the same time.