William S. Junk

The Dynamic Balance Between Cost, Schedule, Features and Quality in Software Development Projects
William S. Junk. 2000. (View Paper → )
This paper discusses the dynamic interaction that takes place between product features, development cost (resources), quality, and development schedule in a "system" environment. The system that we are referring to is the abstraction created by feature, resources, quality and schedule and their interactions.
The premise on which this paper is based is that the "system" will always seek an equilibrium point among these four dimensions. Unfortunately, the equilibrium point that balances the four factors may not correspond with what senior management defines as acceptable for a successful product development.
A project manager must actively manage the project for which he or she is responsible and must do this with an understanding of the constraints placed on project control options.
This paper pre-dates the agile manifesto and modern product management. So take it with a pinch of salt but it articulates a four dimensional self-regulating relationship between product features, development cost, product quality and delivery time. If one dimension changes (e.g. more features are added), at least one of the others will shift in response (e.g. schedule stretches or quality drops) to restore balance.
The paper coins the term ‘minimum viable product’ - as a kind of acceptable minimum bar of product features (in the eyes of management). The implication though is that if you don’t reach that minimum bar, the product has limited utility and is unlikely to succeed in the market. The implication is that ‘project managers’ can’t compromise on scope beyond that point.
The paper also reminds us that we’ll have to make tradeoffs when things go wrong… e.g….
- the amount of work to implement the features is underestimated
- a greater than expected number of defects emerges
- features get added late in the day
Successful product development is about continuously managing trade-offs so that no critical dimension falls below acceptable levels. The framework encourages an awareness of and setting of clear boundaries (e.g. MVP for features, quality thresholds, budget and time limits) and to monitor the project’s status in each dimension.