2 new Awards for pinnery

The pinnery-Team feels happy because we’ve earned 2 new awards from FinancesOnline:

 

FinancesOnline featured our software in a detailed review. In their review they’ve not only tested our software but also had a good idea for real use cases of our software.

Please remember, that we’ve changed our pricing: pinnery is now only 1 EUR per month and the free-edition has unlimited functionality for private use!

Thank you, FinancesOnline for that great review! 🙂

Effizienter Arbeiten: Kanban

Beim klassischen Projektmanagement werden die Aufgaben innerhalb eines Projekts rechtzeitig geplant und an die einzelnen Mitarbeiter verteilt. Es wird festgelegt, wer, wann, wie lange an einer bestimmten Aufgabe arbeitet. Dadurch wird das Projekt planbar, Deadlines sind bekannt und das Fertigstellungsdatum steht von Anfang an fest.

Bild (C) by pixabay

Über tolle Gantt-Diagramme kann jedes Projektmitglied jederzeit sehen, wie es weiter geht, welche Aufgaben anstehen und wann jedes Projektmitglied fĂŒr sich die nĂ€chste Aufgabe erledigt haben muss. Oder auch nicht…

Unvorhergesehene Ereignisse

Die Herausforderung und die Problematik an der Projektplanung sind nĂ€mlich vor allem die Aufgaben, die nicht innerhalb einer gewĂŒnschten Zeit erledigt werden. Das kann in der Praxis unterschiedliche Ursachen haben, angefangen von ganz banalen Dingen, wie dass ein Mitarbeiter krank wird, oder dass benötigte Materialien vom Vorlieferanten noch nicht geliefert wurden.

Sobald sich eine Aufgabe in der Dauer verĂ€ndert, gibt es Probleme mit allen nachfolgenden Aufgaben. Das Projekt kommt ins Stocken. Klar, eine gute Projekt-Management-Software ist natĂŒrlich in der Lage, die FĂ€lligkeitstermine aller dahinter liegenden Aufgaben automatisch anzupassen, doch löst dies nicht das eigentliche Problem.

Und was bringt dann ĂŒberhaupt ein tolles, vorausgesagtes Fertigstellungs-Datum, wenn dieses sich in der Praxis stĂ€ndig verĂ€ndert?

Mehr Verantwortung ĂŒbertragen

Beim Projekt-Management mittels Kanban sieht die Sache grundlegend anders aus. Die Idee, die sich hinter dem Kanban-System verbirgt, ist es, zunĂ€chst einmal alle fĂŒr das Projekt anfallenden Aufgaben zu erfassen. Aber auch aktuell in Arbeit befindliche und erledigte Aufgaben werden erfasst.

DafĂŒr wird eine “Tafel” zunĂ€chst einmal ganz banal in 3 Spalten eingeteilt: Zu Erledigen, In Arbeit und Erledigt.

Jedes Projekt-Mitglied erhĂ€lt dann Zugriff zum (Kanban-) Board – jeder sieht also, welche Aufgaben noch offen sind, welche sich in Arbeit befinden und welche bereits erledigt sind…

Der große Unterschied zum klassischen Projekt-Management liegt nun darin, dass die einzelnen Aufgaben prinzipiell nicht mehr an die einzelnen Team-Mitglieder delegiert werden. Jedes Team-Mitglied kann sich also nach Lust und Laune die Aufgaben aus der “Zu Erledigen” (oder “To Do”) Spalte heraus “picken” und daran arbeiten. Dazu schiebt der Mitarbeiter die Aufgabe dann in die 2. Spalte “In Arbeit”, so dass auch alle anderen Projekt-Mitglieder sehen können, dass an der Aufgabe gerade gearbeitet wird.

Höhere Motivation

Und genau hier liegt auch schon der grĂ¶ĂŸte Vorteil gegenĂŒber dem klassischen Projekt-Management. Denn wenn der Mitarbeiter sich selbst aussuchen kann, an welcher Aufgabe er jetzt gerade arbeiten möchte, ist er viel motivierter bei der Arbeit. Das sollte einleuchten.

