7 Verschwendung in der schlanken Softwareentwicklung und wie man sie vermeidet
Veröffentlicht: 2022-04-18Lean-Process-Denken priorisiert die Eliminierung und Reduzierung von Verschwendung. Trotz des von großen Unternehmen verfolgten „schlanken“ Ansatzes bleiben einige standardmäßige „Abfall“-Praktiken aufgrund ihrer „offensichtlichen Natur“ bestehen. Die Natur, die tief in menschliche und organisatorische Praktiken eingraviert ist, ist hartnäckig, bis ein strenger Ansatz verfolgt wird.
Was ist Abfall?
Alles, was Ressourcen, Zeit oder Mühe erfordert, aber keine relevanten Ergebnisse in Bezug auf Leistung oder Umsatz erzielt, wird als „Verschwendung“ bezeichnet.
Letztendlich ist das Verfahren zur „Verschwendungsreduzierung“ so konzipiert und geleitet, dass die Teamproduktivität und die Ergebnisse gesteigert werden.
Da die Lean-Softwareentwicklung jedoch der Urvater der Agilität ist, können wir diese sieben Prinzipien zur Abfallreduzierung bei der Softwareentwicklung und -entwicklung anwenden, um effektive Produkte und Dienstleistungen zu erzielen, Kosten zu senken und die Produkteinführungszeit zu verkürzen.
1. Teilweise erledigte Arbeit
Wenn die vorherige Arbeit nie wieder aufgenommen wird, war dieser Aufwand verschwendet.
Jegliche Arbeit, bis sie fertig/abgeschlossen ist, trägt nicht zum Wertversprechen des Kunden bei; Daher verschwendet es Zeit und stellt eine Herausforderung dar, den Code zu warten, wenn es angehalten wird.
Ein aktuelles Beispiel ist, wenn ein Kunde Änderungen oder zusätzliche Funktionen für ein Produkt benötigt. Das Unternehmen ist bestrebt, sie dringend fertigzustellen; Das Entwicklungsteam muss die laufende Arbeit stoppen und auf die Anforderungen reagieren. Auf der gleichen Seite, wenn die vorherige Arbeit nie wieder aufgenommen wird, war es eine Zeitverschwendung.
oder
Uncodierte Dokumentation: Die Anforderungen sind gründlich detailliert, werden aber nie implementiert.
Wie lässt sich diese Verschwendung reduzieren?
- Der Fokus sollte auf dem „Fertigstellen“ und nicht nur auf dem „Starten“ eines Projekts liegen.
- Reduzieren Sie die Laufzeiten von laufenden Arbeiten.
- Hören Sie auf, auf die detaillierte Spezifikation zu jeder Anforderung zu warten, bis das Team bereit ist, die Bemühungen umzusetzen (dann ist es kein verlorener Fall).
2. Zusätzliche Prozesse
Jeder hinzugefügte Prozess oder jede ungelesene Dokumentation, die keinen praktischen Wert vermittelt und das Timing oder die Ausführung des Produkts auf dem Markt unnötig verlängert, ist eine Verschwendung.
Die Geschäftsrichtlinien schreiben jedoch oft solche Dokumente vor, mit beträchtlichem Papierkram, der jedoch nie gelesen wird. Diese Bemühungen sind extravagant.
Typische Beispiele:
- Unnötige Detaillierung der Dokumentation.
- Zusätzliche Verwaltung oder Planung ohne Ausführung.
Wie kann man es reduzieren?
Organisationen können unterscheiden, was eine verlorene Sache/Bemühung ist und was Wert bringt, der Fokus sollte auf der Erzielung sinnvoller Ergebnisse liegen und Anstrengungen kanalisieren, um mehr „Qualitätsarbeit“ zu leisten, indem die „Quantitätsarbeit“ begrenzt wird.
3. Zusätzliche Funktionen
Alle Funktionen oder Funktionen mit geringem Wert, die für/vom Kunden hinzugefügt, aber nicht angefordert werden/nicht zur Umsatzsteigerung beitragen, sind Zeitverschwendung.
Unternehmen machen diesen Entwicklungsfehler, wenn sie Funktionen hinzufügen, die nicht viel genutzt oder ausgeübt werden; Diese neue Funktion sitzt tatsächlich im Leerlauf und erhöht die Komplexität der Anwendung.
Die Software 80/20-Regel spielt eine wichtige Rolle – 80 % der Benutzer nutzen nur 20 % ihrer Funktionen. Daher sollte der Fokus darauf liegen, diese 20 % Funktionen erstklassig zu machen, um die bestehenden Benutzer zu halten.
Zusätzliche Codes haben ihre Nachteile:
- Erhöht die Komplexität der Anwendung.
- Kann einen potenziellen Absturzpunkt für Anwendungen darstellen.
- Erfordert unnötigen Nachaufwand bei der Nachverfolgung und Wartung während des gesamten Produktlebenszyklus.
Wie lässt sich diese Verschwendung reduzieren?
Konzentrieren Sie sich auf die iterative Entwicklung – d. h. bauen Sie während der ersten Produktfreigabe robuste Primärfunktionen auf, die den USP Ihrer Anwendung definieren.

