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

Epilog

Epilog

OK, what do you want?

What I hope to achieve is integration of Iterative Development tools and techniques into the management software development projects. This necessarily involves influencing decision makers above the development level, where I have spent most of my working life.

In the past this has all too often meant that common sense counsel on Iterative Development is either dismissed, or assumed to be in the current development model. On more than one occasion the result has been memorable 30 hour 'deployment' weekends to address practical shortcomings in the actual development model, unconsidered until too late: failure to plan for data migration, manual (error prone) build and deployment scripts, manual (labor intensive) generation of other deliverable artifacts and so on.

Time and again, in my experience, it has been demonstrated but not acknowledged: management must be onboard and fund, not just the development team, but the tools and techniques they need as well. Overall what has driven this presentation is a mounting sense of frustration in failing to make this case effectively:

After project your project is initiated and the basic technology boundaries have been set, you must be able to produce your deliverables ON DEMAND.

The reasons for this are many: Loss of management support, loss of funding, catastrophic failures of any sort, other external events... I am sure you can fill in your own account of why a past project was essentially abandoned, with little or no useable work product. Relying on manual systems to generate deliverable artifacts when automated ones are readily available is a risk you cannot afford. In the same way, automated build and deployment systems are essential when, inevitably, crunch time comes. Trying to produce every deliverable manually, repeatedly, without proper tools and preparation is just not possible. Complexity is the enemy of reliability and complex systems for generating project deliverables are just that: unreliable.

In one form or another, I have presented the Iterative Development approach, usually in writing, to every client I have advised for the past 15 years. Notwithstanding that most of my past work is covered by non-disclosure agreements, every sentence of the presentation found here is either entirely new or based on previously unpublished documents. This is an assurance to previous clients, and any potential clients, that no part of this presentation, in whole or in part, is owned or can be claimed by any other entity.

If you are responsible for the success of a software development effort and think that Iterative Development practices might help, I would be happy to be in touch. If interested, please contact me on LinkedIn.com at http://www.linkedin.com/in/edwardcampbellprojects.