Competition for business and budgets appears to be greater than ever. Doing ‘more for less’ is a common request from customers and proving services have been delivered as a business benefit can be difficult for suppliers. Even for business-critical systems (including safety-critical and mission-critical systems), suppliers are under pressure to use techniques and tools that will deliver a better solution for lower lifetime costs, whilst not compromising on quality standards which might be catastrophic for a business’ bottom line and severely affect safety.
So ‘we test what we have developed’, right? ‘We use our own teams of test engineers to ensure that what is built by our engineering teams meets the requirements we have been contracted to provide, abides by the necessary industry regulations and satisfies those non-functional requirements too. This is the guarantee to the customer that software or systems are dependable.’
Of course, with this arrangement, a leap of faith is then required by the customer to accept that their new business-critical system is good enough to go live. They have to trust that their contractor has managed the project in a way where they have not put pressure on their own internal teams to test leniently or cut corners on acceptance in any way. They need to believe that their contractor’s test team is aligned with their interests rather than their own and the company that essentially directs them and pays their wages.
The fact is that most internal company test engineers I have worked with are really professional and DO have their customer’s interests at heart. However, they are also usually under resourced and put under a lot of pressure by their project managers to deliver their test phase in ever-reduced time periods (as development phases invariably take longer than expected), with less than ideal test platforms and with test teams often filled with junior development resources (some of whom might have even written the code being tested) rather than experienced test engineers.
Indeed, getting testing and quality wrong alongside the use of inappropriate, unskilled resources is quoted time and time again in countless ‘why IT projects fail’ type reports. A McKinsey report along these lines highlights rigorous quality checks and securing critical, experienced talent as central to IT projects’ success in overcoming these challenges.
So how can we provide the additional confidence that the software and systems solutions we offer for live use will not fail because the job of executing the tests has been given to an internal test team?
By using an independent, specialist company to do the testing and quality assessment function (or even part of it) collaboratively with your development team will indicate to the customer that you are serious about quality and test assurance. It shows a commitment to resources that have the specialist verification and validation, RAMS assessment, fault-injection and robustness testing, formal verification, safety-case preparation and systems-certification support experience to give the best possible guarantee of solution dependability, resilience and quality.
It also crucially shows that you have a clear separation between the development and test teams which empowers the test team with that crucial independence. This should take away the common temptation to cut corners in test activities, which will mean more faults and bugs will be picked up early on, when it is actually much cheaper and easier to fix them. A customer’s business is exposed to less risk post ‘go live’ too, and that protects your hard earned relationship with them as a supplier.
Independent test companies can also help you throughout the project lifecycle too. Right from the point of requirements analysis, independent validation can be used to ensure a customer’s requirements and system designs are likely to be successful or meet industry regulations that your team may not be 100% familiar with. Independent test companies can work in parallel with your development teams to test and verify, build use cases and offer assistance on how best to implement the system to meet industry regulations and customer-specific policies. And you don’t have to commit to independent suppliers for the duration of the project lifecycle – they can be contracted flexibly, so you can use their expertise exactly when and where you need it, which will be cheaper for the project too.
Flexible, dedicated and experienced resources, reduced project risk, customer confidence and cheaper delivery costs. If these are things you are interested in learning more about, then please get in touch.
Safety-Critical Validation - White Paper
Embedded software is now being used to perform an increasing number of safety-critical functions in a range of industries. As software complexity and use increases, the chance of error also increases, so software systems deployed in safety-critical applications must satisfy rigorous development and verification standards. Learn more in this latest document from our experts.