Hier geht es aber auch nicht einmal nur um das “auf etwas bestimmtes Bock haben”. Vor allem bei kreativer Arbeit kommt nĂ€mlich eine noch andere Komponente hinzu, die jeder nachvollziehen kann, der schon einmal kreativ gearbeitet hat.

Nicht jeder Tag eignet sich zu allem

Lasst mich dazu ein kurzes Beispiel bringen, das aus der realen Welt kommt: Wir haben uns im MĂ€rz an der “CeBIT” beteiligt, eine der grĂ¶ĂŸten IT-Messen der Welt. FĂŒr die Organisation unserer Messevorbereitung haben wir uns ein eigens Kanban-Board angelegt. Zu irgend einem Zeitpunkt waren noch die Aufgaben offen, um die Messe-Wand grafisch zu designen. Also kreative Arbeit.

Es befanden sich aber auch noch weitere, nicht-kreative Aufgaben in der ToDo-Liste. Über ein Wochenende hatte ich mir irgendwann vorgenommen, am Montag morgen mit dem Design der Wand zu beginnen.

Montag morgen, Wetterumschwung und ich ohnehin noch von einem harten Wochenende erschöpft, merke ich schon nach dem Aufwachen: Kopfschmerzen!

Kreative Arbeit an diesem Tag? Könnte ich ja einmal probieren, wĂ€re aber vermutlich nicht gut gegangen…

GlĂŒcklicherweise befanden sich ja aber noch viele andere Aufgaben in meiner ToDo-Liste. Eine davon war es, den Laminat-Boden fĂŒr den Messe-Stand beim Baumarkt abzuholen. Perfekte Arbeit fĂŒr einen Kopfschmerz-Tag.

Bild (C) by pixabay

So konnte ich den “Bad-Monday” gut mit dem Abarbeiten von Aufgaben ĂŒberbrĂŒcken, bei denen ich meinen Kopf nicht sonderlich anstrengen musste.

HĂ€tte ich an diesem Tag hingegen bestimmte Aufgaben zur Abarbeitung vorgesetzt bekommen, wĂ€re das evtl. die Gestaltung der Messe-WĂ€nde gewesen. Klar, dass ich an diesem Tag nicht sonderlich produktiv gewesen wĂ€re…

Tote Zeiten ĂŒberbrĂŒcken

Ein weiteres gutes Beispiel dafĂŒr, dass die Arbeits-Effizienz mittels Kanban gesteigert werden kann, sind “tote Zeiten”.

Nehmen wir an, wir arbeiten mit dem klassischen Projekt-Management-System und laut Gantt-Diagramm habe ich fĂŒr die heutige Aufgabe bis 15 Uhr Zeit. Die direkt anschließende Aufgabe wurde mit einem Aufwand von 3 Tagen geschĂ€tzt.

Wenn ich also heute tatsÀchlich bis 15 Uhr mit meiner Aufgabe fertig werde und um 17 Uhr Feierabend habe, was denkt ihr, was werde ich zwischen 15 und 17 Uhr machen?

Was wĂŒrdest Du in diesen 2 Stunden machen, wenn Du an meiner Stelle wĂ€rst? Hand auf’s Herz: Den Tag bekommen wir schon irgendwie rum!

Kaffeepause – Bild (C) by pixabay

Habe ich allerdings in einem Kanban-Board die noch offenen ToDos sichtbar, dann schnappe ich mir in den verbleibenden 2 Stunden ein paar einfache Aufgaben. Vielleicht welche, die jeweils nur 5 oder 10 Minuten dauern. Dadurch bin ich die verbleibende Zeit produktiv. Und ich bin auch noch happy dabei! Schließlich arbeite ich an den Sachen, auf die ich “gerade Bock habe” und obendrein wird es mir ein echt gutes GefĂŒhl geben, wenn ich in kurzer Zeit gleich mehrere Aufgaben in die “Erledigt”-Spalte schieben kann!

