ITS Administrative Computing

Systems

Services

System Overviews

Help


Computer Security 101 Exam

DST 11/2: Change Your Clocks, Change Your Password

Submit a service request online

ITS Iterative Framework Explained

Introduction

At ITS we use the term Iterative Approach as a replacement for the term Agile which commonly and broadly represents a constellation of software development methodologies and practices.

The replacement is necessary for three reasons.

  1. The term Agile can be very misleading.  A perception of speed and chaos develops instead of the reality of disciplined flexibility.
  2. The term Agile encompasses several methodologies, with many variations that could confuse those new to the idea.
  3. Most references to Agile disproportionately address the development function of software development. At ITS, we will attempt to address a wider broad spectrum of functional roles.

What is an Iterative Approach?

An Iterative Approach favors frequent deliveries of small amounts of scope over short time frames opposed to large releases of scope at the end of a long development process characterized by functional phase gates.

There are three key goals for favoring an Iterative Approach.

  1. Deliver the most business value fast - the customer and users to get benefits from the product or service before every aspect of the product or service is complete.
  2. Deliver the most business value first - the client may decide that they do not really need everything they thought they wanted at the beginning of the project, thus eliminating scope of lesser or questionable value. 
  3. Get working solutions to customers and users sooner - we have an opportunity to get feedback on our solution or services soon and we can make changes earlier.

What an Iterative Approach is not.

An Iterative Approach is not chaos or rushing. In order to gain the flexibility offered by an Iterative Approach, more discipline is required than a Phased Approach. This discipline comes in the form of team practices, especially management task around the iteration. Standards and models are also important because they serve as centerpieces for conversations between team members; however, documentation should never replace conversation.

An Iterative Approach does not promote shoddy quality. An Iterative Approach embraces responsible change in response to business needs not bugs. “Fail Fast” does not mean “Get Junk Out”. “Fail Fast” means find problems sooner by getting better information or informing decisions with tight feedback loops on actual product.

An Iterative Approach is not mutually exclusive with User Centered Design (UCD). Iterative Approaches and UCD work well together since both approaches are both focused on providing quality business value. The trick is to have the UCD efforts work one or two iterations in front of development doing starting with a small upfront design that communicates the overall vision for the user experience and then creating more detail as needed.