Qualität der Software steigern

Was Clean-Code-Entwickler können

29.06.2012 von Bianca Hennemann
Ein guter Entwickler zeichnet sich nicht nur fachlich aus, sondern auch durch seine "weichen" Kompetenzen. Das gilt umso mehr für Programmierer, die ihre Arbeit an den Prinzipien von Clean Code Development (CCD) ausrichten.

Die geänderten Anforderungen an Softwareentwickler zeigen sich schon in der heutigen Ausbildung, die sich neben der Informatik in fachspezifische Studiengänge wie Wirtschafts- und technische Informatik unterteilt. Gleichzeitig arbeiten im Gegensatz zu früher immer mehr Entwickler gemeinsam daran, Lösungen umzusetzen. In der Praxis aber wird nach wie vor recht uneinheitlich programmiert. Entsprechend notwendig erscheint es daher, eine Grundlage zu schaffen, die Orientierung und allgemeingültiges Verständnis für alle Softwareentwickler bietet.

Geteilte Verantwortung

Clean Code Development strebt eine Reduzierung von Fehlern und stabilere Softwarelebenszyklen an.
Foto: N-Media-Images - Fotolia.com

Eine derartige Basis bilden die Prinzipien und Praktiken des Clean Code Development (CCD). Es verfolgt den Anspruch, die Qualität von Software zu steigern. Lange Entwicklungszeiten, die bei Software-Funktionserweiterungen häufig zu hohen Kosten führen, lassen sich durch die Ausrichtung auf CCD verkürzen. CCD reduziert Fehler und stabilisiert insgesamt den Softwarelebenszyklus. Doch wie wird man ein Clean Code Developer?

Wer nach dem Wertesystem von Clean Code Development arbeiten möchte, sollte sich zunächst mit den darin beschriebenen Techniken auseinandersetzen, die auf Evolvierbarkeit, Korrektheit, Produktionseffizienz und Reflexion basieren. Damit Entwickler sich damit gut vertraut machen können, sind die Praktiken in mehrere Lernmodule unterteilt. Diese widmen sich einschlägigen Themen rund um nachhaltige Softwareentwicklung wie dem Schreiben automatisierter Tests und Prinzipien zur Codestrukturierung.

Durch die Fokussierung auf ein allgemeinverständliches Vorgehen in der Softwareentwicklung gelingt es, Verständnisschwierigkeiten aufzulösen, die eine individuelle Codestrukturierung mit sich bringt. Auf diese Weise bleibt zum Beispiel der Quellcode nicht nur für einzelne Entwickler nachvollziehbar, was sich auf die Teamarbeit positiv auswirkt und ein effektives Zusammenarbeiten ermöglicht. Fällt etwa ein Entwickler urlaubs- oder krankheitsbedingt aus, gefährdet das nicht das gesamte Projekt, weil sich Verantwortlichkeiten leichter teilen lassen.

