A Bug is Just an Unwritten Test That Failed

This is how Peter Antman in his short eBook Stop The Line describes a bug.

It happened that I’ve read his book a few years ago, but opening it again these days, I found it as confirmation of the efforts doing lately in my organization. Peter outlines the necessity of short feedback loops, testing code as soon as it is written and verifying it as frequently as possible.

The book presents the roots of the automation process started a hundred years ago by Sakichi Toyoda- years before Toyota became an automotive company. Automation with human touch was the aim.

The aim to build quality in is the core of the famous Toyota Production System. It is called Jidoka (autonomation), i.e. automation with a human touch, which is a process of bringing the human detection in discovering quality problems when
they appear. Every worker in his reach has an alarm button (called andon) to signal any abnormality, problem or a quality issue. Such an act may bring the whole production to stop – literary.

jidoka andon

Now, compare this to the process of software creation. We have a number of tools to speed up the coding and testing, like syntax and semantics instant checkers, automatic build, automatic tests… continuous integration (CI).
How often do we stop all developers when build is broken and CI tests fail?
A CI failure is not really a halt in the process, it is rather a call for an action, a request to investigate what went wrong and WHY. With the CI, we have a mechanism to create the CULTURE (see the post about culture) of  learning and thinking about quality.
As Peter says:

If you – as a developer, as a manager or as a company – are not prepared to change the culture and, at least initially, pay the price of stopping the work and start chasing defects, I would question the value of having automated continuous integration tests. It’s even worse than that. If you have a continuous integration environment that is frequently (or always) red and you don’t stop the line, the system will decline over time. Each instance that the line
is not stopped will result in a push for producing more bugs.

3dhologramPerhaps in the future we will invent a new paradigm of creating faults-free software when we just specify our wishes, or our thoughts and a 3D hologram will present the solution/product in front of us.
Hmm, not a bad idea – such a pity I shared it publicly…

However, till then, try to follow the practice which is holding now for a hundred years… and gives results. Give me your thought on this – I will HIGHLY appreciate them!

Polygraph vs. Agile

After the jogging session with my wife today, we stopped at the nice spot near the lake for a freshly squeezed orange juice to regain some energy. The inevitable routine is to check the app on my iPhone how running went. Not particularly well today. But the weather was perfect for a workout.

Lie-Detector-TestTaking the moments of muscle relax, I grabbed the newspapers (so unusual act in the era of new mobile technology). Skimming through the pages, I stopped at the article writing about the company that was performing the polygraph testing (a lie detector) on its employees. The purpose of the testing was to check the employees’ loyalty and how much  are they responsible in handling the company’s properties. The story happens in Croatia and the whole article can be found here.

After the first shock (yeah, I was deeply surprised), I tried to analyse the leadership “performance” in this case and evaluate it with the values we promote in the agile community.

Starting with LEGAL law – I surfed the net to find some sources. In some countries employer use of lie detector tests is limited by the Employee Polygraph Protection Act. It seems – not in this case.

TRUST – more than obvious, trust was not built between the management and workers. And, to my understanding with a number of assumptions I could unfold, there is a strong CULTURE of control – typical for Taylorism in the beginning of the 20th century where high level of managerial control over employee work practices was existed. The command and control culture (see the post about culture) is usually leftover from manufacturing practices in the last century and inability of management to learn and consequently to engage and motivate people.

TRANSPARENCY – if there is a need to check and control employees on polygraph, it means that the whole system is obscure, where information need to be extracted and verified in order to make decisions on a higher level. It further means, that there is a lack of transparency and obviousness which is a prerequisite for every successful and efficient process. Even further, it means that the HIRING process in the company is inconsistent, non-existing or wrong. Why would you hire incompetent people or people you don’t trust?

