/ Tools

Side Projects erfolgreich beenden

Gedanken zum Problem, dass ich nichts fertig stelle. Und wie ich es jetzt hoffentlich doch schaffe.

0. Einleitung

In diesem Artikel zeige ich, wie ich jetzt Microsoft To Do verwende um meine Side Projects voranzubringen. Dabei stelle ich auch kurz mein neues Projekt To Do Vo Do vor, dass mir genau bei diesem Vorhaben hilfreich ist.

Im vorigen Artikel To Do Vo Do Help habe ich kurze Videos aufgelistet, die das Projekt To Do Vo Do erklären. Im heutigen Artikel geht es aber um den Hintergrund, welches Problem ich damit lösen will und wie mein Prozess zur Lösung aussieht.

Auch zu diesem Blogeintrag gibt es ein kurzes YouTube Video:

1. Das Problem

Als Software Entwickler hat man oft Ideen für Projekte, wie Apps oder für Web Pages, die man auch umsetzen will. Häufig beginnt man dann daran zu arbeiten, doch über kurz oder lang, schläft das Projekt wieder ein. Zumindest ist das bei mir zu beobachten.
Am Anfang bin ich immer Feuer und Flamme, mich interessiert vor allem, wie kann ich das umsetzen. Ich arbeite dann meist ganz intensiv an dem Thema, zeichne Achitekturbilder, überlege mir, wo ich die Daten ablege, suche nach den herausforderndsten Problemen und finde auch Lösungen für diese. Und dann verliere ich häufig das Interesse daran. Oder ich denke mir, dass es doch nicht so sinnvoll ist und dass ich sowieso niemanden finde, der das auch braucht. Häufig findet man im Internet auch ein ähnliches Projekt, das das eigene sinnlos erscheinen lässt.
Wie auch immer, ich finde auf alle Fälle einen Grund, dass ich wieder was Neues anfangen kann.

Vielleicht kennt der eine oder andere das Problem. Ich habe mich auf die Reise gemacht, viel über Zeitmanagement gelesen und mir Videos dazu angesehen, damit ich endlich mal ein Projekt fertigstelle. Ich möchte hier meine Lösung vorstellen, wie es nun für mich plötzlich zu klappen scheint.

Natürlich ist ein Softwareprojekt nie wirklich fertig, aber ich will es zu einem Punkt bringen, wo man es benutzen kann. Eigentlich sogar soweit, dass man damit irgendwie Geld verdienen kann, auch wenn es nur indirekt ist, dass man dadurch bekannter wird und man dadurch vielleicht mehr YouTube Follower oder Blog Leser bekommt.

2. Task Management

Ich verwende Microsoft To Do als zentrales Werkzeug für all meine Tasks im privaten und side project Leben.
Ich verwende das Tool um den Kopf frei zu bekommen und um das Ziel eines Projekts nicht aus den Augen zu verlieren.

Wichtig dabei ist natürlich nicht wirklich das Tool, also welche Task Management Applikation man verwendet, sondern, wie man es verwendet.

Was mache ich nun mit der To Do App konkret:

  • Ich sammle alle Tasks in dieser einen App
  • Ich benenne die Tasks in einfachen Worten.
  • Ich verwende die Liste "Mein Tag" mitsamt den Vorschlägen um mir Tasks für einen Tag auszusuchen.
  • Ich verwende Listen für meine Projekte und versuche nur ein Projekt davon voranzubringen.
  • Ich markiere meine Tasks mit Tags.
  • Ich aktualisiere wöchentlich die gesamte Task Liste.

Dies ist schon alles.

Ich denke, es ist wichtig ein wenig Hintergrundwissen zu bekommen, ansonsten wird man diesen Prozess nicht lange durchhalten. Es ist sicher wichtig zu wissen, warum man so vorgeht, auch um den Prozess dann für sich anzupassen. Jeder ist anders und kleine Änderungen bewirken, dass man sich selbst damit wohl fühlt und das ist sehr wichtig.

3. Wie bin ich auf meinen Prozess gekommen?

