One and Done?

In the last decade, we have realized that we cannot plan everything up front in a linear process to develop software. We are solving complex problems, which requires us to use an empirical process, lean UX practices, and a supporting technology platform that allows us to build, measure, learn and apply the learning in a repeatable fashion. This allows us to move from trying to predict everything about the future towards shared learning from the present.

Although we are getting gains from people using Agile practices to get increments of work done, most enterprise organizations are not taking advantage of developing iteratively. They still put effort to fully polish a feature before releasing to see how customers respond to that feature, primarily because they are funded and managed as a project, instead of a product lifecycle. “If we do not fully build this feature, we may never get the budget again” is the tired excuse I always hear.