Abenteuer Qualität in der SW-Wartung

Post on 28-Nov-2014

148 views 7 download

description

Phänomen Software-Wartung, Software Evolution und deren Gesetze Typische Gefahren Beispiele für Wartungsprozesse Normen und Werkzeuge Diskussion

transcript

Dr. E. Wallmüller

QUALITÄT & INFORMATIK

Zürich, München und Wien

www.itq.ch

Abenteuer Qualität in der SW-Wartung

Version 1.1

2 Qualität & InformatikDr. E. Wallmüller

Ausbildung

Studium und Doktorat der Informatik an der J. Kepler Universität Linz, Lehrbeauftragter an

den Universitäten Linz, Salzburg und Zürich; Habilitation in Wirtschaftsinformatik – Thema:

„Prozess- und Qualitätsmanagement“; ISO 9001:2000 Auditor, ISO 15504 Competent Lead

Assessor, TPI- und CMMI-Assessor, EFQM-Assessor; Mitglied bei SwissICT, GI, IEEE, PMI

und STEV Österreich

Beruflicher Werdegang

• Leiter von Forschungs- und Entwicklungsprojektem in Software Engineering an der ETH

Zürich,

• Abteilungsleiter “Software Engineering und Qualitätssicherung” in der SBG/UBS,

• Senior Berater für ATAG Ernst & Young in der Schweiz, Österreich, Deutschland und

England,

• Principal, Prozess-Coach, Leiter des Project Quality Office und

Qualitätssysteme der Unisys (Schweiz) AG,

• Seit 1997 Geschäftsführer und Managementberater von Qualität & Informatik (www.itq.ch),

mit Partnern in Zürich, München und Wien

Arbeitsschwerpunkte

Qualitäts-, Prozess-, Projekt- / Risikomanagement sowie organisationsbezogenes

Veränderungsmanagement / Systemische Organisationsentwicklung und Management-

Coaching

„Bewusst

den

Wandel

gestalten

und leben!“

Qualität & Informatik

Ernest Wallmüller

3 Qualität & InformatikDr. E. Wallmüller

Agenda

• Phänomen Software-Wartung,

Software Evolution und deren Gesetze

• Typische Gefahren

• Beispiele für Wartungsprozesse

• Normen und Werkzeuge

• Diskussion

4 Qualität & InformatikDr. E. Wallmüller

5 Qualität & InformatikDr. E. Wallmüller

Software-Wartung

Sneed, 2001, Wartung im Vergleich zur Erstentwicklung:

Es ist zweierlei, eine neue Strasse zu bauen

oder eine bestehende Strasse zu reparieren

oder zu erweitern.

6 Qualität & InformatikDr. E. Wallmüller

8 Qualität & InformatikDr. E. Wallmüller

Evolutionsgesetze von Software1) Es ist wichtig, dass sich ein Programm im Laufe der Zeit anpasst. Evolution!

2) Das Feedback der Nutzer eines Programms hat Einfluss auf die neuen

Versionen des Programms.

3) Ein Programm wird durch die Entwicklung komplexer, es sei denn, es wird

gezielt gewartet, um es übersichtlicher zu halten. Anwachsende Komplexität!

4) Der Prozess der Software Evolution reguliert sich selbst. Prozessbildende

Maßnahmen und die Eigenschaften des Produktes unterliegen der

Normalverteilung.

5) Die am System geleistete Arbeit ist insgesamt gesehen immer gleich. Stetige

Arbeit!

6) In der Einsatzzeit eines Programms ist der Inhalt der neuen Versionen

statistisch gesehen gleichbleibend. Erhaltung der Ähnlichkeit!

7) Der funktionale Inhalt eines Programms muss kontinuierlich weiter anwachsen,

um den Ansprüchen der Nutzer gerecht zu werden solange das Programm im

Einsatz ist. Wachstum!

8) Von evolutionären Programmen wird erst einmal angenommen, dass

sich ihre Qualität verschlechtert. Es sei denn, es wird durch rigorose Wartung

und stetige Anpassung das Gegenteil bewirkt. Sich verringernde Qualität!

11 Qualität & InformatikDr. E. Wallmüller

Abschreibkosten

12 Qualität & InformatikDr. E. Wallmüller

15 Qualität & InformatikDr. E. Wallmüller

a generic term used to identify proposed changes to a software product

that is being maintained.

NOTE: The MR may later be classified as a correction or enhancement and

