Die 4 Mythen der Produktivität
Sie wollen die Produktivität der Softwareentwicklung bei sich selbst, in Ihrem Team oder Ihrer Organisation verbessern? Dann lesen Sie weiter und wir werden gemeinsam einige Mythen entlarven.
Schnelligkeit versus Qualität
Mythos: Jedes Projekt in der Softwareentwicklung ist ein Kompromiss zwischen Schnelligkeit und Qualität.
Wahrheit: Bei der Produktivität in der Softwareentwicklung gibt es keinen Konflikt zwischen Schnelligkeit und Qualität.
„Wenn die Qualität gut ist, ist die Entwicklung einfacher.”
Hohe Qualität ermöglicht hohe Geschwindigkeit. Dies ist die Erkenntnis aus vielen beliebten agilen Methoden, wie z. B. der testgetriebenen Entwicklung (TDD), der kontinuierlichen Integration und von DevOps. Wenn man sich nicht mehr genug auf die Qualität konzentriert, bauen sich immer mehr technische Schulden auf. Ziemlich bald geht das gesamte Budget für die Wartung drauf und es bleibt nichts für Investitionen übrig. Sie müssen Ihr System (bzw. die Systemumgebung) in einem Zustand erhalten, in dem Sie tatsächlich etwas verändern oder verbessern können.
Wenn Sie mehr über Qualität und darüber, wie man sie erreicht, erfahren möchten, empfehle ich Ihnen den World Quality Report.
Fähigkeiten versus Quantität
Mythos: Softwareentwickler sind nur Ressourcen und können bei Bedarf ausgetauscht werden.
Wahrheit: Im Hinblick auf die Produktivität bei der Softwareentwicklung gibt es große Unterschiede zwischen den einzelnen Entwicklern!
Es gibt individuelle Unterschiede zwischen den einzelnen Entwicklern. Nehmen wir einfach einmal an, dass ein durchschnittlicher Entwickler eine Produktivität von 1 hat. Ein schlechter Programmierer hat vielleicht eine Produktivität von 0 oder sogar -1. Das bedeutet, dass sich die Leistung eines schlechten Entwicklers und die eines mittelmäßigen Entwicklers tatsächlich gegenseitig aufheben können. Ein super toller Programmierer kann aber andererseits eine Produktivität von 10 oder sogar 30 haben. Ein solcher Entwickler kann ganze Teams an Entwicklern ersetzen. Also ja, es geht darum, die richtigen Leute zu haben.
Man benötigt Zeit, um ein Hochleistungsteam in der Softwareentwicklung aufzubauen. Sofern Sie sich nicht explizit darauf konzentrieren, ein sogenanntes Transactive Memory (dt. transaktives Gedächtnis) im Team herzustellen, wird es bis zu einem Jahr dauern, bis sich diese Verbesserung von alleine einstellen wird. Menschen sind keine Topfpflanzen, die man auf Anweisung des Gärtners einfach von einer Stelle an eine andere stellen kann. Sie sind Bäume mit tiefen Wurzeln. Ihre Wurzeln werden verletzt und hinterlassen ein großes Loch, wenn man sie versetzt.
Agile versus Wasserfall
Mythos: In anderen Branchen arbeitet man erfolgreich mit der Wasserfall-Methode und darum sollten wir das auch tun.
Wahrheit: Seit den 1950er Jahren ist viel passiert und nicht einmal im Baugewerbe arbeitet man noch mit Wasserfall.
Es gibt einen grundlegenden Unterschied zwischen der Massenproduktion (Reproduktion) und Branchen mit viel mehr Ungewissheit und Designarbeit, wie in der Softwareentwicklung oder sogar der Baubranche. Aber Moment mal, ist die Baubranche nicht das Aushängeschild der Wasserfall-Methode? Es beginnt alles mit dem Architekten, dann geht es weiter mit den Ingenieuren, dem Bau des Gebäudes und schließlich dessen Nutzung. Ja, das war die Situation in den 1950er Jahren, als sich der Bau von Gebäuden auf der grünen Wiese abspielte. Aber das hat sich geändert. In der Baubranche geht es heutzutage ums Renovieren, Aufarbeiten und Umbauen bereits existierender Gebäude – und niemand weiß, was sich in einer Wand oder unter einem Boden verbirgt. Auch die Baubranche bewegt sich auf einen agileren Ansatz zu.
Natürlich gibt es in Agile einige Voraussetzungen, damit alles gut funktioniert, aber die kann man nicht loswerden, indem man sie ignoriert. Wenn Sie nicht bereits agil arbeiten, ist es für die Produktivitätssteigerung und Problemlösung enorm wichtig ist, agil zu werden.
Cloud versus On-Premise
Mythos: Die Cloud besteht einfach nur aus Servern in der Cloud – sie kann Ihre Produktivität nicht verbessern.
Wahrheit: Die Cloud ist einer der stärksten Motoren für die Produktivität in der Softwareentwicklung.
… und zwar auch, wenn Sie die Cloud lediglich als eine Möglichkeit sehen, Server zu mieten (Infrastructure-as-a-Service), was schon an sich deutliche Vorteile für die Produktivität in der Softwareentwicklung hat. Die Fähigkeit, in wenigen Sekunden eine ganz neue Umgebung zu bekommen, ermöglicht beispielsweise Continuous Integration und Deployment und sogar DevOps, was die Produktivität stark steigern kann. Die Cloud ist aber mehr als eine reine Infrastruktur. Heutzutage ist es nur noch eine Frage von Stunden, bis man nach der Fertigstellung des Designs anfangen kann, die ersten Produkte in seinem Online-Shop zu verkaufen. Und das alles aufgrund von Manufacturing-as-a-Service, Logistics-as-a-Service und sogar eCommerce-as-a-Service. Das gleiche gilt nicht nur für physische Produkte sondern auch für die Softwareentwicklung.
Dieser Text stammt aus dem Blog von Greger Wikstrand und wurde von uns ins Deutsche übersetzt.