Debugging Rules

When In doubt how to proceed when debugging starts to become an epic battle, I always follow the 9 debugging rules of David Agans.

I always tell my students I carry a cheat sheet of these rules with me. It is now about 9 years old I think. It survived 5 companies and countless projects.

Over thermometer I always realized: you might want to apply these rule to real life problems as well. It does work surprisingly well.

David Agan‘s Debugging Rules

Organizing My Availability

Meanwhile, I spent quite some time answering emails and requested my availability. There is a family calendar, a work calendar, a lecture calendar and maybe I miss one or two.

I usually have to look through all of them. And of course, I usually miss one or two of them. Therefore, I started to use the Doodle MeetMe feature to consolidate the availabilities of various calendars at one place.

Doodle MeetMe

Especially the feature to share the availability times was quite appealing to me. Most users just know Doodle for creating polls about events and meetings. Therefore, I decided to give it a try for some time. To see how this works out.

Link: https://doodle.com/aheil

Reading Time

Being inspired by the dev.to articles ( do cross-post some of my dev related articles here), I really liked the estimated reading time on top of each dev.to article. To me, it is very valuable, as most articles < 3 minutes I do read instantly, while larger posts I put on my reading list.

Eventually, I added this information also on every post on this blog to the convenvice of my readers. I hope this i as helpful to others as it is to me.

Using Different Color Themes in VS Code

As Visual Studio Code became my main editor, I often have more than one VS Code window open. This gets confusing after some time. To keep track in which project you are currently working, I thought of using different color themes by project.

As usual, once you know the trick, this is quite easy.
Navigate to File / Preferences / Settings and select the Workspace tab.

The setting for the Color Theme you choose here will be used whenever this particular folder is opened. That way you can easily distinguish between open Visual Studio Code windows.

Organizing Ideas – A not yet lost Battle

Recently, I have the problem to organize my ideas. To put it upfront: I don’t provide a solution. I simply describe the problem here.

Every time I surf the web, read blogs or news sites and scroll through my twitter feed, I find something interesting. Sometimes colleagues or friends point me to something, sending my a message through on of the many messengers.

Eventually, I want to work through all these articles and sources but often I simply get lost. I forget, don’t find the time and when I have time I don’t remember what or where to look at.

Problem 1: To many Inboxes

Multiple private E-Mail accounts, work e-mail, SMS, multiple messengers, blogs, news sites, work e-mail, Confluence to-do lists, private Microsoft OneNote, work Microsoft OneNote, Teams at work, an Evernote account and so on, this is an endless list of inboxes. Fome quite some time I used Pocket to collect many of these inputs but eventually Pocket turned out just be one additional growing inbox.

For now, I became very pragmatical and forward everything to one single mail account. Links, tweets, articles, photos and so on. Everything I want to read later just piles up on one single account.

Problem 2: Working through the Pile of Shame

For those with kids, they know the problem. Between work, preparing meals, keeping things up and running and spending time with the kids, there is only a little time to get other things done. Especially tasks which take a good amount of thinking, coding or diving deep into technologies. Over time this became a growing list, a queue with no consumer. One problem here is indeed to organize your ideas. I tried Microsoft OneNote, Evernote TheBrain. Eventually, I created just more lists to work through.

At one point I thought about how I organized my ideas and thoughts while writing my doctoral thesis. Eventually, the answer was the act of writing itself. I wrote everything down into a large document which ended up as my thesis. A lot of information was deleted on the way, but at the very end everything was well structured, perfectly organized and compressed to the most relevant information.

While writing another book is still on my list, the solution to my utter problem became obvious. I started to revive my blog. I wrote regularly until 2011 but due to changed focus in my jobs, blog entries became more and more infrequent. I rethought the initial idea of the blog: writing for myself and started to work through my lists and putting down as much as possible to my blog.

How is it going?

