Anglian Water has created a process for testing applications which, the company says, will improve code quality developed across multi-sourced outsourcing contracts.
According to Marc Wynn, service introduction manager at Anglian Water, software quality has become a significant area of investment for the company, accounting for as much as 30% of IT project budget costs.
Wynn says a software error could lead to customers receiving an incorrect bill.
But, rather than being compared with another water company, the level of quality is set against the likes of Amazon.
"Quality is fundamental to everything we do. Our customers compare us to the way they would buy a book on Amazon," says Wynn.
The challenges, however, have included the complexity that arises from running multi-sourced outsourced contracts, where software could be delivered by one of several providers. In fact, Wynn says the water company was missing out by not having standard testing processes.
For instance, the development team would spend time creating test scripts, but these scripts would be lost when they left the company.
"We wanted to see what we could do differently and improve how we currently do testing. This is quite a big target because, in a multi-supplier outsourcing model, software development projects are independently run and audited," says Wynn.
The company selected IT service provider NTT Data to manage and deliver standardised processes for application testing and create a testing centre.
"There is a correlation between the amount of testing done and the quality of code produced," according to Wynn. Defects found earlier in a project development cycle cost less to fix than those found later, and they are easier to fix. "You certainly don’t want a bug in production," he says. But there is also a trade-off since the company needs to assess the risk against cost.
Organising quality assurance
Any project where development work costs more than £15,000 is automatically passed onto the NTT testing centre of excellence for QA testing. However, Wynn admits that smaller projects can sometimes pose as big a risk as larger, more costly projects, depending on the impact of a coding error. To cover this, Anglian Water looks at the impact of smaller projects, to determine if they should be passed on to the testing centre of excellence.
More articles on multi-sourcing
Testing is organised around NTT’s Shorewise process, which allows Anglian Water to use the testing service in a flexible manner. "We need a lot of people at the beginning of the application development lifecycle, but this can cause a lot of problems from a resourcing perspective," says Wynn.
The flexible model allows Anglian Water to streamline peaks and troughs via team resourcing. "It gives us the best value from our investment because we do not pay for having people sitting around," says Wynn.
He says the testing centre of excellence is used for quality assurance at the start of a project, during the design stage. "We get an independent view to see if the development team has the right level of coverage. We are also able to pick up things the developer may not have thought about," Wynn adds.
For instance, using the Scrum agile methodology, code may be tested at the end of a three-week sprint cycle. But Wynn says programmers may only test the code they worked on, rather than the whole application. By having a quality assurance (QA) plan at the design stage of a project, Anglian Water is able to identify areas where testing may not be sufficient.
Along with its involvement in QA testing, the testing centre of excellence also maintains standards for testing and a repository of test scripts. The test centre creates a 10-page test procedure document that project managers must sign off as part of Anglian Water’s gateway review process. Wynn says that, for a project to cross a gate to the next stage in its lifecycle, project managers need to provide evidence that the quality gate process has been completed.
Standardising code quality
In 2013, NTT Data began a rigorous process lasting six months to analyse all of Anglian Water’s IT systems, creating testing methodologies and processes for the water company’s software projects.
Wynn says Anglian Water did a lot of work communicating the new processes and methodologies to Anglian Water’s outsourcing suppliers. "One of the big things people get wrong is not bedding in the process," says Wynn.
While there was a risk that some outsourcers becoming concerned over losing money by adhering to the NTT Data testing process, Wynn says it was important to get top down approval from the suppliers.
"We did not want confrontation between teams so we invited all the account managers from our key vendors to get buy in right at beginning and then worked down to project managers," he says.
Due to the employee turnover, Anglian Water also held "brown bag" lunch sessions twice a year to ensure new team members understood the test process.
Anglian Water plans to benchmark the success of the testing process and the centre of excellence in 2015. Wynn says the company conducted a TMMi (test maturity model integration) check to measure testing maturity when NTT Data first got involved. "When we have enough projects by end of 2015 we’ll do a formal model check using one of our audit teams to see where we are."
Once a project has gone through the development cycle twice, Wynn expects to achieve maximum efficiency from the methodology and test script reuse.
He wants to get the test process right so it is ready for 2015, when Anglian Water begins a major programme of software development. "We want to tweak the process to get it right in time for our major programme of work in 2015," he says.