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 BewertungenProzessgesteuerte Anwendungen entwickeln und ausführen mit BPMN: Wie flexible Anwendungsarchitekturen wirklich erreicht werden können 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 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 BewertungenIntegrierte Earned Value Analyse: Kostendifferenzierung, Anwendung für agile Projekte und auf Portfolioebene 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 Bewertungen
Natur für Sie
Anglizismen und andere "Fremdwords" deutsch erklärt: Über 1000 aktuelle Begriffe Bewertung: 0 von 5 Sternen0 BewertungenEssbare Wildpflanzen: 200 Arten bestimmen und verwenden 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 BewertungenZusammenfassung: Homo Deus: Eine Geschichte von Morgen: Kernaussagen und Analyse des Buchs von Yuval Noah Harari: Zusammenfassung 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 BewertungenLexikon der Symbole und Archetypen für die Traumdeutung Bewertung: 5 von 5 Sternen5/5Bäume verstehen: Was uns Bäume erzählen, wie wir sie naturgemäß pflegen Bewertung: 0 von 5 Sternen0 BewertungenDer Permakultur-Garten: Anbau in Harmonie mit der Natur Bewertung: 4 von 5 Sternen4/5Narrenschwämme: Psychoaktive Pilze rund um die Welt Bewertung: 5 von 5 Sternen5/5Kreative Bodenarbeit: Basisübungen und Erziehung an der Hand Bewertung: 0 von 5 Sternen0 BewertungenFarbstark mit sevengardens: Das Färbergarten-Netzwerk für eine bessere Welt. Mit Pflanzenfarben malen, färben und gestalten Bewertung: 0 von 5 Sternen0 BewertungenKleine Anleitung zum Gehölzschnitt: So einfach wie möglich! Obstbäume und Ziergehölze fachgerecht pflegen Bewertung: 0 von 5 Sternen0 BewertungenDas Sammeln von Moos: Eine Geschichte von Natur und Kultur Bewertung: 0 von 5 Sternen0 BewertungenDuft- und Heilpflanzen: sehen, verstehen, anwenden Bewertung: 5 von 5 Sternen5/5Food Fix: So retten wir unsere Gesundheit, unsere Wirtschaft, unsere Gesellschaft und unseren Planeten Bewertung: 0 von 5 Sternen0 BewertungenDas große Buch der Hühnerhaltung im eigenen Garten: Pflege, Haltung, Rassen Bewertung: 0 von 5 Sternen0 BewertungenGehölze schneiden: Ratgeber Blumen und Garten Bewertung: 0 von 5 Sternen0 BewertungenKostbares Unkraut: Wildkräuter-Delikatessen & Grüne Smoothies vom Wegesrand Bewertung: 0 von 5 Sternen0 BewertungenSo bleibt Ihr Pferd cool und gelassen: Gelassenheitstraining für Alltag und Prüfung Bewertung: 0 von 5 Sternen0 BewertungenDie Wahl der Pilze: Wie erkennt man Pilze im Wald leicht? Bewertung: 0 von 5 Sternen0 BewertungenWorkshop Korbflechten: Flechtarbeiten für den Garten - Schritt für Schritt selbst gemacht Bewertung: 0 von 5 Sternen0 BewertungenViva Vortex: Alles lebt - Quanten sind Wirbel sind verschachtelte Rückkopplungen Bewertung: 5 von 5 Sternen5/5Keine Angst vor Hanf!: Warum Cannabis legalisiert werden muss Bewertung: 0 von 5 Sternen0 BewertungenSchöne Wege im Naturgarten: Wege, Plätze und Einfahrten als Lebensräume Bewertung: 0 von 5 Sternen0 BewertungenDie Kraft von CBD Bewertung: 0 von 5 Sternen0 BewertungenMit Pferden spielen: Neue Ideen für Freizeitreiter Bewertung: 0 von 5 Sternen0 BewertungenHandbuch des Räucherns: Kräuter, Wurzeln, Rinden, Harze Bewertung: 0 von 5 Sternen0 BewertungenMenschenspuren im Wald: Ein Waldführer der besonderen Art - erkennen, verstehen, einmischen Bewertung: 0 von 5 Sternen0 BewertungenPilzvergnügt: Die Schätze des Waldes aufspüren: suchen, sammeln, satt sein das ganze Jahr Bewertung: 0 von 5 Sternen0 BewertungenKraftsträuße: Wilde Kräuter für magische Sträuße - individuell, bezaubernd, heilsam Bewertung: 0 von 5 Sternen0 Bewertungen
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