Projekt-Manager
So kommen Sie groß raus ... oder?
Sie möchten, dass Ihre Projekte zäh verlaufen, weil Sie sich damit in der Firma profilieren können? Dann folgen Sie den Ratschlägen von Jürgen Rohr.
Tipp 1
Setzen Sie die Verantwortlichen unter Termindruck. Mit engen Terminen stellen Sie sicher, dass möglichst wenige Betroffene ins Boot geholt werden. Damit vermeiden Sie die sowieso unnötigen Diskussionen um Meinungs- sowie Wahrnehmungsunterschiede.
Tipp 2
Starten Sie mit einer problem-orientierten Ist-Analyse. Fragen Sie immer zuerst danach, was nicht gut läuft. Damit fokussieren Sie die Aufmerksamkeit aller Beteiligten auf die Schwächen der Organisation. Sie stellen sicher, dass niemand auf die Idee kommt, sich auf den Erfolgen der Vergangenheit auszuruhen.
Tipp 3
Geben Sie möglichst kein zusammenfassendes Feedback. Halten Sie die Betroffenen im Unklaren. Das fördert zwar die Gerüchteküche, hält aber den Änderungsaufwand für die Konzeptionierer gering. Sie erhalten schon mit dem ersten Wurf ein Konzept aus einem Guss - ohne lästige und zeitaufwändige Anpassung an unterschiedliche Wahrnehmungen der Beteiligten.
Tipp 4
Lassen Sie das Konzept ohne Beteiligung der Betroffenen ausarbeiten. Hier können Sie Aufwand und Budget einsparen. Jeder Betroffene wird mit seinen individuellen Ansichten sowieso nur das Konzept verwässern. Außerdem: Wenn ein Außenstehender den Sollzustand konzipiert, kommt endlich frischer Wind in die Organisation.
Tipp 5
Vermitteln Sie das Konzept frontal mit mindestens 100 PowerPoint Slides. Hier gilt: Je mehr Input, desto weniger lästige Rückfragen. Halten Sie das Präsentationstempo hoch. Planen Sie ja keine Zeit für die Diskussion ein. Das Konzept steht. Basta!
Tipp 6
Planen Sie keine Zeit für die Überarbeitung des Konzepts ein. Das wäre ja noch schöner: Sie planen knapp bei Budget und Terminen und wollen sich den Erfolg nicht durch unplanbare Überarbeitungsaufwände vermiesen lassen. Denn jede Überarbeitungsschleife würde den schönen Entwurf zerstören.
Tipp 7
Schränken Sie die Zugriffsrechte auf neue Tools möglichst stark ein. Ganz wichtig: Wenn Sie im Rahmen der Organisationsentwicklung neue Werkzeuge (zum Beispiel ein IT-System) einführen, achten Sie darauf, dass niemand außer den Konzeptionierern in der Lage ist, die Werkzeuge anzupassen.
Tipp 8
Lassen Sie die Betroffenen beim Umsetzen des Konzepts alleine. In diesem Punkt gilt das Motto: Die Leute werden sich schon umgewöhnen. Durch die Unterstützung während der Umsetzungsphase könnte wiederum das sorgfältig ausgearbeitete Konzept verwässert werden. Das ist unbedingt zu vermeiden.
Tipp 9
Vermeiden Sie persönlichen Kontakt zwischen den Beteiligten. Stellen Sie sich vor, was Sie hier an Reisekosten einsparen können. Diskussionen können auch per E-Mail geführt werden. Das spart richtig Geld.
Tipp 10
Betrachten Sie jegliches Feedback als persönliche Kritik. Wenn jemand mit einem Feedback zu Ihnen kommt, will er damit eigentlich sagen, dass Sie Ihre Arbeit nicht richtig gemacht haben. Das wirkt sich schlecht auf Ihr Selbstwertgefühl aus.

Auf Neues einlassen

Auch für CCD-Entwickler sind die "weichen" Kompetenzen wichtig. Denn es sind meist die Soft Skills, an denen nicht nur einzelne Personen, sondern auch ganze Teams und Projekte scheitern. Umso entscheidender ist es für einen Clean Code Developer, nicht nur strukturiert zu arbeiten, sondern auch eine positive und motivierte Haltung gegenüber seiner Tätigkeit mitzubringen.

Hierzu gehören vor allem die Bereitschaft, sich auf etwas Neues einzulassen, und die Disziplin, die erlernten Prinzipien zu festen Bestandteilen des Arbeitsalltags zu machen. Hinzu kommt die Motivation, sich immer wieder aufs Neue mit den einzelnen Modulen des Wertesystems auseinanderzusetzen und die eigene Arbeit zu reflektieren. Dabei braucht es auch ein gewisses Maß an Pragmatismus in der projektbezogenen Anwendung und die Fähigkeit, sich im Team darüber auszutauschen.

Freiräume zulassen

Die Weiterentwicklung der genannten Fähigkeiten ist vor allem Aufgabe des Vorgesetzten. Zunächst sind die Kompetenzen zu definieren und zu erfassen, um danach ein Anforderungsprofil zu erstellen und in einem Kompetenz-Management-Katalog anzulegen.

In der Verantwortung des Unternehmens liegt es, Freiräume zu schaffen, damit sich Softwareentwickler mit den einzelnen Bausteinen des Clean Code Development beschäftigen können. Nicht zu vergessen sind regelmäßige Reviews mit Teammitgliedern und weiterführende Schulungen. (hk)