Today’s Agile principle revolves around deriving maximum value from your development effort. This is principle three in our twelve-part series discussing the core ideas behind the Agile Manifesto:
Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
This is the backbone of the Scrum model — short development iterations centered around the completion of a finite set of well-defined features or tasks. The result satisfies the definition “done” and ought to be usable or at least testable.
I’m a perfectionist, so my natural tendency is to hold onto a project until it’s “presentable.” For me, this means implementation of all requested features. The application should be more-or-less complete.
Perfectionism, however, defers testing and feedback. I’m not working on all the features simultaneously. So the most efficient use of time is letting the product owner review and comment on features as they emerge with each sprint. In some cases, a feature may even go into production, allowing end users to extract value as soon as possible from development efforts.
Software is worthless until it’s put into use. If a feature is not realistically able to be released to end users, the next best thing is getting it in the hands of testers ASAP for scrutiny, oversight and input. Feedback drives the Agile process. The sooner it can be provided, the more responsive an organization can be. Therefore, we want working features delivered on the shortest reasonable timescale.
Read more from post two in the series “The 12 Principles Behind the Agile Manifesto: Principle Number Two – Harnessing Change.”
Keep your eyes on the SPK and Associates blog for more articles unpacking Agile Methodology.
David Hubbell
Senior Software Engineer
SPK & Associates