Ausnahmen bestÀtigen die Regel

Mir ist schon klar, dass das, was ich hier beschreibe nicht immer und ĂŒberall anwendbar ist. Vor allem die sogenannten “Bad-Jobs”, also die Aufgaben, die nie jemand machen möchte, werden wohl kaum aus der “ToDo” Spalte herauskommen. (TĂ€uscht euch dabei aber nicht, viele Aufgaben sind beliebter, als man anfangs denkt!)

In pinnery kann man aus genau diesem Grund ĂŒbrigens Aufgaben auch zusĂ€tzlich an bestimmte Benutzer zuweisen, also delegieren. Ich wĂŒrde euch aber empfehlen, damit eher zurĂŒckhaltend zu sein und dem Projekt erst einmal seinen Lauf lassen. Delegieren kann man die Aufgaben, die niemand machen möchte, spĂ€ter ja immer noch…

Fazit

Kanban ist fĂŒr mich nicht nur ein optisch perfektes System, um die Projekt-Aufgaben visualisieren zu können. FĂŒr mich ist Kanban vor allem auch ein System, welches mich und alle anderen Projekt-Mitglieder effizienter Arbeiten lĂ€sst.

Und gerade der höhere Motivations-Faktor, der dadurch zustande kommt, dass ich mir meine Aufgaben jeweils selbst “picke”, ist fĂŒr mich der wesentliche und entscheidende Vorteil gegenĂŒber anderen agilen Projekt-Management-Methoden, wie z.B. Scrum.

Expect the unexpected

We are developing software here at Rowisoft and after someone changes anything in our source codes the changes needs to be tested by an other testing person here.

Our golden rule is that no function gets published to our customers until someone other than the developer itself has tested it.

Unfortunatelly software can be very complex and the software we develop definitelly is complex. Even complexer a software becomes even harder to test it under all possible circumstates.

Because of this its absolutelly important that the developer is thinking about any possible situation while he develops the software. The tester only tries things out and tests if the function is working correctly according to the requirements. The tester “stupidly” clicks every button and tries out everything especially those things doesn’t make sense. But responsible for the working function never is the tester. Responsible for the working code is only the developer here at Rowisoft.

Today I was the developer and I’ve added a new feature to pinnery which allows to structure the boards within categories. Therefor I needed to create a new table in the database which has a relation to the boards itself.

My tester, today it was Daniela, was testing my newly created function then. First she told me that, in general, everything works as expected. She was able to create new categories and to drag and drop boards within a treeview to categorize them.

Later she came and told me that I don’t delete the boards connection in the newly created database table when she deletes a board. After she deleted a board the link in the board administration dialog still appears as an empty entry.

I realized that I’ve forgotten something. So I changed my code. When a board gets deleted the associated records in the new table needs to be deleted too. No big deal – I got this changed within a minute.

Then I told Daniela that I’ve resolved the bug and she can test again. Then, she told me that it works as expected now: Whenever a board gets deleted the associated records in the view-table gets deleted, too.

It’s perfect, isn’t it? It’s not! After a while Daniela came again to me to tell me that now the drag&drop feature of the boards administration dialog doesn’t work anymore. I was wondering about that because I didn’t change anything here and this was even in a very different file than I’ve changed while resolving the delete-bug.

Then I’ve tried to reproduce the error and logged in to pinnery. But I couldn’t. Everything works as expected here on my computer.

I went over to Danielas office to get a live demonstration of the problem. Maybe I just missunderstood what the problem was. But I understood what the problem was and here on Danielas Computer I was able to reproduce the problem.

After playing around a while I realized that one dead record in the boards-view still existed. It was the one record which didn’t got deleted after Daniela deleted a board. I saw in the user interface that there’s still an empty item in the tree view. First I didnt pay an attention to it because I knew why it was there and I knew that this can never happen again because when a board gets deleted in the future the corresponding records in the table gets deleted as well.