Von Rick Davidson, einem Trainer für Game Development (http://gamecareercoach.com/), habe ich gelernt, dass man das Projekt so bald als möglich zeigen soll. Also nicht warten, bis es fertig ist.
Man soll Feedback einholen. Was ist gut, welche Features fehlen, kann man es benutzen, gibt es grundsätzlich Interesse. Auch um frühzeitig Fehler zu finden.
Das ist auch ein Grund für diesen Artikel, ich stelle das Projekt vor.

Bekommt man Feedback, motiviert das natürlich und man erzeugt wohl auch einen gewissen Druck, das Projekt nicht gleich wieder einschlafen zu lassen.

Damit man aber was vorzeigen kann, ist es wichtig das Projekt so aufzustellen, dass man möglichst bald etwas Vorzeigbares hat. Aus diesem Grund gliedert man das Projekt in einzelne Milestones und versucht sich auf den Aktuellen zu beschränken. Die nötigen Tasks für diesen Milestone stehen im Fokus, auf die konzentriert man sich.

4. Zeitmanagement

Ich beschäftige mich eigentlich schon eine längere Zeit mit Zeitmanagement.
In meinem Hauptjob habe ich damit eigentlich kein Problem.
Aber bei meinen privaten Side-Projects, da möchte ich mir die Freizeit eigentlich nicht so verplanen. Ich will da frei sein. Wenn es mich heute nicht interessiert, dann will ich kein schlechtes Gewissen haben. Es ist schön sich manchmal einfach treiben zu lassen.
Trotzdem will ich gerne vorankommen, mal was fertigbringen, um es anderen zu zeigen, was ich da mache und mich freuen, wenn es jemand anderer auch für sinnvoll findet, es vielleicht sogar verwendet.
Am Abend denke ich mir dann oft, wohin ist die Zeit gekommen? Ich hätte doch genügend, warum bin ich keinen Strich weitergekommen bei meinem Projekt.
Aus diesem Grund habe ich eben für mich den richtigen Weg versucht zu finden, dass ich nicht das Gefühl habe, die Freiheit oder Wahl zu verlieren, mich auch mal bewusst gegen die Arbeit zu entscheiden.

Schwierig zu erklären, aber mir scheint es zu helfen, dass ich eine Aufgabenliste habe, auch wenn ich dann häufig was anderes mache, aber ich verliere das Ziel so nicht aus den Augen. Das Ziel kann sich auch etwas ändern, die einzelnen Aufgaben ändern sich immer wieder. Aber im Großen und Ganzen bleibt das Projekt auf Schiene. Immer wenn ich einen Task für das Projekt erledigt habe, komme ich näher zum Ziel.

5. Kategorisieren

Um den richtigen Task zur richtigen Zeit zu finden, hilft es mir die Aufgaben zu kategorisieren, sie zu taggen.

Von Mike Vardy, ein Blogger über Produktivität https://productivityist.com/category/blog/ habe ich mir folgendes abgeschaut.
Ich kategorisiere nun die Tasks nach ungefährer Dauer und nach erforderlicher Aufmerksamkeit.
Ich verwende folgende Tags dafür: #duration-short, #duration-medium, #duration-long und #energy-low, #energy-high.

Das hilft interessanter Weise. Wenn ich noch ein wenig Zeit habe, dann suche ich einfach nach einem #duration-short und erledige das. Manchmal hat man einfach Lust, ein paar Tasks abzuarbeiten, dann ist es gut, wenn man noch ein paar #duration-shorts hat, man arbeitet dann diese vielleicht sogar in einem Block ab. Auch zum Starten sind solche #energy-low #duration-short Tasks sehr hilfreich. Obwohl ich sagen muss, dass mir diese Tasks oft ausgehen, weil ich diese häufig gar nicht erst notiere, sondern gleich abarbeite, wenn sie mir einfallen.
Wie lange short, medium oder long ist, habe ich dabei nicht definiert. Long Tasks schaffe ich meist nur wenige in einer Woche, vielleicht sogar nur einen. Short: vielleicht unter einer Stunde. Aber das ist eben nur relativ zu sehen. #energy-low Tasks sind bei mir auch überschaubar, zumindest in den Projekten. Energy-low Aufgaben sind z.B. etwas dokumentieren, einen Artikel planen, …

2020-12-01-17_34_09-Microsoft-To-Do-verpixelt-2

Ein zweiter Tipp von ihm ist die Tasks so zu nennen, dass man sie leicht versteht. Ich schreibe die Aufgaben in einfachen Worten und mit spezieller Satzstellung nieder. Es sieht mehr wie englisch aus, obwohl ich die Tasks sehr wohl in Deutsch verfasse. Das Verb ist immer an erster Stelle und dann versuche ich auch immer dieselben Wörter für gleiche Sachen zu verwenden.
Dieser Vorgang hilft enorm, die Tasks schnell zu erfassen.
Man kann sie durch sortieren auch einfach gliedern, z.B. alle meine Programmier-Tasks beginnen mit dem Wort: Implementiere.
Andere Beispiele: Plane, Schreibe, Ansehen, Einrichten,
Man kann sich schon denken, dass da manchmal nicht ganz richtige Sätze stehen, aber wen interessiert das, wenn es für mich hilfreich ist.

6. Wöchentliches Review

Das hört sich jetzt nach mehr an, als es ist.
Und zwar bin ich da inspiriert von Ivan Blatter, der einen deutschsprachigen Podcast über Zeitmanagement macht (https://ivanblatter.com/zeitmanagement-podcast/).

Von ihm habe ich zunächst mal, dass man alles niederschreiben soll, damit man den Kopf frei hat. Fällt einem etwas ein, kurz notieren und weitermachen. Erst später überlegen, was man damit jetzt machen soll. Nicht den aktuellen Task zu stark unterbrechen, um sich nicht ablenken zu lassen.

Er ist ein großer Fan von Timeslots planen in einem Kalender (Time Blocking). Zurzeit mache ich das nicht, aber das hat wahrscheinlich den Grund, dass meine verfügbare Zeit, wann ich zum Arbeiten an meinen privaten Projekte komme, fast jeden Tag gleich ist. Wenn man noch andere Termine hat, ist das sicher sinnvoll. Auch das Time Blocking wirkt auf den ersten Blick sehr einschränkend. Er beschreibt es aber ebenfalls, eher als befreiend, denn man muss nicht mehr nachdenken, was man jetzt machen will. Und der Kalender ist ja leicht zu verändern, so wie auch die Tasks von Mein Tag in To Do, werden die Tasks in den Time Slots eben verschoben.

Was ich ihm aber nachmache, ist das Planen einer Periode (bei mir ist das eine Woche) und das Reviewen so einer Periode.
Ich habe einen Tasks jede Woche in meiner To Do Liste (ein wiederholender Task): Überarbeite alle TO-DO Listen (weekly review).
Ich gehe dabei alle Tasks durch, relativ schnell, in der Liste Alle. Dort sind sie Aufgaben nach Listen (eine Liste entspricht bei mir einem Projekt) aufgelistet.

2020-12-05-14_38_47-Microsoft-To-Do

Ich vergesse oft, Tasks als bereits erledigt zu markieren. Manche Tasks werden dabei abgeändert, weil ich nicht mehr genau weiß, was gemeint ist.
Manche lösche ich, weil sie nicht mehr sinnvoll sind
oder sie sind teilweise erledigt worden (in einem anderen Task), dann passe ich auch da den Titel an.
Die meisten Tasks werden nicht verändert.
Häufig sind es natürlich nur die Tasks vom aktuellen Projekt, die angepasst werden: Sie werden umbenannt, aufgeteilt, oder in andere Listen verschoben und wenn sie nicht mehr relevant sind, gelöscht.
Man macht sich aber auch gleichzeitig Gedanken, was als nächstes gemacht werden kann. Solche Tasks markiere ich gerne mit #next oder #in-progress, wenn ich damit schon begonnen habe.
Fast immer notiere ich mir auch neue Tasks. Man denkt einfach wieder mal ein klein wenig aus der Ferne auf das Projekt und da ergibt sich immer etwas, auch wenn es für viel später nur mal kurz festgehalten werden soll.

Die Idee dahinter ist natürlich nicht nur, dass man den Plan aktuell hält, sondern es motiviert gleichzeitig. Denn man sieht, was man schon erledigt hat. Durch die Planung für die nächste Woche ist man motiviert. Man weiß, wie man weitermachen will, was die nächsten Schritte sind und das erleichtert den Start in die nächste Woche.

7. Scrum

Ich habe auch bereits an einem Scrum Kurs teilgenommen (Kursleiter: Manfred Brandstätter). Der Kurs hat mir sehr gut gefallen und ich habe auch versucht Scrum für mich alleine durchzuziehen. Ich habe dazu auch interessante Artikel gelesen, von Leuten, die das praktizieren. Ich habe es versucht und nicht durchgehalten. Teile davon sind natürlich in meinen Ablauf jetzt eingeflossen, aber ich habe mir eben das rausgepickt, was für mich passt. Ich wollte zunächst viel mehr den Fortschritt dokumentieren, doch das ist, wenn man alleine in einem Projekt arbeitet, nicht wirklich nötig.
Wenn es abgehakt ist, ist es für mich erledigt. Ich habe schon auch Dokumentationstasks und verwende OneNote intensiv dafür (kommt später noch), aber nicht um zu wissen, was ich wann erledigt habe oder so. Die Information wäre in der Task Liste eigentlich vorhanden, wenn ich zeitnah abhaken würde und dann mir die abgehakten Tasks einblenden würde. Mache ich aber eigentlich nicht. Ich entferne auch keine Tags aus abgeschlossenen Tasks, da kann ruhig #in-progress darauf stehen, das stört mich nicht. Abgehakte Tasks sind weg und blende ich so gut wie nie ein.

8. Zusammenfassend:

Wie arbeite ich nun, um meine Side-Projekts voranzutreiben.

  1. Alle Tasks niederschreiben.
  2. Listen für jedes Projekt. Manche Projekte habe ich sogar in mehreren Listen nochmals unterteilt, weil sie sehr getrennt voneinander sind: Administration, Server, Client z.B.
  3. Auf ein Projekt fokussieren,
    - die anderen Projekte müssen vorerst warten, bis wieder ein großer Meilenstein erreicht ist und ich dann überlege, wie es jetzt weitergeht.
  4. Die Aufgabenbeschreibung in spezieller Syntax und einfach schreiben, immer dieselben Wörter verwenden.
  5. Tagging verwenden: duration: small, medium, large and energy: high and low.
  6. Periodischer Task, einmal in der Woche, immer am Samstag:
    • alle To Do Tasks durchgehen und, wenn nötig, anpassen.
    • Gleichzeitig Review und Planung:
      • die letzte Woche überdenken
      • die nächste Woche planen: taggen mit #next und #in-process
  7. Jeden Tag kurz überlegen, welche Tasks interessant wären heute, dazu To Do mit Mein Tag und Vorschlag verwenden.

Was benutze ich NICHT:

  • Einen Kalender um Time Slots zu definieren
  • Fälligkeitsdatum: Meine Tasks haben nur selten ein Fälligkeitsdatum
    • Wiederholende Tasks bekommen automatisch ein Fälligkeitsdatum
    • Ich habe versucht jeden Task ein Datum zu verpassen, aber ich musste das ständig anpassen und das macht nur Arbeit und irgendwann lässt man es dann einfach.

9. Der Plan ist nur für mich, nur um mir zu helfen.

Es geht mir nur darum einen Plan zu haben, der mir die Freiheit gibt an meinen Projekten weiterzuarbeiten. Ohne dass ich groß aufpassen muss, mich zu verzetteln, arbeite ich in die richtige Richtung und verliere das definierte Ziel nicht aus den Augen.
Aber gleichzeitig habe ich jeden Tag die Wahl, etwas komplett anderes zu machen, wenn mich das heute mehr interessiert. Aber spätestens am nächsten Tag, gehe ich zurück zu meiner Task Liste.

Das ganze Zeitmanagement ist nur für mich. Es hilft mir, dass ich eines Tages ein Side Projekt soweit fertig habe, dass ich es präsentieren kann. So wie jetzt das Projekt: To Do Vo Do.

10. Was verwende ich noch für Tools

Natürlich habe ich auch schon diverse Werkzeuge verwendet um Projekte zu verwalten: Microsoft DevOps (hieß früher TFS), Microsoft Planner, Trello, Notizbuch aus Papier, … - Alles war irgendwie ok, für mich hat sich eben jetzt Microsoft To Do herauskristallisiert. Die App verwende ich in der Desktop Variante (Die mobile App auch manchmal.).

Verwende ich nur To Do?

Nein, Ich verwende auch Papierzettel um schnell Notizen zu machen und übertrage das dann später in To Do.
Ich verwende OneNote um Wissen zu sammeln und für diverse Projektnotizen: Architekturdokumente, um Entscheidungen festzuhalten, auch das Ziel des Projekts formuliere ich, all diese Dinge. Zum Planen und Dokumentieren des Programms verwende ich also OneNote, aber nicht für die Umsetzung. Für die Umsetzung ist To Do das zentrale Werkzeug. Aber nicht nur für Programmiertasks, man findet dort auch Einträge, wie: Schreibe Blog Eintrag; Definiere Datenbankstruktur; Plane wie es weitergeht.

In To Do habe ich das Tagging entdeckt und verwende das ausgiebig. Dabei verwende ich aber auch meine Web Applikation To Do Vo Do, die das Tagging nochmals vereinfacht.

Dieser Artikel beschreibt meinen Ablauf sehr detailliert, daher versteht man sicher, warum ich auf die Idee gekommen bin, To Do Vo Do zu implementieren.

To Do Vo Do

Mit To Do Vo Do kann man seine Tasks in einer anderen View darstellen. Es kategorisiert die Tasks entlang der Tags und erlaubt die Tasks ganz einfach mit Drag and Drop von einem Tag zu einem andern zu verschieben.

2020-11-17-20_14_45-ToDoVoDo

Die Tags werden zu Microsoft To Do zurückgeschrieben. Tags sind bei To Do nur Teile des Titels, man fügt einfach einen Hashtag dazu. Aus diesem Grund muss To Do Vo Do auch nur den Titel verändern, sonst nichts.
Vielleicht kommt später mal mehr Funktionalität dazu, z.B. Tasks abzuhaken oder neue anlegen. Ich weiß es noch nicht, vorerst ist das zumindest nicht geplant. Für meine tägliche Arbeit bleibt To Do der Mittelpunkt.
Mit To Do Vo Do kann man verschiedene Ansichten (Views) kreieren. Man kann sich diese anpassen, welche Listen und welche Tags sollen angezeigt werden. So kann man einfach Zuordnungsansichten kreieren, z.B. für das aktuelle Projekt die Tags: energy-high, energy-low oder auch neue Tags erstellen und damit ein einfaches Kanban Board darstellen lassen (Für ein Kanban Board gibt es sogar schon ein kleines Template in den View Settings).

Ich weiß, es gibt eine Menge anderer Services, die Kanban Board und Task Listen kombinieren, selbst Microsoft hat mit Planner eine Lösung dafür. Allerdings gibt es bei Planner eine Restriktion, die mich gestört hat, man braucht einen Work or School Account und nicht einen Microsoft Account, den man typischerweise verwendet, wenn man sich zu Hause am Computer einloggt. Es gibt wohl auch die Möglichkeit, wenn man einen Microsoft 365 Account verwendet, aber wie auch immer, für mich war Planner nicht das richtige Werkzeug. Es ist meiner Meinung nach besser für ein Team geeignet und nicht wenn man als einzelne Person sein Projekt verwalten will.

Vielleicht gibt es auch eine einfachere Lösung und ich habe ein sinnloses Service implementiert, mal sehen. Ich mag es und für mich ist es praktisch.

Call to action

Was denkst Du? Bitte schreib mir einen Kommentar. Ich sammle diese unter den YouTube Videos, damit ich sie an nur einer Stelle habe. Vielen Dank für Dein Feedback.

Die YouTube Video Sammlung zu To Do Vo Do findest Du unter:

Helmbergers Let's Code - Instagram quad: Microsoft To Do - To Do Vo Do

HLC-twitter-ToDoVoDo


Artikel in diesem Blog