Einmal Bugfixes für einen, bitte!

Forever Alone Programming: Ein Date, allein mit deinem Code

Sarah Schlothauer
© Shutterstock / EricaLeanne

Gibt es hilfreiche Konzepte für Menschen, die allein coden? Introvertierte, habt keine Angst, hier kommt Forever Alone Programming. Mit Richtlinien für Solo-Programmierer, Freiberufler und kleine Teams klappt das Programmieren alleine ganz wunderbar.
 
 
 

Ich arbeite allein.“ Einsame Wölfe sind jedermanns Liebling. Denken wir an die Gesetzlosen des wilden Westens, einen gestrandeten Astronauten allein auf dem Mars, Tom Hanks allein am Strand mit einem Volleyball, Batman und Geralt von Riva, können wir nicht anders, als uns auf die Seite des Einzelkämpfers zu schlagen. Sie sind geheimnisvoll, vielschichtig, komplex. Aber sie sind eben auch einsam.

In der Welt der Programmierung fällt die Arbeit allein oft nicht so episch aus, wie das Töten von Monstern oder das Kämpfen gegen Verbrechen. Wenn man schon einmal alleine oder als Freiberufler gearbeitet hat, weiß man, wie leicht es ist, den Überblick über Deadlines zu verlieren und immer wieder die gleichen Fehler zu machen. Also, was soll ein einsamer Wolf tun?

Die Methodik

Forever Alone Programming wurde von Adam Ficsor (nopara73 auf GitHub) erstellt, nachdem er sich bemüht hatte, eine agile Entwicklungsmethodik zu finden, die auch für Solo-Programmierer nützlich ist. Wenn Ihr also alleine arbeitet, schaut euch diese Methodik einmal an – vielleicht kann sie euren Workflow unterstützen.

Lasst uns nun mit dem Prozess beginnen! Forever Alone Programming verwendet das Grundgerüst des Agile Unified Process (AUP). So sieht es aus:

Programmierung in fünf Schritten

Jedes Projekt besteht aus fünf Phasen: Anfangsphase, Ausarbeitung, Konstruktion und Übergang, wobei letztere Phase aus zwei Schritten besteht. Dieses Diagramm zeigt die ideale Menge an Zeit, die für das Modellieren, die Implementierung, das Testen, das Deployment und das Projektmanagement aufgewendet werden sollte. Schauen wir uns die fünf zuvor genannten Phasen, ihren Zeitaufwand und die Schritte von Anfang bis Ende genauer an.

Anfangsphase: Was ist der anfängliche Umfang des Projekts?

  • Zeitbedarf: 1 Stunde bis 3 Tage
  • Erarbeitung eines allgemeinen Verständnis für das Projekt
  • Einrichten der Projektstruktur
  • Definition wichtiger Anforderungen
  • Abschätzen von Kosten und Erstellen des Zeitplans
  • Ermittlung der Projektdurchführbarkeit
  • Einigung über Meilensteine

Ausarbeitung: Können Sie ein System entwickeln, das den Anforderungen entspricht?

  • Zeitbedarf: 1 bis 7 Tage
  • Brainstorming
  • Weiterentwicklung der Anforderungen
  • Konstruktion der Architektur
  • Definition von Tests auf hohem Niveau
  • Erstellen eines detaillierten Zeitplan
  • Anpassung der Kosten
  • Einigung über Meilensteine

Konstruktion: Bauen Sie eine funktionierende Software

  • Vorbereitung der Projektumgebung
  • Vorbereitung der Testumgebung
  • Proof of Concepts
  • Code (endlich!)
  • Entspricht das Produkt den Anforderungen?
  • Pre-production Tests und Fehlerbehebung
  • Einigung über Meilensteine

Übergang: Validierung und Bereitstellung des Systems

  • Zeitbedarf: „Wie lange auch immer man glaubt, dass es dauern wird: Verdoppelt man es, kommt man vermutlich der Sache recht nahe“, sagt nopara73
  • Fertigstellung der Dokumentation
  • Akzeptanz der Stakeholder gewinnen
  • Beta-Test
  • Einigung über Meilensteine
  • Deployment des Systems in die Produktion
  • Ausführung des Marketingplans
  • Verwaltung der Software

Tipps und Tricks für die Programmierung allein

Jeder Schritt enthält auch wichtige Tipps. So rät Adam Ficsor zum Beispiel, das Brainstorming nicht am Computer zu erledigen, Code nur nüchtern zu bearbeiten (Hey, wir urteilen nicht, und wenn Ihr alleine arbeitet, gilt das auch für den nicht vorhandenen Chef) und wie man knifflige Probleme mit pragmatischem Denken lösen kann (schon mal was von Rubber-Duck-Debugging gehört?).

Forever Alone Programming enthält auch die Warnung vor einer so genannten „Tool-Falle„, einschließlich eines Ausschnitts aus dem Buch „Pragmatic Thinking and Learning“. Es ist eine großartige Lektüre für jeden Softwareentwickler, egal ob man alleine oder in einem großen Team arbeitet.

Adam Ficsor gibt übrigens auch einen wichtigen Tipp zum Nachdenken:

Wenn dich niemand beaufsichtigt, musst du dich selbst beaufsichtigen.

Und? Ist Forever Alone Programming das Richtige für euch? Habt Ihr „FAP“ schon geforkt oder seid Ihr eher Team Player? Lasst es uns in den Kommentaren wissen!

Verwandte Themen:

Geschrieben von
Sarah Schlothauer
Sarah Schlothauer
Sarah Schlothauer is an assistant editor for JAXenter.com. She received her Bachelor's degree from Monmouth University in Long Branch, New Jersey and is currently enrolled at Goethe University in Frankfurt, Germany where she is working on her Masters. She lives in Frankfurt with her husband and cat.
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu: