25
Gute Softwarequalität ist billiger ICT-Beschaffungkonferenz Bern, 24. August 2016

Gute Softwarequalität ist billiger€¦ · Projektmanagement Lieferantenführung Abnahme vorbereiten Releasemanagement Umsetzung neuer Funktionen Bugfixing 20% der SW-Kosten 80%

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Gute Softwarequalität ist billiger€¦ · Projektmanagement Lieferantenführung Abnahme vorbereiten Releasemanagement Umsetzung neuer Funktionen Bugfixing 20% der SW-Kosten 80%

Gute Softwarequalität ist billiger

ICT-Beschaffungkonferenz

Bern, 24. August 2016

Page 2: Gute Softwarequalität ist billiger€¦ · Projektmanagement Lieferantenführung Abnahme vorbereiten Releasemanagement Umsetzung neuer Funktionen Bugfixing 20% der SW-Kosten 80%

2

Fakten zur Firma sieber&partners

Gründungsjahr: 2000

Mitarbeitende: 30

Geschäftsleitung:

Standorte: Zürich, Bern

Tochterunternehmen:

Software Improvement Group AG

Innovationsplattform.ch GmbH

Schweizerisches Produktivitätsinstitut AG

Marc André HahnDr. Pascal Sieber Andreas Dietrich

Page 3: Gute Softwarequalität ist billiger€¦ · Projektmanagement Lieferantenführung Abnahme vorbereiten Releasemanagement Umsetzung neuer Funktionen Bugfixing 20% der SW-Kosten 80%

3

1. Das Beschaffungsdilemma

2. Softwarequalität und Auswirkung auf Kosten

3. Grösse – Qualität – Kosten

4. Beispiel für Umsetzung

Inhalte

Page 4: Gute Softwarequalität ist billiger€¦ · Projektmanagement Lieferantenführung Abnahme vorbereiten Releasemanagement Umsetzung neuer Funktionen Bugfixing 20% der SW-Kosten 80%

Das Dilemma

Page 5: Gute Softwarequalität ist billiger€¦ · Projektmanagement Lieferantenführung Abnahme vorbereiten Releasemanagement Umsetzung neuer Funktionen Bugfixing 20% der SW-Kosten 80%

5

Definition der Anforderungen

Lieferanten-auswahl

Entwicklung & Testing

Einführung Betrieb & Wartung

Beschaffungsprozess

Funktional AnforderungenNicht-Funktional AnforderungenTechnologische Anforderungen

Ausschreibung durchführenOfferten bewertenVertragsverhandlung führenLieferant auswählenProjektplanung machen

ProjektmanagementLieferantenführung

Abnahme vorbereiten

ReleasemanagementUmsetzung neuer FunktionenBugfixing

20% der SW-Kosten 80% der SW-Kosten

Page 6: Gute Softwarequalität ist billiger€¦ · Projektmanagement Lieferantenführung Abnahme vorbereiten Releasemanagement Umsetzung neuer Funktionen Bugfixing 20% der SW-Kosten 80%

6

Auswahlkriterien

ProduktQualität

?

Entwicklungs-prozess

Wartungs-kosten

Referenzen

Entwicklungs-kosten

Page 7: Gute Softwarequalität ist billiger€¦ · Projektmanagement Lieferantenführung Abnahme vorbereiten Releasemanagement Umsetzung neuer Funktionen Bugfixing 20% der SW-Kosten 80%

7

Wartungskosten

Machen den grössten Teil der Kosten eines System im gesamten Lebenszyklus aus (bis zu 80%)

In der Regel sind nur Kosten und nicht Leistungen im Blick

Sagen nichts über die Angemessenheit ausg

Kriterien

Entwicklungsprozess

Standards wie CMMI werden beachtet

Sind nur auf die Organisation bezogen, nicht auf das Produkt

Können Hinweis auf schlechte Qualität, aber nicht auf gute Qualität geben

Garantieren keine gute Qualität

Entwicklungskosten

Sind oft die wichtigste Entscheidgrundlage

Machen 20% der Kosten im Lebenszyklus aus

Bei öffentlichen Ausschreibungen sehr kleiner Spielraum

Referenzen

Geben Kundenzufriedenheit wieder

Zeigen Kompetenzen und Erfahrungen auf

Sagen nichts über Qualität und Angemessenheit des Preises aus

Page 8: Gute Softwarequalität ist billiger€¦ · Projektmanagement Lieferantenführung Abnahme vorbereiten Releasemanagement Umsetzung neuer Funktionen Bugfixing 20% der SW-Kosten 80%

8

Qualität des Sourcecodes wird häufig nicht geprüft!

Abnahmekriterium

Entwicklungskontrolle / Projektfortschritt

Risikomanagement

Folgen:

Scheinbar tiefe Entwicklungskosten werden mit vielfach höherenWartungskosten bezahlt

Höhere Entwicklungskosten

Höhrere Wartungskosten

Nur Kosten werden gemessen – keine Leistungen

Keine Lieferantensteuerung

Vendor Lock-In

Die Qualität ist wichtiger als der Tagessatz!

Qualität des Endprodukts

Page 9: Gute Softwarequalität ist billiger€¦ · Projektmanagement Lieferantenführung Abnahme vorbereiten Releasemanagement Umsetzung neuer Funktionen Bugfixing 20% der SW-Kosten 80%

Softwarequalität

Page 10: Gute Softwarequalität ist billiger€¦ · Projektmanagement Lieferantenführung Abnahme vorbereiten Releasemanagement Umsetzung neuer Funktionen Bugfixing 20% der SW-Kosten 80%

10

ISO 25010 Standard für Software Qualität

Software

Product Quality

ISO/IEC 25010

Maintain-

ability

Usability

Portability

Functional

suitability

SecurityCompatibility

Performance

efficiencyReliability

Maintain-

ability

Page 11: Gute Softwarequalität ist billiger€¦ · Projektmanagement Lieferantenführung Abnahme vorbereiten Releasemanagement Umsetzung neuer Funktionen Bugfixing 20% der SW-Kosten 80%

11

Volume

Duplication

Unit size

Unit com

plexity

Unit interfacing

Module coupling

Com

ponent balance

Com

ponent independence

Analysability X X X X

Modifiability X X X

Testability X X X

Modularity X X X

Reusability X X

ISO 25010: Wartbarkeit

Page 12: Gute Softwarequalität ist billiger€¦ · Projektmanagement Lieferantenführung Abnahme vorbereiten Releasemanagement Umsetzung neuer Funktionen Bugfixing 20% der SW-Kosten 80%

12

Rating Branchen Benchmark

Top 5 % der Branche

Zwischen 65%-95% der Branche

Zwischen 35%-65% der Branche

Zwischen 5%-35% der Branche

Schlechteste 5%

Technische Qualität von Software – Zertifizierung nach TüVit-Modell

Von (1-Stern) bis (5-Sterne) Bewertung basierend auf Benchmarks

Das Rating ist dynamisch

Rating basiert auf den wissenschaftlichen Modellen der Softwareentwicklung

Eine vollständige, automatische Source Code Analyse liefert die Kennzahlen

Der TÜVIT zertifiziert anhand der vollständigen, automatischen Source Code Analyse

Page 13: Gute Softwarequalität ist billiger€¦ · Projektmanagement Lieferantenführung Abnahme vorbereiten Releasemanagement Umsetzung neuer Funktionen Bugfixing 20% der SW-Kosten 80%

13

Technische Qualität und Lebenzykluskosten bei Software

Page 14: Gute Softwarequalität ist billiger€¦ · Projektmanagement Lieferantenführung Abnahme vorbereiten Releasemanagement Umsetzung neuer Funktionen Bugfixing 20% der SW-Kosten 80%

14

Fehler werden im 4-Sterne-System 3-mal schneller behoben als ein eime 2-Sterne-System

Durchsatz an Fehlerkorrekturen und Erweiterungen ist 7-mal höher

Produktivität steigt nahezu um den Faktor 11

Durchsatz in diesem Kontext bedeutet Anzahl behobener Fehler und Erweiterungen pro Monat pro 100'000 Zeilen Code

Produktivität bezieht sich auf die Anzahl Fehler und Erweiterungen (Issues) pro Entwickler pro Monat

Auswirkungen von Qualität

Page 15: Gute Softwarequalität ist billiger€¦ · Projektmanagement Lieferantenführung Abnahme vorbereiten Releasemanagement Umsetzung neuer Funktionen Bugfixing 20% der SW-Kosten 80%

Qualität – Grösse - Kosten

Page 16: Gute Softwarequalität ist billiger€¦ · Projektmanagement Lieferantenführung Abnahme vorbereiten Releasemanagement Umsetzung neuer Funktionen Bugfixing 20% der SW-Kosten 80%

16

Qualitativ gute Software hat ein besseres Softwaredesign, benötigt wenigerdoppelte Arbeiten, kann kostengünstiger getestet werden und ist leichter zuverändern, wenn sich die Anforderungen verändern.

Qualitativ gute Software erfordert kleinere Entwicklerteams, kleineEntwicklerteams haben weniger Overhead

(Quelle: Benchmarkdaten für ein 1000 Function-Point System in Java oder .net)

Qualitativ gute Software ist günstiger zu entwickeln

Page 17: Gute Softwarequalität ist billiger€¦ · Projektmanagement Lieferantenführung Abnahme vorbereiten Releasemanagement Umsetzung neuer Funktionen Bugfixing 20% der SW-Kosten 80%

17

Gemäss SIG Benchmark, sollte ein 4-Sterne System nicht grösser als 20-Mannjahre sein

Systemgrösse und –qualität stehen in Korrelation

Page 17 of 78

Maintainabilityrating