identified as corrective, preventive, adaptive, or perfective type maintenance.

MRs are also referred to as change requests.

Types of Maintenancenach ISO/IEC14764

16 Qualität & InformatikDr. E. Wallmüller

17 Qualität & InformatikDr. E. Wallmüller

Organisation der Wartung

Grundsatzentscheid für Alternative:

A1: "Die Wartung erfolgt durch

eine eigene Wartungsmannschaft".

A2: "Entwickler warten selbst".

18 Qualität & InformatikDr. E. Wallmüller

Das Entwicklungsteam ist auch Wartungsteam:- Projekte werden schwer planbar

- ev. kein klarer Ansprechpartner

+ optimales Know-how vorhanden

+ Kosten klein

Separates Wartungsteam:- Kosten (eh da)

- ev. Know-how

+ klarer Ansprechpartner, klare Verantwortung

+ es entsteht so etwas wie ein Wartungswissen

Mix (1 Wartungsmanager + Entw.-Team):~ Team hilft, wird gestört, aber weniger

+ Klare Anlaufstelle, Wissen entsteht

Siemens meint ...

Die häufigsten Gefahren

• Keinen Prozess verwenden / Spice Level 0 oder 1

• Zu schnell implementieren (ändern), weil CCB

fehlt

• Die Auswirkungen der Änderungen nicht kennen

• Kein Test oder unzureichende Tests vor Freigabe

• ...

20 Qualität & InformatikDr. E. Wallmüller

Wartbarkeit ist um so wichtiger ...

• je größer die geplante Verwendungsdauer der Software ist

• je mehr Personen an ihrer Entwicklung beteiligt sind

• je geringer die Verfügbarkeit von Experten für das Sachgebiet ist

• je größer die Wahrscheinlichkeit ist, dass nicht die Entwickler

der Software selbst die späteren und erfahrungsgemäß

unvermeidbaren Änderungen durchführen werden.

21 Qualität & InformatikDr. E. Wallmüller

CR-Process: Scheme

CCCB-

Core Mbr

CCCB-Team

CCCB-Team

Analyst

MCCB-Team

Analyst

Release Mgr /

Project Mgr

CCCB = Customer Change Control Board; TCCB = Technical Change Control

Board

MCCB = Management Change Control Board; Mbr.= Member; Mgr = Manager

Is CR qualified to start with work?

Does Pre-Analysis propose possible solution(s)

with acceptable effort/costs for analysis?

Does Analysis propose a feasible solution with

acceptable effort/costs for implementation?

Construct, test and deliver specified

solution

CCCB 1

Check & Submit

Pre-analysis

CCCB 2

Analysis

Implementation

Roll-Out

MCCB

Start

End

TCCB

Prepare CR for evaluation

Perform Pre-Analysis (results in memo)

Perform Analysis, results in memo, get

OK by TCCB, collect estimates of

effort/costs

23 Qualität & InformatikDr. E. Wallmüller

AVL: SW-Maintenance Process “Q-days”

Reproduction of selected Problems in

Graz using simulators

Quality Test Engineer (QTE)

Test

QTE

Delivery to Customer

Help-line

Bug fixing

Bug fixing

Bug fixing

All SW-Dev.Engineers

Wednesday +Thursday

of even weeks

Mee

tin

g:

Pri

ori

tiza

tio

n o

f H

elp

line-

Cas

es

and

Ass

ign

men

t to

En

gin

eers

Tuesdayof odd weeks

Mee

tin

g:

Pri

ori

tiza

tio

n o

f H

elp

line-

Cas

es

and

Ass

ign

men

t to

En

gin

eers

14 days

25 Qualität & InformatikDr. E. Wallmüller

CSFS

Domain

Architects

Chief

Architect

Vision

Business

Requirements

Technology

others

CSEvo

Strategy Development Cycle

Strategic

Objectives

for ALA

CSFS IT-Strategy

Applications

Landscape

Strategy

Stakeholder Consultation

DxB/STC IT-A Approval

CL0304

Architecture Checklist

Project Development Process

PRBPRB

Active Measures

PC’s

Feedback from “Real Life”

Str

ate

gy I

mp

lem

enta

tion

Str

ate

gy D

eve

lop

ment

Strategy

Approval

26 Qualität & InformatikDr. E. Wallmüller

Hilfsmittel,

Normen & Werkzeuge

