7.4 User orientation
Software projects are not noted for their successful adaptation to what the market or user really needs or wants. The orientation is more often towards the machine, the algorithm, or the deadline – but too rarely the user. Many software developers literally never see their product in action with real users.
Most users never see the facts of the designers and programmers. They don’t even know their names. Even if the developers did want to make a product which the users were really happy with, it is often too late and too impractical to do so by the time they fine out what the user really wants.
With evolutionary delivery, the situation is changed. The developer is specifically charged with ‘listening’ to user reactions, early and often. The user can play a direct role in the development process. Neither the budget, nor the deadline are overrun. The overall system architecture is ‘open ended,’ and we are mentally, economically, and technically prepared to listen to what the user or customer wants.
The principle of selecting the highest available value-to-cost ratio step next is a dynamic one. User values can and should alter as users get experience. Valuable user ideas can give the planners a flow of new ideas, which were not in the original plans. If they are better ideas – we must find practical and economic ways of implementing them as soon as possible.
Every system developer should recognize the need for feedback, the inevitability of changes of ideas about value, and the learning of development cost estimation through experience. It is common sense. The need for applying learning and selection mechanisms earlier, more consciously and more frequently in the development process is clear from our everyday experience.