Gibt es wirklich eine Lücke zwischen Management und Entwicklung?
Von Carsten
In den letzten Tagen denke ich wieder viel über Testing, Clean Code und generell den Entwicklungsprozess nach. Und manchmal unterhalte ich mich auch mit anderen, lebenden Menschen darüber. Und dabei kommen sehr unterschiedliche Standpunkte heraus.
Ich glaube zum Beispiel in meiner naiven Art daran, dass jeder in einem Unternehmen daran interessiert ist, eine aufgeräumte Codebasis zu haben und zu halten, damit neue Funktionen schnell und ohne großen Aufwand in die Software aufgenommen werden können. Weiter glaube ich daran, dass jeder daran interessiert ist, den Prozess bis zum Ausrollen der Software so einfach und schnell wie möglich zu gestalten.
Aber anscheinend teilt nicht jeder meine Meinung, und manch einer glaubt sogar daran, dass es in der Softwareentwicklung folgendes der Standard ist:
- starre Endtermine
- eine große Menge von Funktionen auf einen Schlag implementieren
- ohne nennenswerte Zeit für Unit Tests auskommen
- Wartungsarbeit am Code nur im Notfall vornehmen
Und vor allem
- die Projektleitung hält den Entwickler wissentlich mit zu engen Deadlines dazu an, schlechten Code abzuliefern.
Vielleicht sehe ich das viel zu schwarz/weiß. Aber ich war mittlerweile in genügend Projekten dabei, um verschiedene Ansätze zu kennen. Und auch wenn man seinen Code ohne automatisierte Unit Tests schreibt, wenn man keine Continuous Integration hat und wenn man nicht die neusten Frameworks einsetzt, kann man qualitativ hochwertigen Code schreiben.
Dazu gehört aber neben guten Entwicklern, die Clean Code ernst nehmen und ihren Job nicht nur als Geldmaschine ansehen, auch eine gute Projektleitung, die versteht, dass Clean Code nicht automatisch beim Herunterschreiben von neuen Funktionen entsteht. Guter, wartbarer Code ist kein Nebenprodukt, er ist das Ergebnis einer gemeinsamen Anstrengung des gesamten Teams - und ich schließe ketzerisch die Projektleitung mit ein. 😉