Die Softwareentwicklung als Disziplin ist seit Jahrzehnten eine polarisierende Kraft. Obwohl sie als logisches, analytisches und rationales Fachgebiet bekannt ist, ist sie mit Mythen und lang gehegten Traditionen behaftet, die bis heute propagiert und akzeptiert werden. Zwar sind einige Softwareentwickler und -anbieter begeistert davon, flexibler zu werden und sich von den traditionellen Ansätzen der Softwareentwicklung zu lösen, aber es gibt immer noch eine große Bevölkerungsgruppe, die sich gegen störende Veränderungen sträubt. Dies hat zu zahlreichen hitzigen Debatten zwischen IT- und Unternehmensleitern geführt, ohne dass ein Ergebnis erzielt wurde.
In diesem Artikel werden nur einige dieser Mythen genannt und entlarvt:
1.) Die Kunden wissen immer, was sie wollen, und können dies auch klar und deutlich zum Ausdruck bringen. Auf der anderen Seite gibt es den Mythos, dass Kunden keine Ahnung haben, dass sie etwas brauchen, bis Sie es ihnen zeigen. Die Wahrheit ist, dass Softwareunternehmen davon profitieren können, sowohl produkt- als auch
2.) Die Wasserfallmethode funktioniert immer noch für alle Arten von Softwareentwicklungsprojekten: Es ist erschreckend, wie viele Softwareanbieter immer noch davon ausgehen, dass das System bereits vor seiner Erstellung bis ins Detail spezifiziert werden kann. Es ist nicht nur schwer zu erreichen, sondern auch äußerst ineffizient, Entwicklungsschritte sequentiell auszuführen. Die andere Seite dieses Mythos ist, dass Agile völlig ohne Planung auskommt. Tatsache ist, dass eine detaillierte Planung für die Effektivität von Agile genauso wichtig ist wie für den Wasserfallansatz. Der Unterschied zwischen den beiden Methoden besteht darin, wie die Planung durchgeführt wird. Bei Waterfall erfolgt die Planung vor dem Bau, zu Beginn des Projekts, was die Flexibilität und Anpassungsfähigkeit stark einschränkt. Agile hingegen ermöglicht einen fortlaufenden Planungsmechanismus, bei dem Änderungen und Optimierungen im Laufe des Projekts in einer iterativen Weise vorgenommen werden.
3.) Software genau geschätzt werden kann und dass die Schätzung und die Dauer für die Erstellung der Software identisch sind. Sie sollten sich darüber im Klaren sein, dass Schätzungen nicht präzise sein können und immer ein gewisses Maß an Unsicherheit bestehen sollte. Es ist zu beachten, dass die Schätzungen anfangs von einem Teammitglied zum anderen je nach dessen technischem Wissen und Können stark variieren können. Schätzungen sind außerdem eine fortlaufende Tätigkeit. Je weiter das Projekt voranschreitet und je mehr neue Informationen zur Verfügung stehen, desto genauer können die Schätzungen für das gesamte Team gelten.
4.) Der Mythische Mann-Monat ist wahrscheinlich der populärste Mythos der Softwareentwicklung, der leider bis heute existiert. Er beruht auf der simplen Vorstellung, dass ein Entwicklungsteam effizienter arbeitet und schneller fertig wird, wenn es mehr Mitarbeiter hat. Tatsache ist, dass die Aufnahme weiterer Mitarbeiter in das Projekt zu einem kritischen Zeitpunkt den Zeitrahmen des Projekts verlängert und zu Frustrationen aufgrund von Problemen bei der Schulung und Zusammenarbeit führt.
5.) Die Softwareentwicklung kann als Projekt mit festen Kosten und festem Zeitrahmen betrachtet werden. Dieser Punkt geht wieder auf den Wasserfallansatz bei der Softwareentwicklung zurück. Es ist einfach nicht möglich, die Software im Detail zu planen, bevor sie erstellt wird. Die meisten Unternehmen lassen sich zwar vom Festpreismodell locken, müssen sich aber auch darüber im Klaren sein, dass damit mehrere versteckte Kosten verbunden sind - sowohl in Bezug auf die Qualität als auch auf die zusätzlichen Kosten, die entstehen, wenn das Projekt die zeitlichen Grenzen überschreitet.
6.) Das neueste, "modernste" Werkzeug oder die neueste Technologie oder Methode ist die magische Kugel, die großartige Ergebnisse hervorbringt und alle Ihre Probleme löst. Genau wie das alte Sprichwort "Ein schlechter Arbeiter gibt seinen Werkzeugen die Schuld" - wenn Sie qualitativ hochwertige Software entwickeln wollen, sollten Sie der Fähigkeit, dem kritischen, innovativen Denken und der Beweglichkeit die gebührende Bedeutung beimessen. Der Einsatz neuer und verbesserter Technologien ist nur die Kirsche auf dem Sahnehäubchen.
7.) Die Freigabe des Softwareprodukts bedeutet, dass das Projekt abgeschlossen ist. Sobald ein Produkt veröffentlicht ist, sollte der Schwerpunkt darauf liegen, aktiv Feedback von den Endbenutzern zu erhalten und dieses in einem iterativen Ansatz wieder in das Produkt einzubauen. Die Software muss laufend aktualisiert und überarbeitet werden, und es muss effizient nach Fehlern gesucht werden, damit Sie Ihren Kunden ein Produkt von höchster Qualität anbieten können.
8.) Agiles Arbeiten erfordert, dass Produktverantwortliche und Entwickler an einem Ort arbeiten. Mit moderner Kommunikationstechnologie ist das nicht mehr der Fall. Verteilte Teams können kollaborative Softwaretools und Systeme wie Instant Messaging, E-Mail, gemeinsame Kalender, Fernsteuerungssoftware, Bildschirmfreigabe und Audio-/Videokonferenzen nutzen, um an einer gemeinsamen Aufgabe zu arbeiten und auf dem Laufenden zu bleiben. Softwareunternehmen haben jetzt Zugang zu einer Vielzahl von frei verfügbaren und weltweit zugänglichen Kommunikationstools, die es Entwicklern an entfernten Standorten ermöglichen, nahtlos zu arbeiten und gemeinsame Ziele zu erreichen.
9.) Outsourcing löst alle Probleme. Tatsächlich hat das reine Outsourcing das Potenzial, weitaus schlimmere Probleme zu schaffen als die, mit denen Sie begonnen haben. Softwareanbieter sollten an langfristige Partnerschaften denken und sich auf ein engagiertes Teammodell einlassen, im Gegensatz zu Projekten mit festen Kosten, die in der Regel zu Frustration, unvollständigen Ergebnissen und exorbitanten Gemeinkosten führen.
10.) Outsourcing bedeutet Kompromisse bei der Qualität. Das ist bei weitem nicht wahr. Wenn Sie gut recherchiert vorgehen, kann Outsourcing/Offshoring tatsächlich dazu führen, dass Sie besseren Code erhalten und ein hervorragendes Produkt entwickeln. Das Offshoring ermöglicht Ihnen den Zugang zu einem breit gefächerten Talentpool mit Branchenkenntnissen, die Sie im eigenen Haus vielleicht nur schwer finden können. Scheuen Sie sich nicht, neue Strategien zu erkunden!
Welche Mythen sind Ihrer Meinung nach bei der Softwareentwicklung noch weit verbreitet? Wir würden es gerne wissen. Teilen Sie uns Ihre Meinung in den Kommentaren mit.
Verfasst von
Ankita Katuri
Software engineer at coMakeIT
Contact