Here you are and read one of the things I had on my list. I recently tried to get rid of my “old” lists, one after another is being worked through for interesting stuff, ending in the blog. I am still looking for a nice tool setup which might help me to organize all this information without creating just another inbox, though. Therefore, the problems are not solved yet, but at least they are addressed.

Inbox Zero – Does it Work?

Recently, I explained to a colleague the idea behind inbox zero which was introduced by Merlin Mann. Since I introduced inbox zero more than a year ago  for my personal mailbox, I literally save time each day.

How does it work?

Four simple steps are the secret behind not using your mailbox as an personal wikipeda:

  1. Answer it
  2. Archive it
  3. Transform it into a task
  4. Delete it

And for heavens sake, do not use any highly sophisticated taxonomical folder structures to archive your mail. Use one (or if really required just a few) archive folders. The search capabilities of today’s email clients are outstanding or if you are using a IMAP server searching by using the server’s database engine is just aewsome. If you are not satisfied with your client search engine try tools like xobni.

Does it work?

Zero Inbox - Please do not stop, nothing to see here...It does. For example, to maintain my inbox in this (zero) state, did cost me 14 Minutes this morning. This morning, there was noting to answer, and nothing that important to archive. I had to change a few mails into tasks while I was able to perform most of them immediately.

  • I got the information about an updated MEAP e-book from Manning, so I downloaded book and deleted the mail
  • I got an information someone asked a question on a blog comment I wrote, so I answered it
  • I got a request to write an article from the chief editor, so I created a task in my backlog
  • I was told there is a new credit card statement available, so I downloaded it.
  • I was informed, there is a new O’Reilly e-book available in my personal book list, so I simply kicked of the DropBox sync (which is an awesome feature, I wrote recently about)
  • I got a link about an interesting blog article I should read later on, so I created a task in my backlog

Why does it not work for you?

You tried inbox zero, but it does not work for you? Your mailbox already contains an endless list of mails? Here are some reasons this happens to many of you:

  • You maintain no backlog or todo list, neither written nor digital. Of course there is no place where to keep tasks.
  • You have a list but it now has as much tasks as your inbox mails before. So you tend not to move any mails in there as tasks… That’s another problem as you do not work on your tasks… I’ll probably write up how to do so in a further article.
  • You don’t transform mails into tasks, because the tasks are boring, stupid or just unpleasant… Probably that’s what happens to most of you.

If you have a look at the task list above, there were many things not being pleasant at all. Downloading the books is just stupid work, a task you perform again and again (I already consider to write a script for that). O’Reilly provides this great synchronization feature to DropBox. Still leaves you to log in to yet another site and find the download list to kick of the sync, though.

How to improve the annoying?

What would keep me from performing these tasks? What’s the most annoying thing I had to do? Right, I had to sign into four different portals to perform tasks. I use a tool that speeds up this process and does not keep me from doing my actual work. I simply use the Firefox plugin Password Hasher which allows you to quickly create and use passwords for different sites.  Eventually, the annoying task of logging in into different sites became less brain busting and therefore, I have no reason to put the mails on the back burner anymore.

Restore Desktop Layout on Windows

Works on my machine!I continually move between different office places using different setups for monitors with my laptop. Sizes, numbers and orders of the monitors vary from place to place. As a consequence, you either deal with a complete mess on your desktop or you spend several hours per week in rearranging icons on your desktop.

Tired of doing so, I was looking for a nice tool for Windows, easy to use. Desktop Restore by Jamie O’Connell is such a tool available for Windows x86 and x64 systems and it is free to use (while he appreciate donations). For me, it works fine on a Windows 7 64-bit machine.

It integrates well with the Windows Explorer  context menu where you can save and restore layouts for different resolutions. This even allows you to set up your desktop for different locations and restore them with a single mouse click.

Desktop Restore

I have used it for ages, however, I have not really realized how great this tools until I set up my machine from the scratch recently. 

Kaizen for Inbox Zero and Outlook 2010

