Taking the Long View in Software Development
Organizations that over-emphasize expediency can set themselves up for long-term losses. In this article, I’ll address strategies for taking a balanced approach. Specifically, I’ll focus on:
- Maintaining development capacity
- Maintaining code asset value
- Flexible tool selection
Winning the battle, losing the war
In defining a project, the Project Management Institute stresses that a project is temporary in nature. It has a distinct beginning and end. It has a unique purpose, and defined scope. We see this approach dominate the software development industry today. Projects are conceived, funded, conducted and ended. They are judged by how well the final results match the initial conception, the appropriated funds and the target dates. In this mental model, no consideration is given to the time preceding or following the project. That’s outside the model boundaries.
Almost all businesses intend to remain in business indefinitely. Few want to accomplish a single goal and then dissolve. In the lingo of game theory, they are playing an infinite game. At a high level, each project is a single move in that game. The business makes repeated moves, project after project, to best meet its goals. Each project is, in turn, a finite game with a definitive end. In the larger context, however, each project is an iteration of an infinitely
Please log in or sign up below to read the rest of the article.