Worum geht es hier?

Ich bin gerade dabei, einen neuen Blog über Softwareentwicklung zu konzipieren. Du wirst dich sicher fragen, „noch ein weiterer Blog übers programmieren?“ – Jein. Klar geht es in diesem Blog auch ab und an über Programmierthemen, allerdings immer mit einem bestimmten Fokus: Qualität.

Qualität?

Für Softwarequalität gibt es viele Definitionen, vereinfacht lässt sich Softwarequalität allerdings wie folgt definieren:
  • sie funktioniert
  • der Quellcode ist leicht verständlich
  • neue Anforderungen lassen sich einfach und schnell umsetzen
  • ein Benutzer kann die Software intuitiv bedienen

Was ist das Problem?

Unsere Branche hat immer noch ein Qualitätsproblem. Insbesondere im Bereich Wartbarkeit und Code Qualität werden oft Kompromisse zugunsten kurzfristiger Ziele eingegangen. Das mag in manchen Fällen durchaus gerechtfertigt sein, oft fallen einem diese Entscheidungen aber früher oder später auf die Füße. Durch die Bewegung weg von schwerwiegenden Prozessen, hin zu leichtgewichtigen, agilen Entwicklungsmodellen nimmt die Verantwortung des Softwareentwicklers zu. Die Aussage „not my job“ gilt nicht mehr. Jeder Einzelne ist für die Qualität des abgelieferten Produkts verantwortlich. Und hier ist das Problem. Allzu oft habe ich selbst Aussagen wie „das ist fertig, ich muss nur noch Unit-Tests schreiben“ oder „Fertig, aber irgendwann müsste man das mal refaktorieren“, gehört. Aus irgend einem Grund lassen wir Entwickler uns immer wieder dazu hinreisen halbfertige Arbeiten abzuliefern.

Die Lösung?

Eine Einfache Lösung kann ich leider auch nicht bieten. Es liegt auch nicht an fehlenden Methoden und Techniken. Ich denke es ist eher eine Frage der eigenen Einstellung. Hierzu gibt es den Begriff „Software Craftsmanship“. Damit ist gemeint, dass wir Softwareentwickler uns nicht als Industriearbeiter, sondern als Handwerker verstehen sollten. Hast du einen (guten) Handwerker schon einmal „Fertig“ sagen gehört, während die Hälfte noch im Rohbau ist – wir Softwareentwickler machen das jeden Tag. Um die Qualität in unserer Branche zu heben brauchen wir keine schwerwiegenden Prozesse. Stattdessen muss jeder Einzelne dazu bereit sein, das Bestmögliche abzuliefern. Das heißt manchmal auch, Konflikte mit Kunden oder Vorgesetzten einzugehen falls die Qualität zur Disposition steht. Dass das nicht Einfach ist versteht sich von selbst. Ich möchte mit meinem Blog meine Erfahrungen, die ich in den letzten Jahren über diese Thematik gesammelt habe teilen. Dabei wird es teilweise um harte technische Themen, zum Teil auch um die sozialen Aspekte in einem Entwicklerteam gehen. Zudem freue ich mich über spannende Diskussionen mit meinen Lesern.

Ein paar Fragen an Dich

  • Was hältst Du von diesem Konzept?
  • Welche Fragen, Probleme oder Wünsche hast Du im Bezug auf Softwarequalität?
  • Wie wird Qualität in Deinenm Team gelebt, bzw. gibt es überhaupt ein Qualitätsproblem?
 PS: Dieser Artikel ist Teil der ersten Aufgabe der Blog Momentum Challenge 2016
Werbeanzeigen