Wie wir Software entwickeln Code is Beautiful <3

Sie haben nun Konzept und Design zu Ihrer neuen Lösung. Jetzt muss gebaut werden. Dieser Artikel gibt einen Einblick in unsere Prozesse während der eigentlichen Software-Entwicklung, damit Sie wissen, was Sie bei einer Zusammenarbeit mit uns zu erwarten haben.

Projekt-Management Mit System

Wir werden Features priorisieren und einen groben Fahrplan für das Projekt aufsetzen. Einer von uns wird der Projektmanager für das Projekt sein und den Kunden durch das gesamte Projekt führen. Eine einzelne Kontaktperson zu haben erleichtert allen Parteien den Workflow und reduziert die Wahrscheinlichkeit dass Missverständnisse aufkommen.

Da Projektanforderungen nicht in Stein gemeißelt sind hilft uns ein agiler Entiwcklungs-Workflow, während der Entwicklung Änderungswünsche des Kunden mit aufzunehmen. Das heißt wir bauen Software Feature für Feature, vom Wichtigsten zum Unwichtichsten.

Wir setzen wöchentliche oder zweiwöchentliche Meetings mit dem Kunden fest, um frühzeitig Raum für Feedback und Anpassungen zu schaffen.

Solide Architektur und Technologien

Bevor wir mit dem programmieren anfangen können, müssen wir die passenden Technologien für das Projekt wählen und eine solide Architektur konzipieren.

Neben den Geschäftserfordernissen gibt es weitere Faktoren die hier einen Einfluss haben:

Mit diesen Informationen können wir eine Architektur aufsetzen, die mit dem Kunden wächst und sich an sein Geschäft anpasst.

Architektur Beispiel

Beispiel-Architektur (in Englisch)

Dann können wir die Technologien und Entwicklungs-Tools wählen, die unsere Ziele am besten unterstützen. Es gibt eine Anzahl undterschiedlicher Datenbank- und Cachingsysteme, Backend- und Frontend-Frameworks mit verschiedenen Vor- und Nachteilen. Wir wägen alles gegeneinander ab und kommen so gemeinsam mit allen Entwicklern von Ihnen und uns, die an dem Projekt arbeiten zu einer passenden Lösung.

Eine typesche Auswahl an Technologien:

Wenn Ihnen diese Punkte nichts sagen, seien Sie einfach versichert dass wir mit bewährten und modernen Technologien arbeiten, die uns ermöglichen Ihr Projekt auf ein solides Fundament zu stellen ohne dabei eine hohe Produktivität und schnelle Entwicklungszyklen zu verlieren.

Überragender Workflow – Technisches Setup und Entwicklungsprozess

Wenn ein gutes Architektur-Konzept steht können wir die Entwicklung starten.

Für mittlere bis größere Projekte nutzen wir Vagrant für unsere Entwicklungs-Umgebungen, sodass jeder Programmierer auf dem gleichen System, aber unabhängig voneinander arbeiten kann. Wenn dies dem Produktivsystem ähnelt können wir von Anfang an viele Kompatiblitäts- und Kollaborations-Probleme umgehen.

Das Entwickler-Team wird auch einen Git-Workflow wählen, an den sich alle bei der gesamten Entwicklung halten. Code-Styleguides werden auch für jede verwendete Sprache gewählt bevor wir mit dem Programmieren starten, sodass ein einheitlicher Stil gewährt ist. Diese werden durch einen gründlichen Code-Review-Prozess gesichert.

Außerdem dokumentieren wir jede Architektur-Entscheidung und den gesamten Code während wir die Software entwickeln. Das versichert, dass unser Code einfach von anderen Entwicklern verstanden werden kann, was Ihnen wiederum die Möglichkeit gibt, frei über Ihre zukünftigen Entwicklungspartner zu entscheiden.

Manchmal macht es Sinn ‘Pair-Programming’ anzuwenden, um so robusten Code wie möglich abliefern zu können. Das ist sehr hilfreich bei komplexen Problemen und Algorithmen, bei denen zwei Köfe einfach besser sind als einer…

Und nicht zuletzt werden wir den aktuellen Stand der Software auf ein privates ‘Staging-Environment’ installieren, damit Sie uns regelmäßig Feedback geben und Anpassungswünsche äußern können. Jedes Feature wird natürlich ausgiebig von uns getested bevor wir es an Sie übergeben.

Deployment Live schalten & Zukunft

Sobald Sie mit der Software zufrieden sind, helfen wir Ihnen, sie auf den finalen Servern einzuspielen. Natürlich sind wir hier flexibel und richten uns nach Ihren Vorstellungen und Anforderungen.

Wenn Sie wünschen, dass wir die Software langfristig betreiben, bieten wir Ihnen gerne eine maßgeschneiderte Lösung an.

Weiter lesen