Um Inbox Zero möglichst effektiv umzusetzen, hat es sich bewährt die Aktionen mit E-Mails auf ein Minimum zu reduzieren. Inbox Zero wende ich nun schon seit mehr als zwei Jahren konsequent an. Da sich aufgrund beruflicher Veränderungen derzeit mein E-Mail-Volumen erheblich steigert (obgleich bereits bei Microsoft bereits ein absurder E-Mail-Durchsatz erreicht wurde), ist es an der Zeit den Inbox-Zero-Prozess zu verbessern und ein Fazit über die letzten zwei Jahre Inbox Zero zu ziehen.

Grundsätzlich kann in Inbox Zero der Umgang mit E-Mails auf wenige Aktionen reduziert werden, nach deren Anwendung die betreffende E-Mail sich nicht mehr im Posteingang befindet:

  1. Beantworten
  2. Archivieren
  3. In eine Aufgabe umwandeln
  4. Löschen

Grundsätzlich sollte jede E-Mail aber nur ein einziges Mal angefasst werden. Kein zwei, drei oder gar viermal.

Was Du heute kannst verschieben…

Die einfachste Art, mit einer E-Mail umzugehen ist diese sofort zu beantworten. Dies sollte der Regelfall sein, schließlich wird der Sender etwas vom Empfänger erwarten. Ob beantwortet oder nicht, eine der drei folgenden Regeln wird sofort danach greifen.

Ablage ‘A’ für Archiv

Suche mit Xobni plusEs könnte sein, dass eine Nachricht weder zu beantworten noch weiter zu bearbeite ist. Vielleicht steht in der E-Mail eine wichtige Information (Reisedaten, Login-Daten etc.) auf die man tatsächlich später einmal zugreifen möchte oder muss. Bei vielen Nutzern habe ich die kompliziertesten Taxonomien und Ablagesysteme gesehen, um E-Mails zu archivieren. Jede einzelne E-Mail wird hier eingepflegt, und oft dauert die Auswahl der geeigneten Ablage länger als das eigentlich Lesen und ggf. das Beantworten der E-Mail. Je komplexer das Ablagesystem, desto höher ist jedoch die Wahrscheinlichkeit, dass die gesuchte Nachricht nicht an der vermuteten Stelle gefunden wird. Der Aufwand der betrieben wird, die E-Mail zu archivieren steht in keinem Gegenwert für deren Archivierung. Für mich hat sich daher ein einzelner Ordner ‘Archiv’ bewährt, in dem sich alle archivierten Mails wiederfinden. Alle archivierten Mails in einem Ordner kann auch schnell mit den Outlook-hauseigenen Filtern z.B. nach Datum oder Absender sortiert werden. Für alles andere verwende ich seit seiner Einführung das Outlook-Plugin Xobni. Vor knapp einem Jahr wurde mir sogar eine Xobni plus Version von Xobni direkt spendiert. der wichtigste Punkt bei der Verwendung eines einzelnen Archivs: Es ist nicht notwendig Energie aufzubringen wo und weshalb eine E-Mail in einem speziellen Ordner oder einer spezifischen Struktur abgelegt werden muss. Wenn es tatsächlich notwendig erscheint eine E-Mail aufzuheben, dann sollte dies an einem einzigen Ort sein, schließlich ist der Platz an dem etwas gefunden wird immer der Ort an dem zuletzt nachgeschaut wurde.

Tolle Idee, das kommt ins Backlog