So, the whole GOVERNANCE is suffering because of the bunch of wasteful management activities being focused on tracking people, instead of creating the environment of visual management. The good example of visual management origins from the concept of JIDOKA – which is sometimes called autonomation, i.e. automation with human touch/intelligence. It gives machines the ability to distinguish good parts from bad autonomously, without being monitored by human. This eliminates the need for people to continuously watch machines. The same principle is valid for the relationship between management and employees. According to Daniel Pink and his great book “Drive: The Surprising Truth About What Motivates Us“, the things that creates MOTIVATION are purpose, autonomy, mastery. In this case, it seems that it was easier for management to INVEST a couple of thousand bucks into the polygraph machine, rather than build the high performing environment highlighting the real purpose, educating people and giving them empowerment to perform. It’s an investment shortcut… hm!

The management should go to the polygraph test in this case, to check whether they care for the best company’s properties – people.  No polygraph is needed to detect the lack of contemporary management practices and basics of human psychology to lead 21st century workplace.

Here is the illustration showing distinction between management and leadership:

Managers Leaders fire

How Agile Solves Awkwardness

Not graceful; ungainly
Not dexterous; clumsy
Difficult to handle or manage
Difficult to effect; uncomfortable
Marked by or causing embarrassment or discomfort

These are the terms used by The Free Dictionary to describe the word awkwardness.

The fair part of our energy happens to waste on handling of different “hard” personalities and unwanted behaviors.
How do we recognize them? How do we deal with them?
How can we save the energy wasted there?

Marie G. McIntyre Ph.D. at http://www.yourofficecoach.com list seven types of personalities that, how she describes – drive managers crazy. The description is given on how to recognize them and how to deal with them.  “Driving managers crazy” is actually a side effect comparing to the negative impact on business culture and consequently the business results.

Here are the 7 awkwards:

Slackers – escape from work due to different reasons.

Space Cadets – abstract thinkers who are more focused on ideas and possibilities than on facts and action steps.

Power Grabbers – have a high need for control and don’t want anyone directing their actions.

Loners – focusing on solitary pursuits in settings where they can concentrate and are seldom interrupted.

Drama Queens (or Kings) – the goal is to get attention. They are rather insecure and only feel important when being in focus.

Challengers – high need for control. When they feel that others are attempting to constrain or direct their behavior, they become rebellious.

Clingers – a strong need for safety. The primary emotional driver is fear: fear of making mistakes, fear of losing support, fear of disapproval, fear of being disliked.

As mentioned, they all have in common being the energy drain for others around.

I was thinking about this behavioral model from dr. McIntyre, and analyzed some cases from own experience, but instead of defining the strategy and action for myself, I tried to realize, what is missing in our environment and how agile may help.

Agile fosters team work based on visibility and transparency. It visualizes work to be done through the product backlog, and iteration backlog. With practice of short daily status meetings, everyone’s progress is visible as well. This uncovers (low) contribution of Slackers and expose Loners to the rest of the team. It also prevents Drama Queens not to jeopardize time of others, since a daily meeting is short where everyone is granted a piece of “air-time”.

Agile is focused to deliver as highest value as possible. Therefore a strong mechanism to prioritize exists. This helps Space Cadets to stay away from wandering around, but to focus on actions, and also to Slackers who have less arguments and excuses for doing “something” else.

Agile principles and methodology (e.g. Scrum framework) tends to have very few prescribed roles and artifacts, but they are clear. The clear roles with a clear working agreement founded on mutual team members respect and trust, channel Power Grabbers and Challengers’ behavior. If they still make troubles within a team with their desire to control, the team would do better without them. To recall – Agile is the culture of Collaboration and cultivation, not control (see the Culture post).

One of the agile foundations is orientation to people (Individuals and interactions over processes and tools). This fosters trust, respect and tolerance, finding the gaps in process and structures, rather than pointing a finger around. It creates environment where it’s safe to fail, which helps Clingers to reduce their inner fear and helps them to open up and dare to do things.

This is summarized in the following table:

Awkwards

There are numerous further agile practices which can help us to deal with unwanted behaviors and awkward persons. It seems that this is what are they actually invented for.