Is there a precise definition of "egoless programming" that could be expanded to a generic Professional Behaviour of "egoless practice"?
Johana Rothman is quoted by Jeff Atwood, presumably from a book, as saying:
Egoless programming occurs when a technical peer group uses frequent and often peer reviews to find defects in software under development. The objective is for everyone to find defects, including the author, not to prove the work product has no defects. [my italics]When asked for a modern definition, Jerry pointed at Jeff's Ten Commandments of Egoless Programming.
The field of Reliability Engineering is aimed at creating near-Perfect (i.e. highly reliable) operation from imperfect parts and sub-systems. This approach can work very well, even when maintenance and fixes can't be done: the NASA Mars Rovers, Spirit and Opportunity, exceeded their 90-day design life by around 15 times, working from 2004-2010.
A working definition (unfortunately, of many parts):
- Egoless Practice is
- a Professional Behaviour
- designed to
- routinely and reliably achieve
- as Perfect as Possible outcomes
- for the Client or Service Recipient
- by knowledgable and skilful
- supported by systems, processes and procedures
- that actively monitor, examine and report performances,
- for both failures and successes,
- to systematically and without-backsliding improve
- Quality, Performance and Process
- of Individuals, Teams and Organisations.
To Err is Human isn't a syllogism, it is an Iron-Clad Law.
It's the basis of the unending, relentless Professional Challenge:
- we're not machines,
- we cannot ever exactly repeat a process, not even twice, let alone the many times every day needed in Professional Practice, and
- our Minds and Bodies are always letting us down or tricking us in some way.
Simply stated: We are constantly making mistakes, inadvertently or not.
As people become older and wiser, they routinely report the veracity of "The more you Know, the more you understand how little you Know".
All Quality and Performance Improvement is predicated on engagement and care-and-concern for the people affected and the outcomes.
In the Quality Improvement approach, led by Dr Deming, the Fundamental Attribution Error, that Mistakes are due to people who have been inattentive, incompetent or negligent (or worse), is taught as a leading to The Blame Cycle, not corrective action.
Deming's Quality Improvement methodology/process is based on the tenet:
People, even the most competent and with the best will in the world, will make mistakes. The system is responsible for preventing or catching these incipient Errors before they turn into an Error, Defect or Accident.Dunning-Kruger effect: "unskilled and unaware of it" - doesn't go far enough. American Idol demonstrates, infinite self-belief without objective base: "I'm The Greatest, the Judges don't know anything!".
Psych Effects: We see what we expect to see, and cannot see things outside our 'range'.
Human Minds are "editing machines" par excellence, we all have very efficient perceptual filters, part of our competitive advantage over other species. We've learnt to leverage by many times the compute capacity we have by ignoring the unimportant, predicting what we expect to see and quickly generically classifying actions, words and behaviours.
Our brains silently select, delete, add and change what we sense in real-time and also from our memories.
It a necessary outcome of the processing problem: Our brains don't have the compute capacity to process (receive, recognise, analyse, classify, predict, react) the full input streams from our senses.
To reduce the load, we increase our focus and ignore everything else, even shutting down irrelevant senses and heightening those that are useful. This shows most clearly in extreme circumstances like accidents ("everything slowed down") or in a "killing zone" (those who can see, experience 'tunnel vision' of the danger, or their hearing is much heightened).
Our brains "edit" what our senses provide to avoid being overwhelmed and being able to react in real-time. Our brains develop models of the world, the objects and actors in it and of ourselves, then
Hence the immutable law of Quality: You cannot check your own work, you'll only see what you expect to see, not what's 'there'.
This is more than just "proof-readning".
Virginia Satir pointed out that the two most important faculties for perfect communication were denied us:
- We cannot 'see' inside anothers' head. We can't know what they are thinking and feeling, only infer it, and
- We can't see/experience ourselves as others see/experience us. (Which is why teaching communications skills with video/playback is a radical advance in the last 50 years.)