As the world becomes more and more dependent on software, the need for quality is apparent. Building that quality, though, seems to remain elusive for many organisations, as can be seen in the high turnover rate in software applications (particularly mobile applications) and the general dissatisfaction of users.
The usage of products is also expanding into areas beyond the original intention, in some cases, into the safety-critical market. Quality requirements continue to expand while quality practices in software development are largely ignored or minimised in the rush to meet market demand.
With the wider application and expanded user base, the demand for software that meets the needs of the varying users becomes harder to predict. Who are the users? What do they really need? Does usability matter? Performance? Reliability? In general, the safe assumption is that all of these characteristics are important, but nothing is more important than ensuring that the software does what it is intended to do, accurately, correctly and consistently.
But what about those market needs? Aggressive timelines? Pressure from competitors? The only way to deal with all the requirements, and to meet the necessary schedules, is to build quality products right from the start. If a product doesn’t have quality built in, it’s not going to meet needs, be usable or perform reliably or accurately.
Focus on Quality
Quality is key in developing, delivering and maintaining software the world needs and will demand. But what does that mean?
- Developing software with quality allows a company to meet timelines, produce a product that somebody actually wants, and get features implemented within schedule and budget.
- Delivering quality software allows customers to install the new or updated product and be up and running quickly and happily. User struggles with installation or updates will often result in a product being discarded.
- Maintaining software provides a growth path, both by allowing existing customers to acquire new features, but also to improve the product’s reputation. If the software is easily discarded, there’s no guarantee that customers will come back later.
If quality is built in, required fixes should be minimised. This lets an organisation concentrate on adding new features and improving competitive advantages rather than holding back the flood of issues and complaints.
A Challenging Prospect
Projects have to be effectively managed with quality factors in mind, but it’s not easy to do that in an environment that demands more features and lower costs and faster time to market. The old joke is that if you want to maintain quality, you can only pick two of the other options, e.g. if you want more features and faster time to market, then it’s going to cost a lot more. Sadly, quality is often the option that is de-prioritised, resulting in fast time to market, feature-rich products, low cost development, but low quality and a maintenance nightmare.
The market is getting smarter. There is less tolerance for low quality. In fact, market demand is usually for more features, less costs, and faster but with high quality. Meet these criteria and the product is a success. Fail in any one area and it’s a failure – potentially an expensive one.
The good news is if high quality is built in from the start, that is the best way to add more features for less cost and get it out faster. The trick is to have that quality focus from the beginning.
I like to think of successful projects being a combination of quality steps and quality focus. In this case, quality steps mean we’re thinking about quality in every step we take. The quality focus for the overall project is what will lead to a successful project. If we don’t have that focus throughout, we’re not going to be successful. We’ll get something out the door, but it may be a maintenance nightmare, may be missing features, will run over the schedule or budget.
If we really want to be successful, and pull it into the acceptable market time frame, then we need to be thinking quality every step of the way.
8 Steps to Follow
When it comes to the “how” of delivering quality, I’ve broken it down to eight steps to follow. These are:
- Pick the right lifecycle
- Hold vendors accountable
- Understand and track the cost of quality
- Don’t jump to code
- Set testing expectations and verify they are achieved
- Plan for and execute the right testing
- Conduct an effective UAT
- Reward for quality, not schedule
I covered these in an earlier video (see below), but in essence you need to do all eight or you will have a weakness somewhere that is likely to affect your ability to meet your quality goals.
Guiding Toward Quality
To summarise, quality is key. It is not a new concept, but it is becoming more important today because there is more demand (both stated and implied) for it in the market.
Since quality is becoming so much more important, building quality from the start will help cut costs, shorten schedules, and lead to happier customers. That’s what will enable an organisation to retain its customers, which is important because finding new ones always requires more time and effort.
The people who are guiding the project need to guide the quality. They need to insist on quality and enforce quality standards, and make sure it is delivered. In order to ensure you are getting what you’re paying for, you must have ways evaluating the quality of each deliverable.
For example, people guiding projects need to insist on issues being fixed when the quality isn’t good enough. If the criteria are not being met, immediate fixes and process changes are required to return to the quality standard. It’s not a popular stance to take, but it has to happen if a quality product will be created and delivered.
Quality is key if we’re trying to build viable products for the current and future markets. It has to be planned, built, checked and maintained at every step of the development process. Only with quality products can an organisation keep up with market demands, maintain its market share, and expand into new opportunities.
Think of it as a way of maintaining sanity. Build it right, right from the start.