Posts Tagged ‘quality’

About (Software) Quality

Tuesday, January 20th, 2009

When I attended the University of Leiden Software-Development was in its infancy. In 1969 just a few people were programming for the simple reason that the amount of computers was very low. It took a lot of time (many weeks), intelligence and perseverance to create a small working software-program.

At that time the effect of a software-program on other people was very low. Software-programs were used by the programmers themselves to solve their own problems.

When User-Interfaces, Databases and Telecommunication appeared it became possible to create software for Many Non-Programmers, Users. The software-systems got bigger and programmers had to cooperate with other programmers.

When the step from One-to-Many was made in the process of software-development and exploitation, Software-Quality became on very important issue.

What is Software?

A Software-program is a sequence of sentences written in a computer-language. When you speak and write you use a natural language. When you write a computer program you use an artificial, designed, language.

The difference between natural and artificial languages is small. Esperanto is a constructed language that became a natural language. Perhaps all the natural languages were constructed in the past.

Software programs are very detailed prescriptions of something a computer has to do. The specifications of a software-program are written in a natural language (Pseudo-Code, Use-Case).

To create Software we have to transform Natural Language into Structured Language. The big problem is that Natural Language is a Rich Language. It not only contains Structural components but is also contains Emotional (Values), Imaginative ((Visual) Metaphors) and Sensual Components (Facts). The most expressive human language is Speech.

In this case the Tonality of the Voice and the Body Language also contains a lot of information about the Sender. When you want to create Software you have to remove the Emotional, Imaginative and Sensual components out of Human Language.

What is Quality?

According to the International Standards Organization (ISO), Quality is “the degree to which a set of inherent characteristics fulfills requirements“. According to the ISO the quality of a software-program is the degree in which the software-coding is in agreement with its specification.

Because a specification is written in natural language, Quality has to do with the precision of the transformation of one language (the natural) to another language (the constructed).

According to Six Sigma Quality is the number of defects of an implementation of the specification of the software.

Another view on Quality is called Fitness for Use. It is this case Quality is “what the Customer wants” or “What the Customer is willing to pay for“.

If you look carefully at all the Views on Quality, the Four World Views of Will McWhinney appear.

Six Sigma is the Sensory View on Quality (Facts), ISO is the Unity View on Software (Procedures, Laws, Rules) and Fitness for Use is the Social View on Quality (Stakeholders).

The last worldview of McWhinney, the Mythic, the View of the Artist, is represented by the Aesthetical view on Quality. Something is of high quality when it is Beautiful.

The Four Perspectives of McWhinney look at something we name “Quality”. We can specify the concept “Quality” by combining the Four definitions or we can try to find out what is behind “the Four Views on Quality”.

The Architect Christopher Alexander wrote many books about Quality. Interesting enough he named the “Quality” behind the Four Perspectives the “Quality without a Name“. Later in his life he defined this Quality, the “Force of Life“.

What Happened?

In the beginning of software-development the Artists, the Mythics, created software. Creating high quality software was a craft and a real challenge. To create, a programmer had to overcome a high resistance.

The “creative” programmers solved many problems and shared their solutions. Software-development changed from an Art into a Practice. The Many Different Practices were Standardized and United into one Method. The Method made it possible for many people to “learn the trade of programming”.

When an Art turns into a Method, the Aesthetic, the Quality that Has No Name, Life Itself, disappears. The Controller, Quality Management (ISO), has tried to solve this problem and has given many names to the Quality without a Name. Many Aspects of Software Quality are now standardized and programmed into software.

But…

It is impossible to Program the Social Emotions and the Mythic Imagination.

So…………

Software developers don’t use Methods and Standards because deep within they are Artists. The big difference is that they don’t solve their own problems anymore. They solve the problems of the users that are interviewed by the designers.

And…..

The Users don’t want the Designers to tell the Programmers to create something they want to create themselves (the Not-Invented Here Syndrome). They also don’t know what the programmers, instructed by the designers will create, so they wait until the programmers are finished and tell them that they want something else.

What Went Wrong?

The first Computer, the Analytical Engine of Charles Babbage, contained four parts called the Mill (the Central Processing Unit, the Operating System), the Store (the database), the Reader, and the Printer. The Analytical Engine and his successors were based on the Concept of the Factory.

In a Factory the Users, the Workers, The Slaves, have to do what the Masters, the Programmers, tell them to do.The Scientists modeled successful programmers but they forgot to model one thing, the Context. At the time the old fashioned programming artists were active, software was made to support the programmer himself. The programmer was the User of his Own software-program.

At this moment the Factory is an “old-fashioned” concept. In the Fifties the Slaves started to transform into Individuals but the Factory-Computer and the Practices of the Old Fashioned Programmers were not abandoned.

To cope with the rising power of the Individual the old methods were adopted but the old paradigm of the Slave was not removed. The Slave became a Stakeholder but his main role is to act Emotionally. He has the power to “Like or to Dislike” or “To Buy or not to Buy”.

