What does ‘quality’ really mean in the context of software delivery?
No-one working in software development should underestimate the importance of building in quality into your delivery processes. But what do we actually mean by ‘quality’? EventMAP’s Chris Thornhill discusses.
Quality is often a misunderstood concept that’s usually considered to be a boring subject – but if you are trying to grow your business it is strategically important. Quality is often used as an adjective to state whether a product or service is good. You often hear of a watch being described as a ‘quality watch’ to encourage you to buy it, but is it really a good watch? The expectations of people who would buy a ‘quality watch’ will vary, so how do you decide whether it is a quality watch or just a watch with a glossy veneer?
Brand is a key factor in almost all purchasing decisions: would you buy a watch with an unknown brand name? Generally, people rely on a brand name to indicate the level of quality (eg. Rolex versus Timex), and while the two watches will perform the same core function – telling the time – one costs far more than the other. So, quality costs more? Imagine if they cost the same, which one would you choose?
Rolex watches are very stylish, are often gold plated or diamond-studded, are built to last with high specification materials and tolerances and jewelled bearings, so if the watches were the same price you would probably choose the Rolex as it would better meet your expectations of a ‘quality watch’. Hence, it’s not quality that costs, it is meeting expectations that can be expensive.
If you work in IT, customers express their expectations as a series of requirements and as a supplier, you deliver and are measured against these requirements. If you over-deliver or exceed expectations, it could cost you more than expected – which could impact on your profit. If you underdeliver it could impact your ability to gain any repeat business and affect your reputation. So it’s extremely important to control your delivery and any deviations to the requirements are managed through a change control process.
Quality is a mindset and a set of tools, techniques, and processes that ensure both a robust delivery and that customer expectations are met. Importantly, quality is not just testing/inspecting – it should permeate throughout your delivery processes.
What is Quality?
The ability to deliver a product or service that has the ability to perform satisfactorily and is suitable for its intended purpose.
What is Quality Assurance?
A process-based approach to ensure the processes, tools and methodology associated with the production of the final deliverables/products are defect free.
What is Quality Control?
Quality control is concerned with the activities and measures taken to ensure the final product has fully satisfied the user requirements of the product or service.
What is a Quality Management System?
Simply, it’s a collection of business processes focused on satisfying customer needs.
So… quality can save you money?
Poor quality will cost you money in rework and loss of reputation. Hence, quality can actually save you money by reducing non-conformities. By building in quality into your delivery it helps you get it right first time more often and helps you reach and maintain standards. If you build quality into you process and procedures it becomes a habit.
The matrix above explains the importance of a good quality regime, and ideally you want to be operating in the top right-hand quadrant where you have a good working relationship with your client and you can help them to be successful, which in turn makes you successful, improves your reputation and helps ensure repeat business.
If you find you are working in the top left quadrant then you need to improve your quality assurance processes or techniques to reduce mistakes or bugs creeping into the product. In IT this may be done by reconsidering the level or type of testing that you are using, or reducing the software built from scratch by using well established software library routines that are highly robust.
If you are working in the bottom right quadrant you need to improve your quality control processes. Whilst a client may tolerate a level of defects (top left), generally as they can see progress, they will quickly lose interest in you as a supplier if they are not seeing the right things being delivered. Areas to consider are how your requirements are being captured and articulated, and how those requirements are being managed – is your delivery team straying off or embellishing (gold plating) requirements? Alternatively, are you allowing uncontrolled changes from the customer side, distracting you from achieving the real objectives (scope creep).
If you find you are working in the bottom left, then in reality you often build up a lot of technical debt in your product or service, and this indicates that the relationship with your client is not healthy i.e. the client puts a lot of pressure on you to deliver quickly, etc. Being open and honest with the client on what is achievable and explaining the level of risk of working in this quadrant will help to protect your reputation and may in fact help to build a better relationship with the client.
EventMAP’s Quality Strategy
Harold F. Dodge, one of the principal architects of the science of statistical quality control, once said, “You cannot inspect quality into a product… Great companies build quality in from the start and maintain that quality…”
EventMAP has in place a quality management system and has already successfully gained ISO9001 accreditation. However, we are not sitting on our laurels as we have further embarked on a quality strategy to embed quality into every aspect of our culture.
We have developed specific strategies for each stage a piece of work passes through i.e. initiation, requirements gathering, design, build, test, deploy, manage to improve quality each area. Across our organisation we strive to use a common set of best practices which are baked them into our team culture so that our delivery is robust, but nevertheless we have adopted a continuous improvement mindset to ensure customer satisfaction and expectations are maintained.
Currently, we track and monitor quality and report on it using health-checks and use a Kanban reporting dashboard to ensure all work is highly visible. This means that issues are identified early, and corrective actions are taken to quickly resolve them before they become a more costly problem further down the line. Identifying and addressing problems early is another way to reduce cost as the later a defect is found in the work or product life-cycle then the more expensive it is to fix.
On a final thought to take away, a large number of IT projects fail to meet their business outcomes before they run out of time and/or budget (the figure varies, but around 68%), and failure to embrace quality (both quality assurance and quality control) is one of the major contributing factors.
Chris Thornhill is EventMAP’s Portfolio Manager and has successfully worked in project management for around 20 years for organisations such as the University of Cambridge and HP. He’s spent the last four years focusing on problems in space utilisation in room booking and timetabling.