Buchreihe: Produktivitätssteigerung in der Softwareentwicklung, Teil 2: Managementmodell, Aufwandsermittlung und KPI-basierte Verbesserung
Von Stefan Luckhaus
()
Über dieses E-Book
In der Softwareentwicklung ist Produktivität ein Maß dafür, wie viel Funktionalität in einer bestimmten Zeit und unter Einhaltung festgelegter Qualitätskriterien entwickelt werden kann. Gelingt eine Produktivitätssteigerung, erhöht dies den Umfang der entwickelten Funktionalität und reduziert die erforderliche Zeit. Beides ist erstrebenswert, denn Software ist der Stoff, aus dem Innovationen entstehen. Die IT hat nahezu alle Lebensbereiche durch fundamentale Innovationen verändert. Unsere Zukunft wird von der Virtualisierung und smarten Helfern, also mit Intelligenz ausgestatteten Dingen, dominiert werden. Dadurch wird Softwareentwicklung zu einer Schlüsselkompetenz. Für Unternehmen, die Software entwickeln, sind bereits heute Produktivität und damit Zeit, jedoch auch Qualität kritische Erfolgsfaktoren.
Durch die Einführung von Standards und durch Automatisierung konnte die Produktivität in der Softwareentwicklung nachweislich auf das 20-fache gesteigert werden. Bei Wiederverwendung fachlicher und technischer Komponenten konnte schon ein Faktor von 100 gemessen werden. Nachvollziehbar sind solche Leistungsunterschiede nur durch Messungen und die konsequente Verwendung der Messergebnisse im Rahmen eines auf ständige Optimierung ausgelegten Managementmodells.
Dieser zweite Teil, "Managementmodell,
Aufwandsermittlung und KPI-basierte
Verbesserung", beschreibt ein Modell, das auf drei Kennzahlen basiert: Produktivität, Kosten und Qualität. Es erklärt ihre zyklische Erhebung, ihre analytische Auswertung und Indikatoren, die zu Verbesserungsmaßnahmen in wichtigen Einflussbereichen führen. Um den Nutzen der Maßnahmen vorab einschätzen zu können, liefert es Erfahrungswerte wie auch ein Verfahren zur Berechnung ihrer Wirksamkeit. Das beschriebene Modell ist ein Navigationsinstrument, das dem Management zeigt, in welche Richtung, mit welcher Geschwindigkeit es sich angesichts seiner Kennzahlen bewegt.
Mehr von Stefan Luckhaus lesen
Risiken in der IT: Erkennen - Steuern - Verbessern: Ein Modell für effektives Risikomanagement in Entwicklung und Betrieb Bewertung: 0 von 5 Sternen0 BewertungenAufwandsschätzungen in der agilen Softwareentwicklung: Einsatz von Methoden zur Messung des funktionalen Umfangs Bewertung: 0 von 5 Sternen0 Bewertungen
Ähnlich wie Buchreihe
Ähnliche E-Books
Basiswissen Testautomatisierung: Aus- und Weiterbildung zum ISTQB® Advanced Level Specialist – Certified Test Automation Engineer Bewertung: 0 von 5 Sternen0 BewertungenPraxiswissen Softwaretest - Test Analyst und Technical Test Analyst: Aus- und Weiterbildung zum Certified Tester - Advanced Level nach ISTQB-Standard Bewertung: 0 von 5 Sternen0 BewertungenQualitätssicherung mit JavaScript und PHP Bewertung: 0 von 5 Sternen0 BewertungenGateway Management: Qualitätscontrolling in der Produktentwicklung der Zulieferindustrie: Assessment-Leitfaden für Gateway Systeme Bewertung: 0 von 5 Sternen0 BewertungenDas ERP als Erfolgsfaktor für Unternehmen: Grundlagen, innerbetriebliche Funktionen, E-Business, Auswahlmethode Bewertung: 0 von 5 Sternen0 BewertungenWorkshops im Requirements Engineering: Methoden, Checklisten und Best Practices für die Ermittlung von Anforderungen Bewertung: 4 von 5 Sternen4/5Softwarestabilität in der Industrie Bewertung: 0 von 5 Sternen0 BewertungenAnalyse und Durchführung eines Benchmarks von fachspezifischer Software für FMEA: Masterarbeit an der Hochschule Ravensburg-Weingarten Bewertung: 0 von 5 Sternen0 BewertungenQuantitatives Entwicklungsmanagement: Modellbasierte Analyse von Produktentwicklungsprozessen Bewertung: 0 von 5 Sternen0 BewertungenEvaluierung des kollaborativen Lifecycle-Managements mit der IBM Jazz Plattform Bewertung: 0 von 5 Sternen0 BewertungenApps effektiv managen und vermarkten: Die eigene App erfolgreich veröffentlichen: Von der Konzeption bis zur Vermarktung Bewertung: 0 von 5 Sternen0 BewertungenDigitalisierung in einem Produktionsunternehmen: Modellbildung und Methoden für die Einführung von einem Manufacturing Execution System (MES) Bewertung: 0 von 5 Sternen0 BewertungenProzessgesteuerte Anwendungen entwickeln und ausführen mit BPMN: Wie flexible Anwendungsarchitekturen wirklich erreicht werden können Bewertung: 0 von 5 Sternen0 BewertungenExtreme Programming (XP) für Scrum- Master und Product Owner: Scrum-Implementation mit XP-Praktiken effizienter gestalten Bewertung: 0 von 5 Sternen0 BewertungenFunktionale Sicherheit in der Praxis: Anwendung von DIN EN 61508 und ISO/DIS 26262 bei der Entwicklung von Serienprodukten Bewertung: 0 von 5 Sternen0 BewertungenMetriken für das Testreporting: Analyse und Reporting für wirkungsvolles Testmanagement Bewertung: 0 von 5 Sternen0 BewertungenSoft Skills für IT-Berater: Workshops durchführen, Kunden methodisch beraten und Veränderungen aktiv gestalten Bewertung: 0 von 5 Sternen0 BewertungenGrundlagen der Softwareentwicklung Bewertung: 0 von 5 Sternen0 BewertungenKostenoptimierte Anwendungsentwicklung: Reduzierung der Entwicklungskosten durch Trennung der Datenverwaltungs- und Fachfunktionen Bewertung: 0 von 5 Sternen0 BewertungenIT-Aussichten für Verbände und Organisationen: In den nächsten zehn Jahren Bewertung: 0 von 5 Sternen0 BewertungenSAP Business One® Dashboards: Bessere Ergebnisse mit SAP Business One® Bewertung: 0 von 5 Sternen0 BewertungenContinuous Delivery: Der pragmatische Einstieg Bewertung: 0 von 5 Sternen0 BewertungenSoftwareentwicklungsprozess: Von der ersten Idee bis zur Installation Bewertung: 0 von 5 Sternen0 BewertungenLean Six Sigma: Methoden zur Produktionsoptimierung Bewertung: 0 von 5 Sternen0 BewertungenZertifizierung für Softwarearchitekten: Ihr Weg zur iSAQB-CPSA-F-Prüfung Bewertung: 0 von 5 Sternen0 BewertungenMicrosoft Dynamics NAV 2018 RapidStart Bewertung: 0 von 5 Sternen0 BewertungenAutomotive SPICE® in der Praxis: Interpretationshilfe für Anwender und Assessoren Bewertung: 0 von 5 Sternen0 BewertungenReviews in der System- und Softwareentwicklung: Grundlagen, Praxis, kontinuierliche Verbesserung Bewertung: 0 von 5 Sternen0 BewertungenLean Testing für C++-Programmierer: Angemessen statt aufwendig testen Bewertung: 0 von 5 Sternen0 Bewertungen
Natur für Sie
Changa: Die rauchbare Evolution des Ayahuasca Bewertung: 0 von 5 Sternen0 BewertungenCannabis Bewertung: 0 von 5 Sternen0 BewertungenTraumpflanzen: Mit Pflanzenkraft luzides Träumen unterstützen Bewertung: 0 von 5 Sternen0 BewertungenDas Kraterbeet: Mischkultur im runden Beet - Kraterbeete, Senkgärten und Sonnenfallen Mit Gemüseporträts für die Anbaupraxis Bewertung: 0 von 5 Sternen0 BewertungenDie Streuobstwiese: Vielfalt erhalten - Lebensräume schaffen - Besonderes genießen Bewertung: 0 von 5 Sternen0 BewertungenPermakultur praktisch: Schritte zum Aufbau einer sich selbst erhaltenden Welt Bewertung: 3 von 5 Sternen3/5Tierkommunikation - Selbstheilungskräfte aktivieren: für Anfänger und Fortgeschrittene Bewertung: 0 von 5 Sternen0 BewertungenAlles auf Grün – Das Handbuch für nachhaltiges Gärtnern und klimafreundliche Gartengestaltung: Artenvielfalt fördern, plastikfrei gärtnern, umweltfreundlich anbauen – Mit vielen nachhaltigen Projekten: Hochbeet aus Restholz, Fledermauskasten, Insektenhotel, Umwelttoilette und vieles mehr Bewertung: 0 von 5 Sternen0 BewertungenRevolution im Hundetraining: Hundeerziehung durch liebevolles Training Bewertung: 3 von 5 Sternen3/5Food Fix: So retten wir unsere Gesundheit, unsere Wirtschaft, unsere Gesellschaft und unseren Planeten Bewertung: 0 von 5 Sternen0 BewertungenInsektenkunde: Entomologie Bewertung: 0 von 5 Sternen0 BewertungenNarrenschwämme: Psychoaktive Pilze rund um die Welt Bewertung: 5 von 5 Sternen5/5Schön wild!: Attraktive Beete mit heimischen Wildstauden im Garten - 22 Gestaltungsideen für jeden Standort Bewertung: 0 von 5 Sternen0 BewertungenFilmverrückter und Serienjunkie: Stars, Filme und Serien Bewertung: 0 von 5 Sternen0 BewertungenImkern mit der Einraumbeute: Einfach und wesensgemäß Bienen pflegen - Das Original von Mellifera e.V. Bewertung: 0 von 5 Sternen0 BewertungenPflanzencode: Der Schlüssel zum Pflanzenreich Bewertung: 3 von 5 Sternen3/5Ein Hoch auf das Beet: Hochbeete bauen, bepflanzen, pflegen Bewertung: 0 von 5 Sternen0 BewertungenAuf gute Nachbarschaft: Mischkultur im Garten. Gemüse - Kräuter - Zierpflanzen Bewertung: 3 von 5 Sternen3/5Gaias Garten: Mit Permakultur nachhaltig gärtnern - Die Perfekte Anleitung für Selbstversorger Bewertung: 0 von 5 Sternen0 BewertungenGärtnern nach dem Terra-Preta-Prinzip: Praxiswissen für dauerhaft fruchtbare Gartenerde Bewertung: 0 von 5 Sternen0 BewertungenDas Kompostbuch: Gartenpraxis für Selbstversorger und Hobbygärtner Bewertung: 0 von 5 Sternen0 BewertungenBäume verstehen: Was uns Bäume erzählen, wie wir sie naturgemäß pflegen Bewertung: 0 von 5 Sternen0 BewertungenGehölze schneiden: Ratgeber Blumen und Garten Bewertung: 0 von 5 Sternen0 BewertungenEssbare Wildpflanzen: 200 Arten bestimmen und verwenden Bewertung: 0 von 5 Sternen0 BewertungenFoto Praxis Bäume fotografieren: Bildgewaltige Fotos symbolträchtiger Bäume in der ganzen Republik gekonnt inszeniert Bewertung: 0 von 5 Sternen0 BewertungenPsychedelische Tomaten: und andere Geschichten aus dem Schatten der Nacht Bewertung: 0 von 5 Sternen0 Bewertungen...Als die Noten laufen lernten...Band 2: Kabarett-Operette-Revue-Film-Exil. Unterhaltungsmusik bis 1945 Bewertung: 0 von 5 Sternen0 BewertungenViva Vortex: Alles lebt - Quanten sind Wirbel sind verschachtelte Rückkopplungen Bewertung: 5 von 5 Sternen5/5
Verwandte Kategorien
Rezensionen für Buchreihe
0 Bewertungen0 Rezensionen
Buchvorschau
Buchreihe - Stefan Luckhaus
Einleitung:
Factories - von der Manufaktur zur Softwareproduktion
Eine Steigerung der Produktivität bedeutet für Software entwickelnde Unternehmen [Wallmüller 1990]:
Softwareprodukte in kürzeren Zeitintervallen entwickeln;
Softwareprodukte so entwickeln, dass sie einen höheren Return on Investment liefern;
Softwareprodukte mit höherer Qualität entwickeln.
Niemand wird daran zweifeln, dass es sich dabei um erstrebenswerte, manchmal sogar essenzielle Ziele handelt. Genau diese Eigenschaften sind beispielsweise für Startups in den ersten Finanzierungsrunden entscheidend, wenn es um die Entwicklung eines digitalen Geschäftsmodells und dessen Bewertung durch Investoren geht. Die erste Frage, die dieses Buch klären möchte, ist: In welchem Maße kann die Produktivität gesteigert werden, d.h. welche Verbesserungen hinsichtlich der oben genannten Punkte können in der Praxis erwartet werden?
Das Potenzial von Produktivitätssteigerungen
Die Bandbreite der Produktivität, die in der heutigen Praxis der Softwareentwicklung gemessen werden kann, ist sehr hoch. Die Ursache dafür ist ein großer Nachholbedarf dieser Branche gegenüber anderen Bereichen der industriellen Entwicklung. Abbildung 1 zeigt Erfahrungswerte der PASS Consulting Group für verschiedene Entwicklungsparadigmen, die jeweils als Verhältnis von Output zu Input errechnet wurden. Der Output wurde mit der Data Interaction Point-Methode (Einheit: DIP), der Input in Personentagen (PT) gemessen [Luckhaus 2014].
Abbildung 1: Erfahrungswerte für erreichbare Produktivität
Die Manufaktur – Softwareentwicklung als Handwerk
Im Kontext dieser Produktivitätsbetrachtung steht die Softwaremanufaktur für einen Softwarehersteller mit nachfolgend beschriebenen Eigenschaften: Software wird von Grund auf als Unikat hergestellt und sowohl die implementierte Funktionalität als auch der Entwicklungsprozess sind individuell. Die Entwicklung nutzt bestehende Programmiersprachen, Compiler, Entwicklungsumgebungen, einige Werkzeuge usw., zeichnet sich ansonsten jedoch durch Handarbeit aus. Produkt-und Prozessqualität sind stark von der Erfahrung und den Fähigkeiten der Entwickler abhängig.
PASS verfügt über Erfahrungen und Messwerte der Produktivität aus eigenen Projekten wie auch aus Kundenprojekten, die nach Art einer Manufaktur durchgeführt wurden. Ihre Produktivität liegt in der Regel wenig über 1 DIP/PT. Laufen Projekte schlecht, ist auch eine Produktivität möglich, die deutlich unter 1 DIP/PT liegt. Gut laufende Projekte können einen Wert von 2 erreichen. Darüber hinaus gehende Produktivitätssteigerungen sind bei dieser Art der Softwareentwicklung nicht zu erwarten.
Entwicklungsstandards
Softwareentwicklung wird produktiver, wenn technische und Prozessstandards festgelegt und genutzt werden, beispielsweise:
Programmierrichtlinien und Entwurfsmuster, unterstützt durch Entwicklungsumgebungen, die mit Versionsverwaltungssystemen, Werkzeugen zur Codeprüfung usw. integriert sind.
Frameworks als Entwicklungsrahmen mit wiederverwendbaren technischen Komponenten.
Standard-Architekturen, die in ihrem Zusammenspiel bewährte Systemkomponenten vorgeben und die Integration der zu entwickelnden Software mit diesen Systemkomponenten wie auch einen nachträglichen Austausch erleichtern.
Moderne Programmierparadigmen, welche einerseits Aufgaben an die unterliegende Plattform delegieren und dadurch die Menge des zu entwickelnden Codes reduzieren, andererseits die Stärken der Konzepte aus beispielsweise objektorientierter und funktionaler Programmierung kombinieren.
Prozessmodelle, durch die Prozesse und Methoden für alle Kompetenzbereiche der Softwareentwicklung festgelegt sind, einschließlich Vorlagen für alle zu erstellenden Dokumente.
Durch Standards können viele Anforderungen erfüllt werden, ohne dass dafür Code entwickelt und getestet werden muss. Sie schützen die Investition in das Softwareprodukt, da Prozess und Produkt unabhängig von der Erfahrung und den handwerklichen Fähigkeiten einzelner Prozessbeteiligter sind und vorab festgelegte Qualitätskriterien eingehalten werden. Handelt es sich um industrieweite Standards (beispielsweise Frameworks wie Hibernate, Spring, PrimeFaces usw.), kann meist auch unternehmensübergreifend auf Erfahrungen zurückgegriffen werden und Mitarbeiter für die Wartung und Weiterentwicklung sind leichter zu finden.
Zu Projekten, die Gebrauch von technischen und Prozessstandards machen ohne dabei jedoch Teilprozesse der Softwareentwicklung zu automatisieren, verfügt die PASS Consulting Group über Messungen, die eine Produktivität zwischen 2 und 4 DIP/PT aufzeigen. Gegenüber einem Projekt, das aufgrund einer eher handwerklich orientierten Arbeitsweise mit einer Produktivität von 1 DIP/PT abgeschlossen wurde, kann durch Standardisierung somit eine bis viermal so hohe Produktivität erreicht werden. Ein möglicher Vorteil wäre der gleiche Output bei einem Viertel der Kosten, alternativ jedoch auch die Entwicklung eines viermal so großen Funktionsumfangs bei gleichen Kosten.
Standardisierung ist ein erster Schritt von der Manufaktur zur Fabrik und eine wichtige Grundlage für den nächsten Meilenstein, die zunehmende Automatisierung entlang des Fertigungsprozesses.
Automatisierte Fertigungsprozesse
Modellbasierte Entwicklung mit automatischer Code-Generierung ermöglicht die Implementierung einer Software auf der abstrakten Ebene eines Modells an Stelle einer Programmiersprache. Ein Beispiel dafür ist die PASS Software Factory, mit der dieses Paradigma seit fast 20 Jahren in der kommerziellen, unter kritischer Betrachtung von Produktivität und Qualität permanent optimierten, Softwareentwicklung eingesetzt wird. Sie basiert auf Modellen für die verschiedenen Gestaltungsbereiche einer Software, d.h. Dialoge, Prozesse, Workflows, Datenstrukturen oder Schnittstellen sowie auf den Werkzeugen, mit denen Objekte in diesen Bereichen erstellt und verändert werden können wie beispielsweise grafische Benutzeroberflächen, Datenmodelle bzw. Modelle von Fachobjekten, einfache Prozessabläufe und Workflows mit mehreren Interaktionen der Benutzer. Der Entwickler verknüpft die verschiedenen Modelle, beispielsweise Workflows mit