/ #Agile 

Debugging is Evil: Do it less

Debugging is Evil

Debugging is evil.  Debugging is not coding.

Coding is a creative flow.  Coding is bringing together objects and methods and classes to represent and solve problems for your users.  Coding adds value, solving problems for your users is useful.

Debugging is not coding.  Debugging is an analytical process.  Debugging adds no value in and of itself.  The very best you can do with debugging is to get it over quickly so you can realise the value that you already added when you were coding.

Do it Less

Avoid it (TDD/BDD)

TDD and BDD are careful and considered processes that allow you to incrementally build up your code so that it solves the exact problem it is meant to.  It also helps you to identify any bugs as soon as you have coded them.  This helps get your debugging over quickly because the code is fresh in your mind and you have only written a little bit of code since you were last ‘green’.

Go Around it

Sometimes coding something in a completely different way may take less time than debugging a problem in the method you have used.  Did you really need to introduce that new library? did you really need that abstraction?  Was that breaking refactor that seemed more ‘elegant’ really necessary or would the previous ‘clunky’ approach that worked be ok (btw, your users don’t care about elegant code, just features)

Talk to a Duck.. or a person

Some people do this.  It is called ‘Rubber Duck Debugging’.  I like to talk to team members, they say useful stuff back :)

Author

Michael Dausmann

Full stack developer. Agile, Data science and Machine Learning. Love learning, speaking and dad jokes. Tweets are my own.