Recent Articles

Adopting Agile/Iterative Software Development

Iterative Software Development

Choosing An Approach To Agile/Iterative Software Development

Adopting AGILE In Your SDLC Shop

iterDev Documentation Model

GitHub.com Projects

Convert Log4Net to NLog

Log4Net integration in ASP.NET MVC

iterDev.com Process Model

iterDev.com Iterative Development Process Model

Overview

The iterDev.com Iterative Development Process Model is based on the Software Development Life Cycle, known as the SDLC.

The primary focus of the iterDev Iterative Development Process Model is the interior SDLC development stages: Requirements Analysis, Design, Development, Integration & Test and Implementation. The task of completing a good faith attempt at each of these tasks, in order, is referred to as a Project Milestone Cycle where the major resource allocation is devoted to one or more Iterative Development Cycles. Other activities, or cycles, are specified to ensure coverage of all project deliverables, artifacts and metrics.

Tactics, not Strategy

It is important to note, up front, that the iterDev Iterative Development Process is not a replacement for any other software development methodology. Instead, it is a set of mechanics and process automation tools used to magnify the effort of your team members in meeting requirements of their current methodology.

This process model is a set of tactics, employed to enhance the probability of success with your chosen strategy: Design, Methodology and Development Technology Stack. In military terms, you would not undertake any mission without rehearsing every step of a successful execution. The cost of failure is unacceptably high.

Developing software for the global internet or your own company intranet is just such a mission. The cost of failure is commercially and professionally too high. You can minimize the probability of failure by maximizing your ability to execute and generate your deliverables. That is the purpose of this model.

Assumptions

The model assumes that management has committed to producing a software project: meaning the Initiation, System Concept Development and Planning stages have been completed. Further, this model does not address directly the post development stages of Operations & Maintenance or Disposition. From a management standpoint, this is a budgeted project and each day costs are being incurred. The goal, from this point forward, is to produce and document as much working software functionality as possible to meet the perceived need that prompted the project.

The view of the iterDev Iterative Development Process Model is that successful projects are the result of at least three, and almost always more than three, iterative development cycles. Those minimal three development iterations are:

  • Creation of a Deliverable Prototype and Project Delivery System
  • An initial Project Build and Demonstration Cycle that completes with a successful project demo
  • A Project Milestone cycle that completes with a successful Project Deployment

Benefits

More to the point, unless your software development organization has produced workable software with one or two iterations through the SDLC development stages, it is very beneficial to ensure that the repetition of SDLC development stages occur as efficiently as possible. The benefits of taking this approach are clear:

  • Creating a Deliverable Prototype forces the project team to think through the complete application including a first version of a user interface.
  • Creating a Deliverable Prototype exposes any complex interactions between project features and provides a context within which to simplify them.
  • Building a Project Delivery System forces consideration and simplification of project deliverables.
  • Building a Project Delivery System allows any team member to build the project at any time.
  • Specifying a Project Milestone forces consideration of the project feature set and level of effort estimation.
  • Specifying a Project Milestone exposes and offers the chance to simplify complexity in deployment.
  • Specifying the mechanical activities that belong to a cycle and automating them guarantees that each step will be completed, each time.
  • Combining tightly specified and minimal development activity cycles produces a repeatable, managed, application release.

Last but not least, when final delivery approaches, the Project Delivery System will be practiced and reliable instead of brittle and failure prone.

In short, this means:

  • Simplifying the required software artifacts needed to reproduce and rebuild the completed project to as close to minimum as possible.
  • Magnifying the effort and expertise of the development staff to ensure coverage, efficiency and the production of all required artifacts.
  • Creating and using, wherever possible, automated approaches that meet your organization's needs for project development artifacts.

Process Model Summary

The iterDev Iterative Development Process Model includes the tasks that virtually all development methodologies must provide for:

  • Project Initiation
  • Requirements Management Cycle
  • Project Documentation Cycle
  • Iterative Development Cycle
  • Project Build and Demonstration Cycle
  • Project Deployment Cycle
  • Project Milestone Cycle

The iterDev Iterative Development Process Model is a blueprint for specifying and automating each of the critical path tasks required to build and deploy a software project release. The result is an automated Project Delivery System that will encapsulate your unique build requirements and ensure your software project produces a usable deliverable, quickly and reliably.

Navigating the iterDev Process

The sections of this presentation are structured to be read once, sequentially, and then as needed in any order. The navigation links to the left and section descriptions below appear on every page.

To continue now with the iterDev.com Iterative Development Process, click each of the links to on the left in order. A brief description of each document's contents is below. The 'Home' link returns you to the home page.

Foreword - iterDev.com Home page and Author's Foreword to the Iterative Software Development web site.

Introduction - iterDev.com Introduction, Background and The Iterative Development Force Multiplier.

Iterative Process Model - The Iterative Development Process Model, its place in the Software Development Lifecycle and expected benefits.

Deliverable Prototype - The Deliverable Prototype, its down stream Advantages for projects and the Work Product that delivers them.

Development Process - The Iterative Development Process, Activities and their mapping to SDLC and a closer look at the core Iterative Development Cycle.

Project Delivery System - The Project Delivery System: Activities, Activity Specifications and how they combine to produce Managed Project Releases.

Epilog - A few final thoughts. A request for comments. What I hope to achieve with this site.