InflexibleProcess

The process will not adapt to changing risks or opportunities

Description

Work in Progress

The process will not adapt to changing risks or opportunities.If unexpected risks or opportunities occur, the process will fail to respond.

Discussion

Inflexibility of process has its advantages and disadvantages.The advantages are few and the disadvantages many.An unchanging process means that the cost of re-training in process is minimised, and one can employ comparatively low skilled workers that do the job more or less by rote.The disadvantages are so numerous that it may not be possible to include all of them here.Each software development project delivers a different product.Thus it will have different risks and encounter different problems.Thus the ideal process will differ.Where products are similar, the ideal process may differ only slightly.However, a fixed process would need to address the risks in both projects, even where the risk would not occur in a particular project.This effect accumulates when more, and more dissimilar, projects are attempted using the same fixed process.The process, in the long run, would need to address all possible risks, or it will be hit by a risk it didnít address, somewhere, sometime.

Prevention, Amelioration, Cure

Traditional

Traditional approaches attempt to ensure all key process areas are covered in a static process that has a static response to risk.Feedback techniques will be used to detect problems, and when detected, the most experienced people, drafted in as troubleshooters, will address problems in an ad-hoc manner.This results in a heavyweight process, and can suffer from inadequate feedback techniques.Capers Jones dedicates an entire book to the shortcomings of these approaches.A good static process that has ideally benefited from process improvement based on previous problems, which is enacted by good quality, experienced people, can bring projects to successful completion.Projects late and over budget are common.

Modern

Modern Agile approaches take more flexible approaches to process.Typically far less of the process is defined and mandatory, more will be identified as areas to be addressed by whatever means are deemed suitable, and many areas of process will not be addressed at all unless problems in that area are expected or detected.Often there will be troubleshooting sessions built into the process and held regularly, allowing the process to be adapted to the current situation at that time.