Von Anfang an, voran!

Webanwendungen beginnen mit einer Idee. Zumeist beschreibt die Idee einen Vorgang oder eine Funktion, die mittels Webinterface ermöglicht wird. Aufgabe des Webentwicklers ist es, die Funktionalität zu konzeptionieren und zu implementieren. Der Teil Konzept wird dabei oft kurz gehalten, weil für einen Webentwickler die pure Entwicklung den wesentlichen Teil der Arbeit darstellt. Das leitet er vermutlich aus seiner Berufsbezeichnung ab. Interessanterweise bestimmt die Gedankenkraft – die zuvor in der Konzeptionsphase investiert wurde – die Qualität einer Software (unabhängig davon, ob sie für das Web ist oder nicht).

Vor der Entwicklung ist die Konzeptionsphase wesentlicher Bestandteil der Problemlösung. Dazu muss zunächst das Problem definiert werden. Ist dies geschehen gilt es mögliche Lösungen zu finden. Nachdem der Lösungsweg grob skizziert ist, fangen Entwickler gerne direkt an Quellcode zu erzeugen. Fast wie ein Jäger, der die Beute erschiesst, bevor sie davon springt. Dabei ist tatsächlich nichts geduldiger als ein Problem, das darauf wartet gelöst zu werden.

Der WebSamurai zeigt in 8 Schritten, wie man die Konzeptionsphase nachhaltig verbessert:

Schritt 1: What is it all about?

Im besten Fall kann der Auftraggeber es formulieren – zumeist hilft der Entwickler: Das Pflichtenheft. Es beinhaltet eine Liste aller Funktionen, die das Endprodukt beinhalten soll. Ein Pflichtenheft lässt sich sehr schnell erarbeiten:

Alle Teilnehmer schreiben die gewünschten Funktionen auf Karten, jeweils eine pro Karte. Dubletten werden aussortiert und die übriggebliebenen grob in unterschiedliche Bereiche sortiert. Anschließend werden gemeinsam Prioritäten festgelegt sowie die Karten besonders gekennzeichnet, die für einen “minimalen Prototypen” vorhanden sein müssen.

Schritt 2: What it may be, one day?

Nun kommt der spannendste Teil: Alle Teilnehmer dürfen sich was wünschen. Dazu stellen sich alle vor, die gewünschten Funktionen wären alle umgesetzt. Was käme als Nächstes? Welche Anbindung an welches System wäre noch von Vorteil? Mit welcher Methode ließe sich ein weiteres Problem, vielleicht ein angrenzendes – vielleicht aber auch ein ganz anderes mit der Software lösen? Gibt es (zusätzliche) Einnahmequellen?

Alle Ergebnisse werden ebenfalls notiert. Zum Schluß kontrolliert man die Karten aus dem Pflichtenheft um nötigenfalls Dinge auszutauschen oder neue Schwerpunkte zu setzen. In 70% aller Fälle ist eine Korrektur der zuvor festgelegten Schwerpunkte sinnvoll.

Schritt 3: Wireframes

Stift und Papier zur Hand! Es werden Skizzen angefertigt, die darstellen wie das Endprodukt aussehen soll. Welche Funktion erscheint wo auf der Seite? Welche Bereiche werden zusammen angezeigt? Welche Inhalte haben wir bisher vergessen? Erst nachdem diese Fragen beantwortet sind kann es weitergehen.

Anmerkung: Der WebSamurai empfiehlt die ersten drei Phasen so analog wie möglich zu halten. Das Notebook bleibt aus. Das garantiert ein schnelles Vorankommen und zielgerichtete Konzepte. Gedanken sind flüchtig und der Versuch sie in die physische Welt zu holen wird durch den Einsatz eines Computers nur erschwert. Offene Kommunikation und schnelle, einfache Werkzeuge wie Stifte, Papier und Bauklötze eignen sich hervorragend dafür.

Schritt 4: Can it be done?

Nun muss das Medium verstanden und bedient werden. Notebook einschalten und die Technologiefrage klären: Welche Programmiersprache, welche Entwicklungsumgebung, welche Schnittstellen werden benötigt, Macht der Einsatz von Frameworks Sinn? Werden neue Technologien oder besondere Funktionen benötigt, ist diese Phase ideal eine Machbarkeit zu prüfen. Es darf auch schon Quellcode entwickelt werden, jedoch nur zu Demonstrationszwecken.

Schritt 5: How will we do it?

Alle Teilnehmer sollten sich auf einen Projektablauf einigen. Der WebSamurai empfiehlt SCRUM (siehe SCRUM). Sollte das nicht möglich sein, sollten zumindest Kompetenzen geklärt werden. Wichtige Fragen hierbei sind der Zyklus in dem Entwicklungsstände veröffentlicht werden, wer diese womit abnimmt und welche Funktionen bis wann entwickelt werden. Diese Phase erlaubt das Erstellen einer Roadmap, also einer Definition von Meilensteinen…

Schritt 6: Aufbau einer Entwicklungsumgebung

Bevor mit der Umsetzung begonnen wird ist die Entwicklungsumgebung entscheidend. Wo wird der Quellcode versioniert abgelegt? Auf welchen Maschinen wird das Produkt installiert? Wo ist ein Testserver, der fortlaufend versorgt wird (siehe “Fortlaufende Entwicklung”)? Beinhaltet der Entwicklungsprozess eine Reihe von manuellen Schritten sollten Automatismen geschaffen werden, die sich wiederholende Aufgaben übernehmen.

Schritt 7: Konsistentes Arbeiten

Insbesondere, wenn mehrere Entwickler involviert sind ist die Gleichartigkeit von Quellcode von Bedeutung. Was zumeist über sogenannte StyleGuides definiert ist, reicht aber nicht aus um ein einheitliches Gesamtbild zu erreichen. Es ist auch wichtig, wie Entwickler entwickeln, welche Informationen sie wo erwarten und warum sie manche Dinge so machen. Darüber sollten sich alle Entwickler austauschen, einen gemeinsamen Nenner finden und ihn schriftlich festhalten. Wer das konsequent umsetzt, hat es später leichter neue Mitarbeiter ins Projekt zu integrieren.

Schritt 8: Optimieren und Verbessern

Im Laufe der Entwicklung werden sich manche Vorgaben dynamisch ändern. Oder neu entwickelter Quellcode ermöglicht neue, ungeahnte Möglichkeiten. In diesem Fall sollte eine sofortige Kommunikation die Folge sein. Egal, welche Seite Änderungen feststellt – die andere Seite muss informiert sein. Aus sich daraus neu etnwickelnden Anforderungen können die besten Dinge entstehen. Vorrausgesetzt alle Teilnehmer sind daran interessiert und erlauben diese Beweglichkeit der Dinge.

Fazit

Projekte erfolgreich umsetzen ist Arbeit. Sie zahlt sich oft aus, wenn das Produkt einen unerwarteten Mehrwert bietet. Doch dazu bedarf es viel Disziplin und Durchhaltevermögen. In der Konzeptionsphase legt man die Grundsteine für gute Qualität und ein nachhaltiges wertvolles Produkt.

Subscribe to deliverance.de

Don’t miss out on the latest issues. Sign up now to get access to the library of members-only issues.
[email protected]
Subscribe