Management, Posts

Checklists: where the Disciplined Outperforms the Genius.

Checklists are a simple, powerful, yet often ignored, business tool. They provide a reliable and quick shortcut that improves our performance in the task at hand with less mental effort. Whether flying a plane, operating a surgery, troubleshooting a system, or making big decisions, checklists are always useful.

This post gives the reasons why checklists are paramount in some situations and emphasizes their importance in the process of decision-making.

What is a Checklist?

A checklist is a pre-defined standard operating procedure to follow when performing a specific task. It is a proven business tool that improves performance and minimizes human errors and mental effort.

How to build Checklists?

Both knowledge and experience contribute to checklist definition, in a closed feedback-loop fashion, where the checklist definition contributes to the knowledge and experience too.

Build_Checklist

Checklists are useful for frequent routines, which reduces the cognitive effort needed to perform them. Nevertheless, we can use them in any other task, profession or industry.

Why do we need Checklists?

Image result for checklist manifestoSimply put, we need to use checklists to perform some tasks because we cannot be sure we have considered all the details of the task at hand. Our brains have blind spots. Sometimes, we overlook even the most basic fact of the problem, which may lead in some circumstances to catastrophic results. In a hospital, for example, a nurse may treat the wrong patient if the name is not verified. Worse, a surgeon may operate the wrong patient! Yes, it happened and may happen again even for the highest skilled nurse and surgeon.

Here are some reasons why we are often unable to consider all the facets of the problem at hand:

  • We simply forget: as human beings, we are prone to forgetting. This is why we often write things down in the form of to-do lists and checklists.
  • Complexity: as human knowledge and technology grow in complexity, so does our professional tasks (finance, software design, hardware design, etc.). The memory alone does not help.
  • Limited attention: pay attention to something, and you’re almost sure you are missing something else. It is a scientific fact that our conscious mind can handle only one object at a time, and leaves rest for the unconscious autopilot. That is why we may forget the pizza in the oven if we engage in an interesting discussion. This is also the principal cause of car accidents, medical errors, etc.
  • Expertise: an increasing number of professions require super-specialized experts. A domain expert is prone to both complexity and overconfidence and may overlook basic facts.
  • Cognitive biases: our cognitive biases, such as the confirmation bias, the planning fallacy, the availability heuristic, etc. are the major cause of errors.

Continue reading “Checklists: where the Disciplined Outperforms the Genius.”

Engineering, Management, Posts

What is Agile Software Development ?

Software development is a tough process. It starts off by identifying and understanding what the user/client needs, and ends by deploying a solution that may, or may not, satisfy the user. During this journey, a group of Homo sapiens work together, organize teams, conceive plans, define tasks, rules and tools. They spend time and effort specifying, designing, programming, testing, documenting, bug fixing, etc. and hoping that they will deliver on time.

Some of those sapiens groups outperform their peers, and manage to provide high quality solutions on time. Other groups fail to deliver any solution, and waste their effort, time and resources in vain. Successful software developers (at least some of them) decided to help the others with their skills, by teaching them how they are doing Software development. This is why, on February 11th – 13th, 2001, at The Lodge at Snowbird ski resort in the Wasatch mountains of Utah, USA, seventeen Homo sapiens met to talk, ski, relax, and try to find common ground—and of course, to eat. What emerged was the Agile Software Development Manifesto.

Agile is a Software development mindset that embraces change. It is neither a process nor a model, but rather a set of values and principles. It is a flexible approach for Software development, that helps organizations to adapt fast to the market change.

Agile_Values

Processes and documentation are important, but not the main concern in Agile mindset.

Continue reading “What is Agile Software Development ?”