Three steps to deliver successful Enterprise Integration Testing (EIT)
Wider access to technology choices, avoidance of vendor lock-in, spread of risk and greater leverage over vendors are just some of the benefits offered by multi-vendor contracting. These have seen it embraced by many organisations and government departments – and this trend has only been accelerated by COVID-19. The pandemic has both driven organisations across all sectors to use this approach to increase their operational resilience, while also catalysing the adoption of new technologies as organisations seek to turn uncertainty to advantage.
In making this move to multi-vendor contracting, many organisations have chosen to set up their own internal service integrator function, benefitting from increased control through commercial and technical flexibility and development and ownership of intellectual property. We’ve seen the Ministry of Defence take this approach with the long-term aim of ensuring service continuity and minimum disruption to end users. However, this approach also presents many challenges, arguably none bigger than Enterprise Integration Testing (EIT).
In this article, we explore how EIT differs from integration testing and three steps you can take to de-risk your systems, boost your chances of success when transitioning from test to live, and provide a more robust capability and better user-experience.
How EIT differs from integration testing
Integration Testing is the art of bringing together components, modules or sub-systems to form a system and verifying its behaviour in order to discover defects and unexpected emergent characteristics. Organisations usually adopt an incremental approach to integration testing for large, complex systems. This means testing two sub-systems together to ensure correct functionality before bringing in another sub-system, one or a few at a time, until all are working together.
While integration testing ensures the system works on a standalone basis and under limited circumstances, EIT goes a step further, testing this system with others it will interface with internally and externally as part of a larger ecosystem. It means integration testing across the enterprise with participation from all relevant parties. It calls for the bringing together of services and providers to prove the system has been designed and integrated, with other systems, to provide the required end-to-end service capability. In doing so, you validate that the delivered system fulfils all stakeholder needs.
As organisations embrace the jolt of the pandemic and seek to accelerate their digital operations and reconsider their vendor management, EIT will be key to successful delivery. We’ve identified three key steps to ensure success:
1. Build and embed a test culture
Buy-in from leadership and key stakeholders is vital to devise policies and processes that place EIT at the heart of programme and project success. Leaders must ensure that EIT is a mandatory requirement when introducing new services and capabilities, and that the Test department actively reaches out to others in the organisation, through training interventions and awareness programmes, to raise skills and create a culture that embraces EIT.
The importance of having Suitably Qualified and Experienced Personnel (SQEP) cannot be overstated. It’s about underpinning the capability you’re standing up with the right blend of skills and experience – a workforce full of individuals who’ve been there and done it and can walk the talk. In order to develop a ‘test culture’, the organisation should recruit and retain professionals with a proven track record in service integration and testing, and those with the pragmatism and leadership qualities to instil this culture from the top down.
2. Agree ways of working
A clear EIT strategy should support the organisational strategy. If your organisational strategy is to bring integration of services in-house, then the test capability must be internally stood-up and managed, rather than outsourcing and consuming it as a service. The EIT strategy should drive policies and processes that ensure consistency in methods, governance, technology and roles and responsibilities. Any external parties, such as Managed Service Providers, must adhere to requirements that reflect this strategy, ensuring programmes and projects serve the organisation’s wider interests.
You may have a sound test strategy, but it’ll fail if its relevance and importance is not well known and understood. Similarly, you’re unlikely to accomplish your overall mission unless you constantly engage with programmes and projects to understand their requirements and progress. Testing early and often goes a long way to closing the communication gap. This encourages continuous engagement between involved parties, where corrective actions can be taken promptly. Test leads should be brought together to achieve a holistic view of the integration points between programmes and projects, and to gain an informed view of potential incoherencies and issues.
A robust governance model is also key. This goes beyond decision-making boards to include rules and processes that programmes and projects must abide by to ensure consistency. This brings accountability as programmes and projects will need to be compliant to progress through the approval stages and agreed milestones. Clear processes also act as a guide to inform the type and level of testing required at different stages in the lifecycle.
3. Organise your organisation to deliver brilliantly
Testing will be ambiguous at best if conducted in isolation within a standalone test environment that doesn’t accurately reflect the production environment. The aim of EIT is to understand how the system will function and perform when installed in the production environment with the wider interfaces. This is why there’s a need for a ‘federated’ test environment which encompasses representative test environments of all the internal and external parties, mirroring the production environment to conduct end-to-end testing.
It’s all about testing early and often. This is where agile programmes and projects with continuous builds deliver real value. They ensure the parts fit together as you make progress, providing confidence at an early stage. Although this is more common for component/sub-system testing, EIT allows you to test the early and continuous builds with the wider interfaces within the organisation, utilising the federated test environment without affecting the production environment.
Automation must be viewed as an important business requirement rather than a ‘nice to have’. Automation of software, test scripts and data builds are all things which one can survive without, but testing will inevitably take a lot longer. Automating integration tests can increase testing rates and the chances of catching defects early that may otherwise be missed.
In summary, leaders must work towards developing a culture, the governing structure and ways of working that embraces testing as an imperative pre-requisite for deployment of new services.
A thorough campaign of EIT will de-risk the system under test and its interfaces, reducing the chances of incidents at go-live, providing a more robust capability and delivering a better user-experience.