Viele Nutzer missbrauchen ihren E-Mail-Eingang als Aufgabenliste. Aber mal ehrlich, welches Datum hat die allerletzte Mail? Dieses Jahr, letztes Jahr oder älter? Sicher, dass der Sender noch auf die Antwort wartet oder die Aufgabe noch aktuell ist? Hier tritt das gleiche Problem wie bei den zuvor bereits besprochenen Lazy Lists auf: Sie neigen dazu schneller zu wachsen als sie abgearbeitet werden können. E-Mails, die eine andere Aktion als Beantworten erfordern sollten in eine Aufgabe umgewandelt werden. Im optimalen Fall sollte diese Aufgabe an den zentralen Platz wandern, an dem alle Aufgaben gesammelt, priorisiert und abgearbeitet werden. Ähnlich ist es bei Scrum: Jede neue Idee, jede neue Anforderung mit der das Team in Scrum konfrontiert wird wandert ohne Umwege in das Backlog. Bei meiner Implementierung von Zero Inbox habe ich lange Zeit E-Mails in “Remember The Milk”-Aufgaben umgewandelt. Aber auch hier kamen die Nachteile von Lazy Lists zum zu Tage. Mit der Umstellung auf Peronal Kanban habe zumindest ich nun den zentralen Platz gefunden in den E-Mails als Aufgaben auftauchen. Der Medienbruch, die Aufgabe auf ein Post-It zu notieren ist dabei von Vorteil, da man sich nochmal bewusst machen muss, was überhaupt zu erledigen ist. sofern nötig wird in meiner Implementierung die E-Mail sofort gelöscht oder, falls nötig, archiviert. Auf jeden Fall ist sie nach der Umwandlung in eine Aufgabe nicht mehr in der Inbox wiederzufinden. Mit Papierpost verhält es sich nicht anders. Schließlich lässt man die Post nicht im Briefkasten liegen oder steckt den gelesenen Brief wieder in den Briefkasten zurück. Rechnungen oder ähnliches, die eine Aktion nach sich ziehen, also eine Aufgabe darstellen, landen oft in einer Ablage “Zu erledigen” wo sie zu gegebenem Zeitpunkt bearbeitet werden.

Weniger ist Mehr

Die für mich wichtigste Regel für Inbox Zero habe ich vor mehr als zwei Jahr gelesen, gelernt und seither befolgt:

Be liberal with your delete key.

"Be liberal with your delete key"Die Regel freizügig mit der Entfernentaste umzugehen, zu beherzigen kostet die meisten Inbox-Zero-Anfänger sehr viel Überwindung. Der Mensch, von Natur aus Sammler und Jäger, hat anscheinend eine natürliches Grundbedürfnis alles, wirklich alles, zu Sammeln, aufzuheben und zu archivieren. Die zunehmende Digitalisierung verstärkt diesen Drang zusehends. So gesehen, zehntausende Musikdateien, hunderte Filme, abertausende Bilder, tausende von E-Mails. Aber braucht man wirklich jede E-Mail? Während ich anfangs die meisten E-Mails archivierte, landen zwischenzeitlich 98 von 100 E-Mails im Papierkorb. Und wie mit allem gilt hier: Übung macht den Meister. Man lernt schnellerer zu entscheiden, ob es notwendig ist eine E-Mail zu archivieren oder nicht. Einmal vom inneren Zwang alles aufzubewahren gelöst fällt es immer leichter sich von unnötigen E-Mails zu trennen. Ein Feature das bei dieser Einstellung helfen könnte ist die Anzeige wie oft eine archivierte E-Mail aus den letzten drei Jahren wieder benötigt wurde – nur so als Idee.

Kaizen – Den Erfolg visualisieren

Number of unread mails  vs. all mail in  in OutlookA very simple way to visualize in Outlook 2010 how Inbox Zero works, is switching the numbers of mails indicated by default as unread. Nothing shown at your inbox does not mean there are not sitting 1,000 maybe checked but at least marked as read mails in your inbox which is definitely not the idea behind Inbox zero. Said that, checking mails is not forbidden. Maybe there are situation when it makes sense to check for timebombs on a regular base. Especially in such a situation it does make a lot of sense to concentrate on all mail, not just those not read. You can change the view in Outlook by a right click on the Inbox and selecting Properties. There you can switch the number of shown emails from unread to the number of total mails in your inbox.

