In Part 1, I proposed that application release decisions are not actually time-based but are instead risk-based. To summarize, when the Lines of Business demand a specific time to release (from project inception) the Project Lead considers the risk to the business of releasing the application at that time. This is illustrated to the right.
Application Development Constraints
Let's take a quick look at the "risks to the risk." These are also known as constraints of the application development process. I'll start by describing them as they are defined in the book Reality is Overrated (link goes to Amazon).
Availability is "Risk to the Risk"
I've defined these four constraints in these specific ways with the intention of highlighting that every one of them, at their core, is a problem of availability: unavailable software components or applications; unavailable infrastructure; and unavailable test data. It is this availability problem that is the "risk to the risk" for the following reason: Every time an availability problem manifests itself, a delay in the SDLC is introduced.
What does this mean? This means that the original assessment of being able to, in our example, deliver the application at six months with 75 percent correctness is no longer valid. Instead, the inability of the development team to complete its normal activities prevents it from ensuring correctness, so the point in time where 75 percent correctness is achieved may be seven, eight, nine months or more from project inception.
The Net Impact
This puts the Project Lead in a bad position because they had the chance to negotiate timelines at the outset. Now either the delivery date gets pushed in the name of risk while making the Project Lead and their management (who committed the date to the Lines of Business) look unreliable, or the project is released "on time" with quality that's further reduced.
Regardless of which road is taken, quality is not improving and frequently declines in applications released to production. This adds to the risk that the business will suffer a production outage and ultimately has the possibility of materially impacting revenue; causing a decline in brand equity; or even resulting in shareholder lawsuits in severe enough instances.
Obviously, alleviating the availability constraint in any or all of its four forms has a snowball effect on the quality of the result. It is the removal of this constraint that the discipline of Service Virtualization effects. You'll find more excellent material on the industry leading Service Virtualization solution provided by CA Technologies here as well in the few discussion groups on LinkedIn.