kinodb > iterative development

Iterative development

Information systems are frequently key to the process of business change, either as limiting factors (i.e. ‘we can’t do that – the software won’t support it’) or as drivers for change as business processes are tailored to the use of a new application.  Conventionally, new business processes and supporting IT are designed and developed in isolation from the day-to-day business and may take many months (if not years) before they are ready for implementation and rollout.  Once rollout begins, any problems with the supporting IT will typically be very difficult and expensive to correct.

kinodb offers an alternative approach.  Instead of adopting a ‘big bang’ approach with all the inherent risks, a number of steps can be taken to iteratively change the business processes and supporting IT.  With each step, the business has time to adjust to the change, assess benefits, provide feedback and drive the next set of changes based on real information rather than guesses and assumptions.  Whilst each step is designed to take the business closer to its strategic goal, it is driven by the business and not a separate team which is no longer part of the day-to-day business.  This means that the business can accommodate external commercial or regulatory changes as a matter of course.

Iterative development using kinodb

Whilst almost any development environment can be used iteratively, kinodb is ideally suited to such use for the following reasons:

Speed of development – keeping iterations short dramatically increases the benefit of iterative development as momentum is maintained.  Using kinodb, each iteration will typically last only a few days.

Productivity – iterative development becomes difficult in large teams.  kinodb’s productivity means that development teams are far smaller than usually required.

Availability – When users review the output of an iteration, they’re reviewing the real application, not a mock-up or prototype.  Also, kinodb applications are deployed to users’ browsers, so users throughout a global organisation can review an application with no overhead.

Manageability – kinodb incorporates sophisticated version management functions allowing tight control of development, test and production environments.

Iterative development using kinodb dramatically reduces the risks presented by traditional software development techniques.  Business users are assured a system that demonstrably meets their needs, rather than one which requires ‘bending’ the business into the shape of an ill-fitting IT solution.

A brief history of iterative development

Iterative development is a term that has been linked with software development since at least the 1970s.  The basic concept dates back to the 1930s with the quality expert Walter Shewhart who developed the concept of Plan-Do-Study-Act as a quality improvement cycle.  This was then adopted by the quality guru W. Edwards Deming.

Whilst an iterative development approach may be an obvious way to develop quality software, typical there is a huge cost consideration.  The cost associated to perform the build (or Do) stage is usually significantly larger than the other stages.  On second and subsequent cycles, any re-work (and its subsequent knock on effects) can be expensive to incorporate and introduce new errors in unrelated parts of the system.  Therefore the balancing act between system cost and quality usually limits the use of iterative development or at least the number of cycles that can be performed.

Also see