Volume in man years

MAX40 man years / 2.0

MPX348 man years / 1.7

0.5

1

1.5

2

2.5

3

3.5

4

4.5

5

5.5

1 10 100 1000

Page 18: Gute Softwarequalität ist billiger€¦ · Projektmanagement Lieferantenführung Abnahme vorbereiten Releasemanagement Umsetzung neuer Funktionen Bugfixing 20% der SW-Kosten 80%

18

0%

10%

20%

30%

40%

50%

60%

70%

80%

90%

100%

1 10 100 1000 10000 100000

Func onpoints

Projectfailurebysystemsize(notcumula ve)

Poorprojectquality

Projectdelay

Projectfailure

Systemgrössen und Projektscheitern - Statistik

Systemgrösse wird mit 2’300 Function Points geschätzt auf Basis der Gesamtgrösse

Success* probability about

60-65%

*Success=Good quality, on time, in budgetSource: The Economics of Software Quality by Capers Jones (2012)

Page 19: Gute Softwarequalität ist billiger€¦ · Projektmanagement Lieferantenführung Abnahme vorbereiten Releasemanagement Umsetzung neuer Funktionen Bugfixing 20% der SW-Kosten 80%

Beispiel für ein Monitoring

Page 20: Gute Softwarequalität ist billiger€¦ · Projektmanagement Lieferantenführung Abnahme vorbereiten Releasemanagement Umsetzung neuer Funktionen Bugfixing 20% der SW-Kosten 80%

20

Beispiel für einen Monitoring Prozess

=Wöchentlicher Upload, Monitor Warnungen, reaktives Coaching

Erklärung des Modells u. Offerten-Analyse

[…]

M2

Kick-off/Technischer Workshop

Erster Upload & Konfiguration

Monat 1

2-monatlicher Report

[…]

M3

[…]

...

[…]

x

= Zweimonatlicher Workshop

2-monatlicher Report

2-monatlicher Report

[…]

M17

Zertifizierungoder QS-Gate

4-Sterne

M2

Kick-off/Technischer Workshop

Monat 1 M3 ... .. x

Page 21: Gute Softwarequalität ist billiger€¦ · Projektmanagement Lieferantenführung Abnahme vorbereiten Releasemanagement Umsetzung neuer Funktionen Bugfixing 20% der SW-Kosten 80%

21

Wer ist der Kunden des Monitorings?

Projektausschuss

Projekt-

sicherungProjektleiter

Projektteam

Auftraggeber

Empfehlungen für langfristigeUnternehmenssicht (1) und kurzfristige Projektsicht (2)

SRM

(Angelehnt an PRINCE 2 Projektorganisationsmodell)

Messungen und Feedback

Page 22: Gute Softwarequalität ist billiger€¦ · Projektmanagement Lieferantenführung Abnahme vorbereiten Releasemanagement Umsetzung neuer Funktionen Bugfixing 20% der SW-Kosten 80%

22

Test coverage of the back-end modules has improved from 45% to 89%

22

December report:

test coverage 45%

Current level: 89% test

coverage

Temporary issue with

test coverage upload

Test covera

ge

of ba

cken

d m

od

ule

s (

$)

Page 23: Gute Softwarequalität ist billiger€¦ · Projektmanagement Lieferantenführung Abnahme vorbereiten Releasemanagement Umsetzung neuer Funktionen Bugfixing 20% der SW-Kosten 80%

23

Duplication over time

23

Page 24: Gute Softwarequalität ist billiger€¦ · Projektmanagement Lieferantenführung Abnahme vorbereiten Releasemanagement Umsetzung neuer Funktionen Bugfixing 20% der SW-Kosten 80%

24

Qualität kann gemessen werden

Gute Qualität ist günstiger – die Qualität ist wichtier als der der Tagessatz

Die Qualität hat massgeblich Einfluss auf die Entwicklungkosten

Die Qualität hat massgeblich Einfluss auf die Wartungskosten

Die Qualitätsmessung während des Projekts erlaubt es, die Risiken im Beschaffungsprozess zu reduzieren und Kosten zu senken

Beispiele von Anwendungen:

Abnahmen in Abhängigkeit der Qualität der Lieferung (4-Sterne)

Effektiv bezahlte Preise in Abhängigkeit der Qualität der Lieferung

Boni in Abhängigkeit der Wartbarkeit

Projektsteuerung in Abhängigkeit entdeckter Risiken und objektivem Projektfortschritt

Benchmarks zu vergleichbaren Systemen

u.v.m.

Fazit

Page 25: Gute Softwarequalität ist billiger€¦ · Projektmanagement Lieferantenführung Abnahme vorbereiten Releasemanagement Umsetzung neuer Funktionen Bugfixing 20% der SW-Kosten 80%

Vielen Dank für Ihre Aufmerksamkeit!

Bern Zürich Triesen Gerra Verzasca

Marc André Hahn

[email protected]

078 686 85 16