Kaizen – Archive or don’t -There is no Try

Outlook 2010 Quick StepsMaintaining a single archive, the process of archiving mails using Outlook 2010 is pretty easy. Using Quick Steps creating a shortcut only needs a few clicks.The Quick Step is available within the Ribbon as well as a optional keyboard shortcut. Said that, every mail could be moved using the keys [CTRL]-[SHIFT]-1 directly into the archive folder. Previous versions of  Outlook only provided this capability using custom macros. Especially when thinking of automating processes using Outlook 2010, Quick Steps are worth a try.

Sum Up

After two years Inbox Zero, I am pretty pleased.After improving my personal process, it is even better to deal with the information overload. Switching to Kanban maintaining one central list was the very last step implementing Inbox Zero. One very positive aspect of Inbox Zero is the fact you think much more about the mails you send out. Is this answer really necessary? Does the recipient await an answer at all? The more one thinks about these questions, the more one feels that a very first step towards Inbox Zero is to send less mails.

Kaizen und Personal Kanban

Als frischgebackener ScrumMaster, habe ich mir einen Rat aus dem zugrundeliegenden Training bei Boris Gloger zu Herzen genommen: Scrum als Einstellung zu verstehen, jeden Tag etwas zu verbessern. Mehr als jeden anderen im Team betrifft das den ScrumMaster, denn letztendlich ist er dafür verantwortlich dem Team die Impediments aus dem Weg zu räumen. Ein ScrumMaster sollte also mit gutem Beispiel vorangehen und nicht nur sein Team sondern auch sich selbst ständig verbessern.

Von MIT und WIP

Personal KanbanViele Baustellen schaffen natürlich viel Verwirrung, daher habe ich im Sinne von Kaizen damit begonnen schrittweise Verbesserungen einzuführen. Ein erster Schritt ist dabei die Einführung von Personal Kanban. Während des Scrum-Trainings wurde ich als “Coach” zum Thema Konsequenz durch einen Mitteilnehmer ausgewählt. Dabei habe ich unter anderem kurz den “Most Important Task”-Ansatz von Leo Babuta angerissen, die drei (oder auch fünf) wichtigsten Aufgaben (MIT) jeden Tag in Form eines Post-It-Zettels zu visualisieren und nacheinander abzuarbeiten. Der ausschlaggebende Punkt, ist die Auswahl der drei wichtigsten Aufgaben und der dadurch generierte Fokus darauf. Ähnlich ist der Ansatz im Personal Kanban. Durch die Festlegung der WIP (Work-In-Progress-Artefakte) wird der Fokus verlagert. Weg von der “erdrückenden” Liste an zu erledigenden Dinge, hin zu der überschaubaren Liste an Aufgaben, die tatsächlich erledigt werden. Da ich den MIT-Ansatz bereits seit langer Zeit verfolge, fällt mir die Implementierung von Personal Kanban nicht sonderlich schwer. Gleichgültig, ob “Most Important Task” oder “Work In Progress”: Beide Ansätze unterscheiden sich zunächst nicht sonderlich. Was in The Power of Less als Goal bezeichnet wird, kann in Personal Kanban als langfristige Aufgabe (z.B. Jahresprojekt) in einem eigens hierfür gedachten Abschnitt geführt werden. Die Gestaltungsspielräume in Personal Kanban sind dabei jedem einzelnen überlassen.

Der erste Value Stream

Die erste Implementierung meines Personal Kanban umfasst daher zunächst die drei “Standardspalten” Backlog, WIP und Done. Die Verfeinerung entsteht im Laufe der Zeit während man sich selbst über den eigenen Value Stream im klaren wird. Ein komplexeres Schema eines Value Streams bereits zu Beginn einzuführen erfordert ein höheres Maß an Konsequenz dies umzusetzen und erhöht somit das Risiko, dass das Unterfangen scheitert. Der einfache Value Stream stellt sicher, dass bereits am Ender der ersten Woche zumindest einige Tasks in der Done-Spalte ein subjektiv gutes Gefühl vermitteln. Hierin besteht auch der größte Unterschied im Umgang MITs. Die Visualisierung der erledigten Aufgaben dürfte ein entscheidender Motivationsfaktor sein um den Ansatz konsequent weiterzuführen.