27 Qualität & InformatikDr. E. Wallmüller

Hilfsmittel für die Wartung

• Einsatz eines reifen Wartungsprozesses/Wartungsplans

• Verwendung von Standards

z.B. IEEE 1219, ISO 14764, ISO 12207, ISO 9126

• Messung und Analyse mit Wartungsmetriken

(Änderungsrate, McCabe, ...)

• regelmässige Wartungsassessment

• Toolunterstützung z.B. CM, Analysewerkzeuge,

Wartungsumgebung

• Aufklärung und Training

28 Qualität & InformatikDr. E. Wallmüller

ISO/IEC 12207 Software Lifecycle Processes (1)

29 Qualität & InformatikDr. E. Wallmüller

ISO/IEC 12207 Software Lifecycle Processes (2)

Anstoss durch Modification Request (MR);

Dieser wird vom Entwickler in einen Problem Report

(korrektive Wartung) oder ein Enhancement Request

(adaptive oder perfektive Wartung) umgewandelt!

Wartungsmetriken

• SEI: size, effort, cost estimation, schedule,

complexity (z.B. Maß von McCabe), quality

(Defekte), understandability (Checkliste),

maintainability (Checkliste)

• NASA: size, staffing, request

number/status, enhancement

numbers/status, resource utilization, fault

density, volatility, discrepancy report open

duration, break/fix ratio, reliability, design

complexity, fault type distribution

31 Qualität & InformatikDr. E. Wallmüller

Software Tomography mit Sotograph

Tool Sotograph für Qualitätsanalysen

von Java/C/C++ Code

- Environment

- Predefined analysis queries

- Architecture and rule checking

- Graphical views

- ...

www.software-tomography.com

33 Qualität & InformatikDr. E. Wallmüller

34 Qualität & InformatikDr. E. Wallmüller

Dumke, 2004

35 Qualität & InformatikDr. E. Wallmüller

Product Quality Assessment

37 Qualität & InformatikDr. E. Wallmüller

Szenario 2: Review-Unterstützung

38 Qualität & InformatikDr. E. Wallmüller

Zusammenfassung - Lessons Learned

Bewußtsein u. Transparenz schaffen

durch Fakten bezügl. Wartungstätigkeiten und

Wartungskosten

Stellen Sie einen geordneten Übergang von Entwicklung

zur Wartung sicher

Organisieren Sie sich richtig

(reife Prozesse, CCB, Tools, ...)

Bei Entwicklungsprojekten vorsorgen

(Q-Ziele, Architektur, Anforderungsklassifikation, Doku, ...)

Investieren Sie in die Wartbarkeit!

39 Qualität & InformatikDr. E. Wallmüller

Q & A

Ernest Wallmüller

Mobile 0041 79 402 44 11

wallmueller@itq.ch

Qualität & Informatik

Zürich,

München &

Wien

Besten Dank für Ihre

Aufmerksamkeit!

41 Qualität & InformatikDr. E. Wallmüller

Literatur

Burghardt M.: Projektmanagement, Siemens Leitfaden, Publis MCD Verlag, 2000

Thomas Pigoski: Practical Software Maintenance, John Wiley & Sons Inc, 1996

B. Wix und H. Balzert: Software-Wartung, BI Wirtschaftsverlag, 1988

Michael A. Curth und Martin L. Giebel: Management der Software-Wartung,

Teubner, 1989

Phillips Dwayne: The Software Project Managers Handbook, IEEE, 1998

Seacord, Plakosh, Lewis: Modernizing Legacy Systems, Addison-Wesley, 2003

Wallmüller E.: Software-Qualitätsmanagement in der Praxis, Hanser, 2001

Walker Royce: Software Project Management, Addison Wesley, 1998

42 Qualität & InformatikDr. E. Wallmüller

Internetadressen

Reverse Engineering Links .......................................

Software Maintenance and Evolution: A Roadmap ..

Software Maintenance ...............................................

Continuous SWE / Fraunhofer ISST .........................

Evolving Legacy System ...........................................

Reengineering Forum:

industrielle Vereinigung zu Problemen des RE .......

Reengineering am Software Engineering Institut .....

(Carnegie Mellon University, USA)

www.imagix.com

www.softwaresystems.org/evolution.html

www.iis.ee.ic.ac.uk

www.continuous-engineering.de

citeseer.ng.nee.com

www.reengineer.org/

www.sei.cmu.edu/reengineering/