The big Mistake was to believe that it is possible to program Individuals.

What To Do?

The Four Worldviews of Quality Move Around Life Itself.

According to Mikhail Bakhtin Life Itself is destroyed by the Process of Coding (“A code is a deliberately established, killed context“).

When you want to make software you have to keep Life Alive.

The Paradigm-Shift you have to make is not very difficult. Individual Programmers want to make Software for Themselves so Individual Users want to Do the Same!

At this moment the Computer is not a tool to manage a factory anymore. It has become a Personal tool.

It is not very difficult to give individuals that Play the Role of Employee tools to Solve their own Problems.

When they have solved their own problems they will Share the Solutions with other users.

If this happens their activities will change from an Individual Act of Creation into a Shared Practice.

If People Share their Problems and Solutions, their Joy and their Sorrow, they Experience the Spirit,  the Force of Life, the Quality that has no Name.

LINKS

How to Analyze a Context

About the Human Measure

About the Autistic Computer

About the Worldviews of Will McWhinney

About Christopher Alexander

About Computer Languages

About Mikhail Bahtin

About Ontologies

About Model Driven Software Development

About the Illusion of Cooperation

About the Analytic Engine of Charles Babbage

About the Analytic Engine of Thomas Fowler

About Human Scale Tools

About Old-Fashioned Programming

About the Infinite Game

Thursday, February 7th, 2008

In the Western World many people play the Analytic Game. The Analytical Game resolves the conflict between the Facts of the Senses and the  Models, Rules and Norms of the Human Prediction System, the Expectation (often called Thinking).

The complementary Game is what Will McWhinney and his friend Burkhard Sievers, called the Game that Creates New Games.

James P. Carse (A Vision of Life as Play and Possibility) calls this game the Infinite Game. Perhaps a much better name would be the Game of Life.

Life is a Journey

Infinite players play with rules and boundaries. They include them as part of their playing. They aren’t taking them serious, and they can never be trapped by them, because they use rules and boundaries to play with.

The players are always busy to continue the Game of Life by creating new Games.

They love to play but the aim is not to win because winning ends the game.

The Infinite Game is a Game where the Imagination and the Emotions are playing their roles. The Emotions e-valua-te and the Imagination creates.

A very important distinction between the two Games is Context. The Analytic Game is “above the Context”.

It uses the Abstractions of Maps and Diagrams. When you use a map to travel you will never see the real territory.

The Game of Life is “in the Context”.  In this game Life is a Journey. You will meet people you will never meet when your life is completely planned and you will see places nobody has seen before.

Life Above the Context is dull and predictable.

Life In the Context is an Adventure and Full of Risks.

Evaluation is a Context-Dependent Process. It takes into account that every Situation is unique and needs a unique approach.

The Game of Life is an Improvisation

The Game of Life is about Improvisation. You listen to the Rythm and the central Theme and start your own variation that is “in line with the flow”.

Sometimes you are the person who starts a new rhythm and a new theme and others follow you. You are there at the right time and the right moment.

Timing is essential in the Game of Life.

The Game of Life is about the Tao and Synchronicity. Things happen by accident but the events are meaningful. They are created by the Imagination.

The Game of Life is about Magic. You are the creator of your own reality and your creation bounces back on you. Reality produces signs but the signs are the result of your own creation.

Your personal Magic becomes much stronger when you have a vision and you believe in this vision.

The Game of Life is about belief and not about truth. You know there is no eternal truth because everything changes but behind the changes is an emerging pattern.

The pattern is chaotic and structured. It arise out of the Whole and moves back into the Whole.

The Game of Life is the game of AND. Life is a contradiction, an eternal conflict, a dilemma because meaning is created by “making the difference‘. It is the Comm-Union of Diversity.

The Game of Life is about Spirit (Imagination) and Soul (Emotion).

The Game of Life is Immortal. When the Fire of the compassion of your soul and the Light of your spirit becomes One with the stream of Creation  you will live for ever.

The Game of Life is eternal and new Games are created all the time.

The Games are not competitive but collaborative.

The Game is fueled by Ideas and Ideas are abundant. Some of them stay for a long time. Other ideas just arise and move away like clouds in the Wind.

The Game is Life is a Field. It contains (Standing) Waves and Waves merge without any problem.

dance

The Game of Life is the Game of Music, Dance and Poetry. It does not force. It gives you the freedom of your own interpretation, your own mood.

The Game of Life is a Spiraling Spiral.

The Game of Life is about Values and Quality.

Your personal Values help you to evaluate and Quality is what you want to accomplish.

Quality is the complement of Quantity.

It is something the Numbers and the Names are unable to Express.

LINKS

About the theories of Will McWhinny

About Buckert Sievert

About the Infinite Game of James P. Carse

About Boundaries

About Context

About Adventure

About Synchronicity

About Collaboration

About Fields

About (Standing) Waves

About Music

About Poetry

About the Spiraling Spiral

About Values and Quality