Quality, Strike Balance

Quality software delivery has never been more critical to businesses; in fact, it’s critical to business survival in today’s economy. Requirements change often, projects fall behind schedule, costs are scrutinized but quality must improve or businesses lag behind competition. This seemingly impossible task is forcing software delivery teams to think outside the box, examine agile development approaches and challenge historically dominant methods.

Software quality requires teams to strike balance between three dimensions:  Scope (requirements), Cost and Time. Scope represents the problem statement and the targeted solutions / goals must be achieved to be termed as success; Cost represents the amount of money / resources available and Time is the available time to deliver the project.

Scope (requirements) never frozen, simply keep changing.  Most serious defects find their way into software through requirements:  vague requirements definition, poor / incomplete requirements or imperfect dissemination of requirements to all stakeholders. And these issues don’t just arise at the beginning of a project; they arise throughout the whole application lifecycle. Wishful thinking among senior-level executives would have requirements formed and then frozen so that no changes could be made to them in the future. Certainly this would help increase software quality, but today’s reality is such that requirements keep changing. They reflect today’s speed of business, the urgency of staying competitive and the need to comply with the regulations imposed on many of our processes.

The normal situation is that one of these dimensions is fixed and the other two will vary in inverse proportion to each other. For example time is often fixed and the quality of the end product will depend on the cost or resources available. Similarly if working to a fixed levels of quality then the cost of the project will largely be dependent upon the time available. When costs are fixed and there is a definite deadline for delivery, an all too familiar set of circumstances. Then, if the scope starts to creep you are left with only one choice – cut functionality.

Cutting functionality may seem a drastic measure, as long as the core requirements remain, everything will be fine. Additional functionality can always go into “the next release,” but if core functionality is not delivered then there won’t be a next release.

To meet this quality software delivery challenge, organizations must engage in collaborative processes that are powered by automation and accompanied by actionable project governance throughout the delivery lifecycle thus striking a balance between Scope, Cost and Time.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>