Konzentrieren Sie sich darauf, es funktionsfähig zu machen, und validieren Sie das Lernen der kontinuierlichen Weiterentwicklung des Produkts. Bauen Sie außerdem weiterhin geeignete Funktionen auf der Grundlage Ihrer Marktanalyse, Ihres Verbraucherverhaltens und Ihres Feedbacks auf.
4. Aufgabenumschaltung
Personen mehreren Aufgaben zuzuweisen, wenn sie damit nicht vertraut sind und ihren bestehenden Prozess behindern, kann einen enormen Teil ihrer Tage in Anspruch nehmen. Der effizienteste Weg, eine oder zwei bestimmte Aufgaben zu erledigen, besteht darin, eine nach der anderen zu erledigen.
Beim Wechseln zwischen Aufgaben gibt es einen geringen Zeitaufwand, um die vorhandene zu schließen und die andere in Schwung zu bringen. Dies wird als Kontextwechsel bezeichnet, und wenn Sie einen ständigen Übergang von einer zur anderen erwarten, häufen sich diese Inhaltswechsel an, die das verzögern „Ergebnis“ oder „Lieferzeit“.
Wie kann man es reduzieren?
Einfach – Eine Sache nach der anderen.
- Reduzieren Sie das Wechseln von Inhalten.
- Minimieren Sie Unterbrechungen oder Ablenkungen.
- Verschieben Sie die unwichtigen.
- Weisen Sie Ressourcen jeweils einem Projekt zu.
5. Warten/Verzögerungen
Genehmigungsabhängigkeiten sollten in erster Linie während der Produkt-Roadmap zeitlich festgelegt werden; Wenn kein bestimmtes Zeitintervall zugewiesen ist, seien Sie auf verspätete Antworten und Rückmeldungen vorbereitet. Verzögerungen hindern den Verbraucher auch daran, den tatsächlichen Wert des Produkts zu erkennen. Aber als Entwickler oder Designer müssen Sie auf die Genehmigung der geleisteten Arbeit warten; Daher können Sie den Zeitraffer nicht vollständig vermeiden.
Was können Sie tun, um dies zu reduzieren?
- Wählen/weisen Sie etwas zu, während Sie auf vorhandenes Feedback warten.
- Planen Sie Zeit für die Eingabe und Überprüfung ein.
- Erwägen Sie schnelle Anrufe, persönliche Gespräche, anstatt die Änderungen per E-Mail zu versenden.
- Regelmäßiges Feedback.
6. Bewegung
Wenn Entwicklungs- oder Forschungsteams mit erfassten Informationen übersät sind und diese nicht angemessen gekennzeichnet/beschriftet haben, kann es eine Ewigkeit dauern, bis die Verwirrung und der Besuch beseitigt sind. Wenn Informationen jedes Mal verlegt werden, wenn eine Leistung übergeben wird; es wird die Ergebnisse drastisch beeinträchtigen.
Wie kann man es reduzieren?
- Benennen Sie Zuweisungen oder erworbene Ressourcen.
- Reduzieren Sie Feedback-Timings.
- Zusammenarbeit auf Augenhöhe.
7. Mangel
Durch den Fehler verursachte Abfallmenge = (Auswirkung des Fehlers) x (Zeit, in der er unentdeckt bleibt)
Aufgrund ihrer Komplexität macht die Softwareentwicklung unvermeidliche Fehler, aber das Problem entsteht, wenn sie in Ausführung und Fixierung verlängert werden oder die Kosten, die durch Fixierung oder Nacharbeit entstehen, ins Gewicht fallen. Darüber hinaus können schwerwiegende Codefehler und Bugs potenziell den gesamten Produktlebenszyklus beeinträchtigen und behindern und es anfällig für Sicherheitsbedrohungen machen, was zu Millionen von Umsatzverlusten führt.
Was können Sie tun, um dies zu reduzieren?
- Sofort testen.
- Ständige Integration.
- Produkttests und so schnell wie möglich veröffentlicht.