Von Lazy Lists zum Backlog – Der Erweiterte Value Stream

199 Taks zu vielDer nächste Schritt und eines der ersten Items im Backlog besteht darin, sämtliche “Lazy Lists” abzuschaffen. Vor ungefähr einem Jahr hatte ich den Versuch gewagt, meine Aufgaben von Microsoft Outlook nach Remember The Milk (RTM) zu migrieren und ab da an in RTM zu verwalten. Grund hierfür war die erdrückende Anzahl von Tasks, der Mangel an einer Priorisierung von Tasks und die konsequente Umsetzung von Inbox Zero.  Wie alle Lazy Lists, neigen jedoch auch die Listen in RTM dazu, schneller anzuwachsen als sie abgearbeitet werden können. Dies führt unweigerlich dazu, dass vor allem die Aufgaben am Ende der Listen lange Zeit unbeachtet bleiben. Sowohl in The Power of Less als auch in Personal Kanban wird propagiert, nur eine Liste mit allen Aufgaben zu pflegen und somit Anzahl der Eingangsfächer zu minimieren. Während die Visualisierung mittels eines Whiteboards in Personal Kanban die bevorzugte Lösung darstellt, möchte ich jedoch nicht auf die Möglichkeit verzichten, auch von unterwegs neue Items in das Backlog einzutragen.  Hier habe ich mich entschieden mein Value Stream durch ein vorgelagerten Schritt zu erweitern. RTM sowohl auf dem iPhone als auch im Web bleibt die Lösung um spontane Einfälle oder aktuelle Aufgaben zu erfassen.  Regelmäßig, im besten Fall jeden Tag, werden diese Aufgaben in den Backlog des Personal Kanban übertragen. Hier kommt der gleiche Effekt zum tragen, der auch bei Zero Inbox ausschlaggebend ist und weswegen im ersten Schritt zu Zero Inbox alle Items aus der Inbox gelöscht oder archiviert werden. Eine Liste mit drei Einträgen auf Null zu bringen ist wesentlich leichter als eine mit 200 oder gar 1.000 Einträgen.

Von Digital zu Physisch

Während meiner Recherche zu Personal Kanban bin ich auf verschiedene Anwendungen (Desktop und Web) gestoßen, mit denen sich ein Personal Kanban einrichten lässt. Die bewusste Entscheidung gegen ein digitales Personal Kanban ist mit der vorangehenden Abschaffung von Lazy Lists begründet. Ein physisches Whiteboard hat schlicht und ergreifend einen begrenzten Platz für Backlog-Items. Das Backlog kann schon aus diesem Grund nicht uneingeschränkt anwachsen. Und auch hier lässt sich zum Abschluss eine Analogie zu Scrum zu herstellen. Während die Menge an User Stories überschaubar ist (in der Regel um die 60), wachsen Bug-Listen oder Listen in Ticketsystemen schnell ins Absurde (mit hunderten oder gar tausenden Einträgen).

Fazit

Die Umstellung von einem reinen MIT-Ansatz zu Personal Kanban stellt einen nicht allzu großen Schritt dar, sofern man bereits seit einiger Zeit mit MITs gearbeitet hat. Der Hauptunterschied liegt meines Erachtens in einer nachhaltigeren Visualisierung der erledigten Aufgaben und der Priorisierung der Backlog-Items während die Grundprinzipien einer einzelnen Inbox für Aufgaben und einer überschaubaren Menge an abzuarbeitenden Aufgaben vom Grundprinzip ähneln.