This is the second of a four part series that summarizes the key points in Minimize IT Outsourcing Risk with Collaborative Quality. You can click on the title to get the complete white paper.
In the last post, we looked at the risks that can come from outsourcing IT development. Solving for these risks, not just through contractual negotiations, but in every day collaboration, can unlock the benefits of outsourced IT and address larger distributed development issues. In fact, if the appropriate IT infrastructure is available to better manage accountability and quality across distributed teams, while eliminating dependencies and constraints that restrict the agility and productivity of these teams, then it follows that these benefits could apply not just to outsourcing situations, but to any distributed team environment.
The first step in meeting the challenges of distributed teams is to gain a commitment across all teams to deliver components against well-defined requirements, in an auditable form, with the ability to accommodate the highly interdependent nature of today’s applications. This requires more than the right attitude, it requires the right tools. Key testing, validation and virtualization capabilities will help firms mitigate these risks, and foster more collaborative quality across interdependent teams. These capabilities include:
- A collaborative testing framework that directly verifies all technology layers with a high level of automation, so the team can better meet defined requirements at lower cost.
- Continuous Validation so both parties can assure that each software component supports all upstream and downstream dependencies, in an auditable form.
- A Virtual Service Environment (or VSE) which simulates the behavior of the highly interdependent and critical systems the teams must build and test against, even when they may not have access to live or completed components.
With these capabilities, the consumer of services should not just receive code assets, but also the deliverables they need to rapidly validate them - collaborative testing is matched to functional requirements. This is important, since resolving a misunderstanding early in the requirements phase can be orders of magnitude less expensive than fixing it later in deployment. So how can we move testing earlier into the lifecycle, to save costs and improve quality?
If the offshore partner’s testing is not tied to functional requirements, there is no way to know if there is any value to the test. The key to achieving collaboration is to demand that each component a team delivers is also comes with a suite of working tests that prove its functional requirements have been met. That way the next team, whether local or offshore, can iterate on testing from there.
For instance LISA tests are saved as .XML documents, then the business team can augment these processes by combining them with traditional requirements docs as executable test assets in ALM and Test Management tools. From this foundation, the tests become part of a continuous build and validation process, where regressions are proven to match defined requirements in later testing cycles. In our next post, we look at how you can handle the changing components and dependencies and achieve this kind of validation on an ongoing basis.

Comments