veryard projects - innovation for demanding change

quality notions

notion finder

home page contact us
notion finderother notions
software quality page
on this page

[excellence] [maturity] [quality] [quality assurance, QA] [six sigma] [software process improvement, SPI]


To ex-cel means to perform out-of-the-box. (No reference to Microsoft intended here.)

In a diverse organization, some units (or people or local processes or practices) will stand out as exceptional. (In some organizations, it's always the same ones that excel; in others it varies.)

To promote excellence across the organization:

  1. Reward local excellence
  2. Encourage/enable other units to emulate excellence.
  3. Empower local units to find out-of-the-box ways of excelling.

  4. (This entails some risk, some tolerance of failure.)
  5. Expand opportunity horizons and performance standards.
Veryard Project Papers Business Change and Process Improvement (pdf)

Business assessment of IT

Internet Links EFQM Homepage

Malcolm Baldrige National Quality Award


Maturity in organizations

Scroll down for maturity in products and technologies.

It is common in the software process world to contrast mature and immature organizations.

immature mature
  • Process undefined or ignored
  • Reliance on individual heroics
Plans abandoned or compromised
  • functionality
  • delivery schedules
  • quality assurance activities 
No basis for objective judgement 
Managed: organization-wide 
  • Process defined and managed
  • Work activities conform to defined / planned process
  • Clear roles & responsibilities
  • Accurate communications 
  • Performance and quality are monitored and analysed 
  • Schedules and budgets are based on past performance
  • Plans are generally achieved 

Is maturity a good thing? Many people and organizations seem to regard maturity with a degree of ambivalence. Does maturity connote reliability, resistance to change, lack of excitement? Does maturity always involve sacrificing excitement and energy?

Where would you place Microsoft on the maturity scale?

Maturity in products and technologies

Just as it has become common to speak of the maturity of an organization, independently of the technology used by that organization, it has also become common to speak of the maturity of a given technology or technological product, independently of the usage of that technology by organizations.

Maturity is relevant to the adoption of technology. Many people say that they are waiting for a given technology to be mature. What might this mean, and how would they know? What would trigger adoption - or would the late adopters merely find another excuse for delay?

Product maturity could be defined in several ways:
(i) in terms of purely technical characteristics, including such quality characteristics as reliability and ease-of-use.
(ii) in terms of the convergence and stability of successive product versions
(iii) in terms of the elapsed time since launch, and the number of users, the achievement of some ‘critical mass’
(iv) as an oblique way of referring to the collective maturity of the users of that technology in its usage

Some software artefacts appear to have an uncontrolled accumulation of product features, verging on the Baroque.

Professor Manny Lehman uses metrics to analyse software maintenance and software evolution. He characterizes some software artefacts as out-of-control, because of such factors as the rate-of-change of product features, and the growth in size and complexity.

From this perspective, maturity would correspond to a degree of stability, bringing software maintenance and software evolution back under 'proper' management control.

For many technologies, the existence of a critical mass of successful users increases the value of the technology to each user.  This is obviously true for communication technologies, such as EDI and fax.  It is also true (although less obviously so) for a much broader range of technologies, largely because of the phenomenon of learning by using: increasing the availability of knowledge, skills and collateral products. This is an entirely different notion of maturity.

Where would you place Microsoft Word on the maturity scale?


There are many definitions of quality. On this page, we discuss two contrasting definitions - the ISO definition and the Bill Gates definition.

ISO definition

ISO 8402 is a document that defines many of the important terms used in other ISO standards, including ISO 9000.
ISO 8402 Comment
The totality of characteristics ... This entails a holistic notion of quality. Among other things, it warns us against one-sided or unbalanced assessments of quality.
... of an entity ... This implies that a wide variety of subjects and objects may possess quality.

The definition certainly applies to technological entities such as products and processes. But it can also apply to social entities, such as organizations, companies, or even people.

... that bear on its ability to satisfy ... This implies an attention to relevant characteristics. Technical elegance or other subjective characteristics are only relevant if they can be linked to something else.

The quality of a solution, therefore, can be equated with the match between means and ends.

... stated or implied needs. This implies a focus on the customer or other stakeholder possessing needs.

It also entails a partnership notion of quality. It isn't good enough just to conform to the contract or the job description.

Vitruvius/Gates definition

When teaching quality courses, I can always stimulate a discussion by mentioning Microsoft.

Bill Gates uses an ancient definition of quality, derived from Vitruvius. (I found the quote in a book by Tom Peters.)

Vitruvius Gates Gloss
Firmness Consistency
Commodity Be worthy of the user’s time and effort in understanding it.
Delight Engagement, fun
Veryard Project Papers The paradox of demanding solutions

Design Pitfalls as Negative Patterns

Software Component Quality

Quality and Eastern Thought The relevance of Confucius to modern quality thinking

Quality and Desire

Internet Links Quality in ComputingThere are loads of references to quality on the Internet. This is a good starting point.

Quality Assurance (QA)

Quality assurance is a process of discovery.

Quality assurance is defined as 'all the planned and systematic activities implemented within the quality system, and
demonstrated as needed, to provide adequate confidence that an entity will fulfil requirements for quality' [ISO 8402,
1994]. Confidence is a form of knowledge.  Thus quality assurance provides knowledge about the quality of entities.

In common with most other attempts to gain knowledge, quality assurance cannot avoid affecting the entities about which it attempts to gain knowledge. Any attempt to discover the degree of quality of an entity may bring about an improvement in the quality of that entity. Indeed, such improvement is often seen as the primary justification of quality assurance.

Conversely, any prediction of the quality of an entity should take into account the extent of quality assurance that may be
applicable. In particular, if a software developer has access to quality assurance mechanisms that make the emerging quality of a software artefact visible during the development process (other conditions being favourable), this should contribute to a high degree of quality in the developed artefact.

Thus quality assurance is a reflexive process, which risks inaccuracy if it ignores its own effects.

Veryard Project Papers Quality and Desire

Quality Assurance of Distributed Software Components

Six Sigma

Six Sigma is a statistical measure of the reliability of a process.  By extension, the term is also used to refer to a statistical approach to process control and improvement.

Six Sigma can be used when a process is repeated millions of times within a manageable period. In an appropriate context, it can be extremely powerful and effective. However, it is widely misunderstood and inappropriately used.

Veryard Project Papers Six Sigma

Software Process Improvement (SPI)

The software process is concerned with the development, installation, management and evolution of software artefacts. One way to improve the quality of these artefacts is to improve the software process.

Software processes can be improved in two main ways:

Software process improvement is often carried out against standard models or benchmarks, such as those provided by ISO-SPICE or the Software Engineering Institute's Capability Maturity Model for Software.
Veryard Project Papers Software Process Improvement
Internet Links ISO-SPICE

The Software Engineering Institute



home page

contact us

veryard projects - innovation for demanding change
in asssociation with 
This page last updated on November 10th, 2001
Copyright © 1999-2001 Veryard Projects Ltd