This is the third of a four part series that summarizes the key points of our paper on Minimizing IT Outsourcing Risk with Collaborative Quality. You can click on the title to get the complete white paper.
In the last post in the series, we started to look at how to meet the risks and challenges of the outsourcing of IT development. In this post, we will look at how you can handle the changing components and dependencies and achieve validation on an ongoing basis. We will also look at how iTKO enables parallel development and testing without constraints.
In a SOA environment, a change to any service can create "unintended consequences" by causing unexpected failures on other dependent services. Throw in third parties through outsourcing and you compound the risk. To mitigate this risk, you need to continuously validate that delivered components have accounted for other elements in the workflow, and declare those in your tests, providing other team members with visibility into those dependencies.
Now, we need to "coat dependencies with testing" from this perspective, to prevent unintended consequences and run automated tests as needed on an ongoing basis. As a best practice, teams often use our solution to segment continuous validation activities along business process lines. To achieve maximum efficiency, distributed teams need to decouple their own environments from dependencies on live or incomplete systems, so they can continue working in parallel, rather than waiting on each other.
Think about many services engagements, and the amount of effort wasted on providing test access on a live transaction service or critical data source to a service vendor. Often there is a very limited window of time that can be offered by the companies IT ops team. Service Virtualization solves this bottleneck by allowing teams to design, develop and test their own components against changing environments by capturing and modeling the rest of the system (services, data, mainframes, etc) as running Virtual Services that simulate the behavior of the needed target environment.
Now multiple teams can design and test services in parallel and thus eliminate the constraints and dependencies of accessibility, availability and security for incomplete components and live service implementations. In the fourth and last post in this series we look at best practices for the outsourcing consumer.

Comments