After inspecting the problem more and more I realized that the empty item really causes the problem. Indeed!

Now I’ve changed my code to handle dead records in the view table even if there’s theoretically no way such records can be generated again.

Human multitasking

Multitasking does not mean to do multiple things at the same time

If you are managing a team of creative people, one of the things you should learn is task allocation.

Multitasking is a thing most managers presume from its team-members and most of the team-members are able to do multitasking. But unfortunately, multitasking doesn’t mean one can do multiple things at the same time at all.

Suppose your task is to record a podcast for your website and to make a phone call to one of your customers. You will agree that you can’t do this two things at the same time. So if you assign multiple tasks to one and the same person he switches between the two tasks.

How multitasking is working within your CPU

Assume you are having two computation operations, each one requires 10 seconds. As a programmer I can decide how the computer should resolve this two tasks.

Sequential processing

Possibility one is to do it sequential.

This means that first one of the computations gets done and then the next one gets done.

Multitasking

A multitasking approach would be to divide the computations into smaller pieces and calculate them in “parallel”.

So, what would be the better approach to get the two tasks done? The sequential processing or the multitasking way?

The secret to answer this question is the switch time. It takes a small amount of time to switch between two tasks. For example, if you are writing two books in parallel you need time to think about the new one before you can continue writing it. This is the switch-time. It depends on the tasks how big it is but it’s always there.

So the answer is still clear: When you use the sequential method you will get a faster result of both operations. So basically this is the better way. This is why the Kanban manifest recommends to limit the work-in-progress (WIP).

But: Assume you are working on two projects for two individual customers. Both projects are taking few months to get done. If you are working on project A first and start project B when project A is done, you customer of project B will not be very amused. He would not even hear something from you until you finished project A.

Conclusion

Working multi-threaded or sequential – both methods are having their benefits. Which one to choose depends on what the tasks are to resolve…

How Kanban works

Introduction

If you are in a continuously process of developing, advancing and testing a product you may already have heard about kanban. Kanban is Japanese for “card” or “visual signal”. Kanban got invented in the late 1940s by the Toyota Motor Corporation to provide a better engineering process.

The pattern used for this method was the supermarket. They’ve noticed that empty grocery got restocked by supermarkets clerks, not by their vendors supply. When an item was near sellout the clerks reordered it.

Toyota implemented the same principle to their production and pioneered a new approach, the Kanban system.

A new application of the Kanban system emerged 2005 around the leadership of David J. Anderson, Corey Ladas, Jim Benson and others.

This is how it works

Instead of assigning tasks to each team-member e.g. in an development-team, in Kanban for each tasks you create an inividual card. On the card you write down the subject of the task. This cards are pinned onto a pinboard which gets divided into multiple columns. If the task on the card is new you pin it into the leftmost column.

Whenever a team members has finished his actual work, he takes a new card from the column and pins it to the second column, “in progress”. When he finished the task, he pins the card to another column, “done”.

This provides a good overall view of the whole project: You can always see what needs to be done, what actually is in progress and what is finished already.

Between the mentioned columns there can also be more columns depending on your needs, for example “Testing”.

Principles of Kanban

Visualize Work

By creating a visual model of your project you can observe the flow of work through your Kanban system. Making the work visible to every team member leads to increased communication and collaboration.

Limit the Work In Progress

Limiting the Work In Progress (WIP) prevents your team member to work on many different tasks at the same time. This avoids problems caused by task switching and to repriorize the items constantly.

Focus on Flow

By setting a work-in-progress limit you can optimize your Kanban system to improve the smooth flow of your work.

Continuous Improvement

A Kanban system is the cornerstone of a culture for continuous improvements. Your team is able to measure their effectiveness by tracking flow, quality, lead time and more.

Pinnery

Of course setting up a pinboard and pinning cards on it seems to be outdated a little bit. Also it’s hard to handle such things on distributed teams. This is where pinnery comes into the game! It provides a very flexible and fully-featured Kanban-Board for your computers, tablets and smartphones!

Register now for free!