Die Realität, in der man nicht lernt, wie man hochwertige Software entwickelt
(florianbellmann.com)Fehlende Ausbildung dazu, wie man Softwarequalität aufbaut
- Wenn man an der Universität Informatik studiert, fehlt eine Ausbildung zur Software-Qualitätssicherung (QA).
- Der Großteil der Zeit wird für Algorithmen, die Funktionsweise von Computern sowie die Geschichte von Sprachen und Konzepten aufgewendet.
- Es gibt Semester zu Projektmanagement-Ansätzen und Scrum, aber QA wird überhaupt nicht behandelt.
Wie Unternehmen Produkte termingerecht ausliefern
- Unternehmen streichen aus Budgetgründen QA-Standards und -Maßnahmen als Erstes aus Projekten.
- Wenn sich die Entwicklung verzögert oder der Umfang wächst, bleibt nicht genug Zeit für QA.
- Instabile Software wird nach minimalen, unstrukturierten Tests veröffentlicht.
Wie man dem Hamsterrad entkommt
- Es dauert Jahre, Erfahrung und Selbstvertrauen aufzubauen, um auf fehlende QA-Maßnahmen in Projekten hinzuweisen.
- Man stößt auf fehlendes Monitoring und erlebt Probleme wie ausfallende Produktionssysteme.
- Wenn QA-Maßnahmen nicht umgesetzt werden, entsteht das Problem, dass man es nie richtig lernt.
Über Geld sprechen
- Zu erklären, dass Software „stabiler“ werde oder „viel einfacher zu warten“ sei, ist für Nicht-Entwickler nicht konkret genug.
- Man muss über die Kosten sprechen, die entstehen, wenn keine QA gemacht wird.
- Es ist wirksam, QA-Maßnahmen anhand von Beispielen in Kostendimensionen zu erklären.
Minimale wirksame Dosis
- QA-Maßnahmen sollten nicht überentwickelt werden und den Projektfortschritt nicht blockieren.
- Wichtig ist, die Kernfunktionen einer Anwendung zu testen und sicherzustellen, dass sie immer wie erwartet funktionieren.
- Mit dem Konzept der „minimalen wirksamen Dosis“ (MED) beginnt man bei den wichtigsten Teilen.
Worauf man genau achten sollte
- Wenn man ein neues Projekt beginnt oder dazustößt, sucht man nach QA-Konzepten.
- Wichtig sind Dokumente oder Testpläne, die zeigen, dass das Team über QA nachgedacht hat.
- Wenn man neuen Code schreibt, sollte man die Tests gleich mit schreiben, damit der Code tatsächlich so strukturiert ist, dass er testbar ist.
Vorteile für das Projekt
- Indem man über Qualität spricht und mögliche Lösungen vorschlägt, erweitert man seinen Einfluss als Entwickler.
- Durch QA-Maßnahmen kann ein Projekt in gesundem Tempo wachsen.
Wie man ein Projekt verbessert
- Mit QA-Maßnahmen kann man in einem Projekt als jemand bekannt werden, der hochwertige Software schreibt.
- Man sollte im Projekt die MED berücksichtigen und im Team zur Stimme für Veränderung werden.
Meinung von GN⁺
Das Wichtigste an diesem Beitrag ist das mangelnde Bewusstsein für die Bedeutung von Qualitätssicherung (QA) im Softwareentwicklungsprozess und dafür, wie sie umgesetzt werden kann. QA wird oft übersehen, ist aber langfristig entscheidend für den Erfolg und die Stabilität eines Projekts. Der Beitrag ist für angehende Softwareingenieure interessant und nützlich, weil er die Bedeutung von QA verdeutlicht und konkrete Wege zeigt, wie sich QA in realen Projekten integrieren lässt.
1 Kommentare
Hacker-News-Kommentare
Software Engineering ist oft kein Kernthema der Informatik (CS), sondern wird in anderen Bereichen gelehrt und meist in Wahlfächern oder speziellen Software-Engineering-Kursen behandelt.
Die Zusammenarbeit mit Menschen mit einem Informatikabschluss ist erfahrungsgemäß einfacher. Sie verstehen die Bedeutung guter Algorithmen und versuchen nicht, Parser oder Kryptografie selbst zu implementieren.
Die Entwicklung hochwertiger Software kann man in erfahrenen Unternehmen lernen.
Die Behauptung, man müsse fehlerfreie Software termingerecht ausliefern, ist eine ungeeignete Prämisse für einen Artikel über Qualitätssoftware.
Es gibt Studiengänge für Computer Engineering sowie Universitäten, die Praktika und Praxiserfahrung betonen.
Die Behauptung, Universitäten würden industriellen Softwarebau lehren, ist übertrieben.
Das Argument, Software werde dadurch „stabiler“ oder „wartbarer“, überzeugt Menschen nicht, die nicht direkt an der Codebasis arbeiten.
Man kann drei von vier Dingen haben: Qualität, Zeit, Kommunikationskomplexität und Kosten.
Softwareentwickler haben gelernt, wie man hochwertige Software erstellt, können das in der Praxis aber oft schwer umsetzen, weil MBAs oder Vorstände, die Unternehmen führen, das nicht verstehen.
Qualität ist letztlich eine Eigenschaft, die man nur durch praktische Übung erwerben kann.