Wunsch vs. Wirklichkeit, Teil 1: (Fach)Wissen innerhalb des Teams

Eigentlich sollte dieser Artikel den Titel „Drei Gründe, warum Softwareteams es nicht schaffen, regelmäßige Lieferung und hohe Qualität einzuhalten, Teil 1: Fehlendes (Fach)Wissen innerhalb des Teams“ tragen … aber ihr seht selbst.

Es könnte so einfach sein, ist es aber nicht. Kennt ihr den Song noch? Das ist mir als Erstes in den Sinn gekommen, als ich über das zu Grunde liegende Thema des Blogposts nachgedacht habe. Denn wäre es so einfach und ein Softwareteam befähigt, alle Entscheidungen selbstständig treffen zu können, würde ich diesen Blogpost hier nicht schreiben. Aber ihr ahnt es schon: Das ist natürlich Wunschvorstellung.

In der Theorie ist z. B. das Scrum Framework als Liefermodell der richtige Ansatz, möchte man meinen. Vernünftig angewendet, gibt es am Ende eines jeden Sprints immer ein fertiges Inkrement, das qualitätsseitig keine Einbußen hinnehmen muss.

Also: Regelmäßige Lieferung … Check. Hohe Qualität … Check.

Weiterlesen

7 Tipps, mit denen du deine Codequalität verbesserst

Welcher Entwickler kennt es nicht: Dein Chef möchte eine Änderung an einem bestehenden Programm – am liebsten gestern – und im Quellcode findet sich ein unverständlicher Haufen Code, teilweise Jahre alt, mit seitenlangen, auskommentierten Funktionen. Darüber Kommentare, die einerseits unverständlich formuliert wurden, andererseits nicht mehr im Mindesten zu dem Wust darunter passen. Garniert wird das Ganze mit der einen oder anderen To-do-Anmerkung, an die aber niemals wieder jemand gedacht hat und die mittlerweile auch komplett obsolet geworden sind.

Aber muss das sein? Geht das nicht auch anders? Die gute Nachricht: Aber ja! Es geht natürlich anders. Und einige der zahlreichen Tools und Techniken, die man einsetzen kann, um diesem Chaos zu entgehen, möchte ich dir gerne vorstellen.

Weiterlesen

Alles in Ordnung?

Eine gute Ordnung und Struktur in die Organisation des Quellcodes einzubringen ist grundlegend. Sie wirkt sich nicht nur positiv auf die Robustheit, Testbarkeit und Interoperabilität unserer Anwendung aus, sondern sorgt auch dafür, dass unser Programm von anderen Entwicklern leicht verstanden, übernommen und erweitert werden kann.

Unordnung ist in der Softwareentwicklung gleichzusetzen mit technischen Schulden. Unübersichtlichkeit, Wiederholungen und unerwünschte Abhängigkeiten in Quellcodes führen zu erhöhten Lieferzeiten und machen die Weiterentwicklung und Wartung eines Programms um ein Vielfaches teurer.

Ich erläutere in diesem Artikel, wie Unordnung in Softwareprojekten entstehen kann und gebe Tipps aus meiner persönlichen Erfahrung, wie man dieser mit der Etablierung einer dauerhaften Ordnungskultur entgegenwirken kann.
Weiterlesen