Diese Arbeit greift das aktuelle Thema des Qualitätsmanagements bei mittelständischen Softwareproduzenten als Untersuchungsobjekt auf. Dabei wird sich die Arbeit schwerpunktmäßig mit der Softwareentwicklung befassen.
Ziel der Arbeit ist es, die Softwareentwicklung im Allgemeinen, sowie das Qualitätsmanagement im Besonderen, in der mittelständischen Softwareproduktion zu beschreiben und zu analysieren. Dabei stützt sich die Arbeit neben verschiedenen wissenschaftlichen Quellen maßgeblich auf die persönlichen Erfahrungen des Autors, der seit mehreren Jahren als leitender Softwarearchitekt und Softwareentwickler bei einem mittelständischen Softwareproduzenten tätig ist.
Als Untersuchungsobjekt der Fallstudie dient die Softwareentwicklungsabteilung der D GmbH. Die D GmbH ist ein mittelständischer Softwareproduzent einer branchenneutralen, kaufmännischen Standardsoftware für den Mittelstand. Sie beschäftigt derzeit 20 Mitarbeiter, davon sechs Softwareentwickler.
In der Fallstudie wird die aktuelle Situation der Softwareentwicklungsabteilung bezogen auf das Qualitätsmanagement analysiert und bewertet. Die Analyse erfolgt auf Grund der persönlichen Erfahrungen des Autors. Maßgeblich für die Analyse wird neben einer Beschreibung des Unternehmens, der Produktpalette und der Prozesse in der Abteilung, eine Selbstbewertung nach der DIN 9004:2000 Normen sein.
Ziel der Fallstudie ist es, das aktuelle Niveau des Qualitätsmanagements in der Abteilung zu bewerten, sowie mögliche Probleme aufzuzeigen. Abschließend sollen auf Grund dessen, grundlegende Vorschläge zur Optimierung des Qualitätsmanagements erarbeitet werden.
Inhaltsverzeichnis
Abkürzungsverzeichnis
Abbildungsverzeichnis
Anlagenverzeichnis
Tabellenverzeichnis
1 Einleitung
2 Qualitätsmanagement in der Softwareentwicklung
2.1 Grundlagen und Begriffsdefinitionen
2.2 Qualitätsmanagementsysteme und –normen
2.2.1 Normen des Deutschen Instituts zur Normung e.V. (DIN)
2.2.2 Capacity Mature Model Integration (CMMI)
2.3 Begriffsabgrenzungen
2.3.1 Abgrenzung Qualitätsmanagement und Qualitätssicherung
2.3.2 Abgrenzung Softwareproduktion und Softwareentwicklung
2.4 Qualitätsmanagement der mittelständischen Softwareproduktion
2.4.1 Typologie kleiner und mittelständischer Softwareproduzenten
2.4.2 Vorteile von KMU
2.4.3 Konflikt zwischen Flexibilität und Formalisierung
2.4.4 Qualität durch agile Softwareentwicklung
3 Fallstudie: Analyse des Qualitätsmanagements bei einem kleinen Softwareproduzenten
3.1 Profil der D GmbH
3.1.1 Unternehmensprofil
3.1.2 Produktprofil
3.2 Aktuelle Qualitätsmanagementsituation in der Softwareentwicklungsabteilung
3.2.1 Aufgabe und Struktur der Abteilung
3.2.2 Beschreibung der Situation
3.2.3 Beurteilung der aktuellen Situation
3.2.4 Vorschläge zur Optimierung des Qualitätsmanagements
4 Fazit
Literaturverzeichnis
Anlage 1
Anlage 2
Anlage 3
Abkürzungsverzeichnis
Abbildung in dieser Leseprobe nicht enthalten
Abbildungsverzeichnis
Abbildung 1: Darstellung eines prozessorientierten Qualitätsmanagementsystems
Abbildung 2: Netzdiagramm, Ergebnis der Selbstbewertung nach ISO 9004:2000
Anlagenverzeichnis
Anlage 1: Selbstbewertung nach ISO 9004:2000
Anlage 2: Grafische Auswertung der Selbstbewertung
Anlage 3: Auswertung der Selbstbewertung nach Leistungsniveaus
Tabellenverzeichnis
Tabelle 1: Typologie KMU laut EU-Kommission
Tabelle 2: Anzahl Beschäftigte in KMU Softwarehäusern im Jahr 2002
Tabelle 3: Grundsätze des TQM in der Software-Entwicklung
Tabelle 4: Leistungsreifegrade
Tabelle 5: Gruppierung der Ergebnisse der Selbstbewertung
1 Einleitung
Diese Arbeit greift das aktuelle Thema des Qualitätsmanagements bei mittelständischen Softwareproduzenten als Untersuchungsobjekt auf. Dabei wird sich die Arbeit schwerpunktmäßig mit der Softwareentwicklung befassen.
Ziel der Arbeit ist es, die Softwareentwicklung im Allgemeinen, sowie das Qualitätsmanagement im Besonderen, in der mittelständischen Softwareproduktion zu beschreiben und zu analysieren. Dabei stützt sich die Arbeit neben verschiedenen wissenschaftlichen Quellen maßgeblich auf die persönlichen Erfahrungen des Autors, der seit mehreren Jahren als leitender Softwarearchitekt und Softwareentwickler bei einem mittelständischen Softwareproduzenten tätig ist.
Als Untersuchungsobjekt der Fallstudie dient die Softwareentwicklungsabteilung der D GmbH. Die D GmbH ist ein mittelständischer Softwareproduzent einer branchenneutralen, kaufmännischen Standardsoftware für den Mittelstand. Sie beschäftigt derzeit 20 Mitarbeiter, davon sechs Softwareentwickler.
In der Fallstudie wird die aktuelle Situation der Softwareentwicklungsabteilung bezogen auf das Qualitätsmanagement analysiert und bewertet. Die Analyse erfolgt auf Grund der persönlichen Erfahrungen des Autors. Maßgeblich für die Analyse wird neben einer Beschreibung des Unternehmens, der Produktpalette und der Prozesse in der Abteilung, eine Selbstbewertung nach der DIN 9004:2000 Normen sein.
Ziel der Fallstudie ist es, das aktuelle Niveau des Qualitätsmanagements in der Abteilung zu bewerten, sowie mögliche Probleme aufzuzeigen. Abschließend sollen auf Grund dessen, grundlegende Vorschläge zur Optimierung des Qualitätsmanagements erarbeitet werden.
2 Qualitätsmanagement in der Softwareentwicklung
In diesem Kapitel wird das Qualitätsmanagement in der mittelständischen Softwareproduktion thematisiert.
Um dies zu erreichen werden als erstes in dieser Arbeit verwendete Begriffe des Qualitätsmanagements grundlegend definiert (vgl. Kap. 2.1). Im Anschluss werden die für diese Arbeit relevanten Qualitätsmanagementsysteme (ISO 9000ff. und CMMI) beschrieben (vgl. Kap. 2.2). Da in der Praxis die Begriffe „Qualitätsmanagement“ und „Qualitätssicherung“, sowie „Softwareproduktion“ und „Softwareentwicklung“ häufig synonym im Einsatz sind, werden die Begriffe anschließend voneinander abgegrenzt (vgl. Kap. 2.3). Abschließend wird allgemein auf grundlegende Probleme des Qualitätsmanagements in der mittelständischen Softwareproduktion eingegangen (vgl. Kap. 2.4).
2.1 Grundlagen und Begriffsdefinitionen
Qualitätsmanagementsystem
Qualitätsmanagementsysteme sind prozessorientierte Ansätze der Unternehmensführung mit dem Ziel der ständigen Verbesserung und Bewertung der Qualität. Dabei müssen zahlreiche miteinander verknüpfte Wechselwirkungen verschiedener Prozesse erkannt und in Beziehung gesetzt werden (vgl. ISO 9000:2005, 2.4). Qualitätsmanagementsysteme sind ein Teilbereich des funktionalen Managements eines Unternehmens und sollen sicherstellen, dass im Wertschöpfungsprozess des Unternehmens der Qualität ein entsprechender Stellenwert eingeräumt wird. Dabei bezieht es sich sowohl auf vermarktete Produkte und Dienstleistungen, als auch die internen Prozesse in einem Unternehmen (vgl. Wikipedia, Ghw 2006). Beispiele für diese Systeme sind die DIN EN ISO 9000ff. Normen, sowie das CMMI (vgl. Kap. 2.2).
Zertifizierung
Eine Zertifizierung durch eine internationale Zertifizierungsorganisation erfolgt normalerweise in Form eines sog. Qualitätsaudits. Bei diesem wird ermittelt, ob ein Unternehmen die Anforderungen eines Qualitätsmanagementsystems erfüllt (vgl. Brockhaus 2004). Die Zertifizierung ist hierfür offizielle Bestätigung.
Total Quality Management (TQM)
„TQM ziel darauf ab, daß sich alle Beteiligten in einem der Wichtigkeit von Qualität bewußt werden und bei jedem ihrer Schritte die Qualitätswünsche der Kunden bedenken“ (vgl. Knöll 1996, 140). Beim TQM handelt es also eher um einen grundlegenden Ansatz im Bereich der Unternehmensphilosophie und nicht um ein Qualitätsmanagementsystem. Ein Qualitätsmanagementsystem ist somit lediglich ein Werkzeug, um die Ziele des TQM zu erreichen.
2.2 Qualitätsmanagementsysteme und –normen
2.2.1 Normen des Deutschen Instituts zur Normung e.V. (DIN)
Das Deutschen Instituts zur Normung e.V. (DIN) ist ein eingetragener gemeinnütziger Verein mit Sitz in Berlin, der bereits 1917 als Normungsinstitution gegründet wurde (vgl. DIN 2007). Das DIN hat verschiedene Standards, sog. Normen, entwickelt, die Festlegungen für verschiedene Bereiche der unternehmerischer Tätigkeit allgemeingültig vorgeben und beschreiben. Das vorrangige Ziel dieser Normen ist Kompatibilität und Qualität von Produkten verschiedener Hersteller sicherzustellen (vgl. Brockhaus 1999, 1).
Für diese Arbeit besonders zu erwähnen sind die Normen DIN EN ISO 9000, 9001 und 9004, welche beschreiben wie Qualitätsmanagementsystem aufgebaut und geführt werden sollte. Es wird allgemeingültig beschrieben, welchen Anforderungen an die Abläufe bzw. die Unternehmensführung gestellt werden, um diese Normen zu erfüllen. In Ihrer ursprünglichen Version richteten sich die Normen vorrangig an Fertigungsbetriebe. Eine erste Version dieser Normen wurden bereits 1980 veröffentlich, namentlich DIN 55350-11 als Vorgänger von DIN EN ISO 9000 (vgl. ISO 9000:2005, Frühere Ausgaben).
Für diese Arbeit wurden die o.g. Normen auf Grund der brachenneutralen Anwendbarkeit, sowie der weiten Verbreitung als maßgebliche Grundlage gewählt (vgl. Hauer 1996, 37ff.). Insbesondere können die verschiedenen Aufgaben und Grundsätze der Normen auch für das Qualitätsmanagement bei der Anwendungssoftwareentwicklung bei kleinen Softwareproduzenten angewendet werden (vgl. Knöll u.a. 1996, 125 ff.)
Wird in der Arbeit von „ISO“ gesprochen, so ist immer „DIN EN ISO“ gemeint, da die hier genannten entsprechenden ISO-Normen im Grunde 1:1 in die DIN EN Normen übernommen wurden (vgl. Brockhaus 1999, 2). Nachfolgend findet sich ein kurzer Überblick über die Inhalte der einzelnen Normen (vgl. ISO 9000:2005; ISO 9001:2000; ISO 9004:2000; Wikipedia, 84.130.37.36, 2006):
ISO 9000:2005
Beschreibt die Grundlagen und Begriffe.
ISO 9001:2000
Legt die konkreten Anforderungen an die Organisation fest. Diese sind zu erfüllen, um Produkte oder Dienstleistungen zu erstellen, die den Ansprüchen der Kunden genügen.
ISO 9004:2000
Stellt einen Leitfaden bereit, um die Wirksamkeit und Effizienz des Qualitätsmanagements im eigenen Unternehmen zu beurteilen. Er enthält Anleitungen um ein Unternehmen in Richtung Total Quality Management (TQM) zu steuern.
Da sich die Quellen dieser Arbeit teilweise noch auf die veraltete Norm DIN EN ISO 9004-1 beziehen, sei darauf verwiesen, dass diese mit der Veröffentlichung der Norm DIN EN ISO 9004:2000 vollständig neu bearbeitet und ersetzt wurde (vgl. ISO 9004:2000, Einleitung). Die verwendeten alten Inhalte behalten jedoch nach Ansicht des Autors auch in der neuen Version ihre allgemeine Gültigkeit.
Abschließend wird der idealtypische Ablauf eines Qualitätsmanagementsystem prozessorientiert dargestellt (vgl. ISO 9000:2005, Bild 1).
Abbildung in dieser Leseprobe nicht enthalten
Abbildung 1: Darstellung eines prozessorientierten Qualitätsmanagementsystems (vgl. ISO 9000:2005, Bild 1)
Abbildung 1 zeigt wie eine ständige Verbesserung des Qualitätsmanagementsystems durch Einbeziehung von Kunden und die Steuerung der internen Prozesse im Unternehmen erreicht werden soll.
2.2.2 Capacity Mature Model Integration (CMMI)
Die Capacity Mature Model Integration (CMMI) beschreibt ein umfangreiches Regelwerk zur Bewertung und Verbesserung des Qualitätsmanagements von Organisationen und Prozessen. „Frei übersetzt ‚Fähigkeitsreife Leitbildintegration’ als Bezeichnung eines organisierten Prozesses der Bewertung, Überwachung und stetigen Verbesserung des Standes(Maturity) der Möglichkeit(Capability) zur Einbindung(Integration) eines erarbeiteten oder vorgegebenen Modells(Leitbild) vor allem innerhalb von Softwareprozessen, zu sehen als eine Art Qualtätsmanagement innerhalb des Software engeneerings) aber auch anderer Prozessstrukturen“ (vgl. Wikipedia, Trexpro 2007).
Das CMMI wurde und wird vom Software Engineering Institute der Carnegie Mellon University/Pittsburgh entwickelt (vgl. SEI 2007). Die Entwicklung begann ursprünglich 1986 im Auftrag des US-Verteidigungsministeriums. CMM wurde zur Bewertung und Verbesserung von Software- und Systementwicklungsprozesse der Lieferanten entwickelt und wird bis heute ständig verbessert und überarbeitet (vgl. Heilmann/Kneuper 2003, 63).
Ohne weiter auf die Details des Modells eingehen zu wollen, werden im Folgenden kurz die Reifegrade einer Organisation definiert, die nach dem CMMI erreicht werden können. Diese Stufen sind im Kontext dieser Arbeit besonders interessant, da man an Hand ihrer Beschreibung bereits sehr leicht die Fähigkeiten bzw. den sog. Reifegrad eines Prozessgebietes einer Organisation, z.B. den der Softwareentwicklung, einschätzen kann.
Im Folgenden werden die fünf Stufen des CMMI kurz beschrieben, welche den Reifegrad einer Organisation darstellen (vgl. Wikipedia, Trexpro, 2007; Heilmann/Kneuper 2003, 65):
Stufe 1 - Initial
Keine Anforderungen, diesen Reifegrad hat jede Organisation automatisch. Prozesse laufen chaotisch oder ad hoc. Die Ergebnisqualität hängt von den Mitarbeitern ab. Dabei sind typische Probleme eine unzureichende Projektsteuerung, unklare Anforderungen, zu grobe oder unrealistische Planung.
Stufe 2 - Managed
Die Projekte werden gemanagt durchgeführt und ein ähnliches Projekt kann erfolgreich wiederholt werden. Verbesserungen werden durch das Projektmanagement gesteuert. Es wird gefordert Projektmanagementprozesse zu etablieren, die für die Planung und Steuerung von Kosten, Terminen und Ergebnisfunktionalität erforderlich sind.
Stufe 3 - Defined
Die Projekte werden nach einem angepassten Standard-Prozess durchgeführt und es gibt eine kontinuierliche Prozessverbesserung. Der Schwerpunkt wechselt von einzelnen Projekten auf die Gesamtorganisation und von Projektmanagement- und Entwicklungsaktivitäten. Pauschal betrachtet entspricht Stufe 3 den Anforderungen von ISO 9001, aber mit vielen Unterschieden im Detail.
Stufe 4 - Quantitatively Managed
Es wird eine statistische Prozesskontrolle durchgeführt. Einführung und Verwendung von Metriken und Kennzahlen als Auslöser weiterer Verbesserungen.
Stufe 5 - Optimizing
Die Prozesse werden mit den Daten aus der statistischen Prozesskontrolle verbessert. Das Hauptaugenmerk liegt auf Auswahl und Einführung kontinuierlicher Verbesserungen.
Im CMMI werden je Stufe eine Reihe von Prozessgebieten und Prozesskategorien definiert, die wiederum einzeln in ähnlichen Stufen bewertet werden können.
Kritisch anzumerken ist, dass die Einführung des CMMI eine gewisse Mindestgröße einer Organisation voraussetzt, da verschiedene Gremien eingerichtet bzw. erweitert werden müssen (Heilmann/Kneuper 2003, 68). Da dies jedoch bei einem mittelständischen Softwareproduzenten per Definition nicht gegeben ist, erscheint hier eine vollständige Anwendung des Modells eher nicht praktikabel.
2.3 Begriffsabgrenzungen
2.3.1 Abgrenzung Qualitätsmanagement und Qualitätssicherung
Qualitätsmanagement
Mit „Qualitätsmanagement“ sind Maßnahmen gemeint, die zum Leiten und Lenken einer Organisation bezüglich der Qualität dienen. Zum Leiten und Lenken wird hier auch das Festlegen der Qualitätsziele, die Qualitätsplanung, die Qualitätslenkung, die Qualitätssicherung und die Qualitätsverbesserung gezählt (vgl. ISO 9000:2005, 3.2.8).
Wenn im Kontext dieser Arbeit von Qualitätsmanagement gesprochen wird, ist dies inhaltlich mit einem Qualitätsmanagementsystem gleichzusetzen. Diese Arbeit wird sich vorrangig auf das Qualitätsmanagement im Softwareentwicklungsprozess, also einem internen Prozess im Unternehmen, beziehen. Dabei können auch in der Softwareentwicklung (s. Kap. 2.3.2) die allgemeinen Grundsätze des Qualitätsmanagements hinsichtlich Qualität und Leistung angewendet werden (vgl. Eul 1996, 19).
Qualitätssicherung
Umgangssprachlich wird die Qualitätssicherung oft mit dem oben definierten Qualitätsmanagement gleichgesetzt (vgl. Wikipedia, DodekBot 2007). Auch andere Quellen wählen abweichende Definitionen, in denen z.B. das Qualitätsmanagement als Teil der Qualitätssicherung verstanden wird (vgl. Eul 1996, 17). Im Kontext dieser Arbeit, wie auch nach ISO 9000:2005, wird Qualitätssicherung jedoch lediglich als Teil des Qualitätsmanagements betrachtet (vgl. ISO 9000:2005, 3.2.8).
Qualitätssicherung ist somit als Teil des Qualitätsmanagements zu verstehen, der darauf ausgerichtet ist, Vertrauen zu erzeugen, dass die geforderten Qualitätsanforderungen erfüllt werden (vgl. ISO 9000:2005, 3.2.11).
2.3.2 Abgrenzung Softwareproduktion und Softwareentwicklung
Softwareproduktion
Der Begriff der Softwareproduktion setzt sich augenscheinlich aus den zwei Begriffen „Software“ und „Produktion“ zusammen. In einer weiten Definition würde er sich auf das gesamte Leistungsspektrum eines Softwareherstellers inkl. Schulungs- und Beratungsleistungen beziehen. In einer engen Definition, die für diese Arbeit zweckmäßig erscheint, soll Software lediglich als Computerprogramm mit begleitenden Daten und Dokumentationen aufgefasst werden. Dies entspricht auch der Verwendung des Begriffes in den IEEE- und ISO-Definitionen (vgl. Hauer 1996, 90; Eul 1996, 14).
Softwareentwicklung
Die Softwareentwicklung wird in dieser Arbeit als Teil des Softwareproduktionsprozesses eines Unternehmens verstanden, dessen Ergebnis ein Softwareprodukt ist. Zum Softwareentwicklungsprozess kann man die Gesamtheit aller Vorgänge zählen, „an denen Personen, Prozeduren, Methoden, Hardware- und SW-Austattung sowie Entwicklungswerkzeuge beteiligt sind, um ein SW-Produkt als gewünschtes Endresultat zu erzielen“ (vgl. Eul 1996, 8). Zu diesen Vorgängen zählt nicht nur die Tätigkeit der Programmierung, sondern das Verständnis der Anforderung, das Erstellen einer Softwarearchitektur, die Planung der Umsetzung, sowie das Erstellen von Testplänen und Anwendungsfällen durch Softwareentwickler (vgl. Wikipedia, 217.230.213.113, 2006).
Somit ist ein Softwareproduzent ein Unternehmen, welches ein Softwareprodukt herstellt. Ein Softwareentwickler ist eine Person, die den Prozess der Softwareentwicklung vollständig oder teilweise ausführt.
2.4 Qualitätsmanagement der mittelständischen Softwareproduktion
Im folgenden Kapitel wird konkret auf die Anwendung des Qualitätsmanagements in der mittelständischen Softwareproduktion eingegangen. Zur Klärung des Begriffs und der Bedeutung mittelständischer Softwareproduktion im deutschen Wirtschaftsraum setzt sich die Arbeit zunächst mit der Typologie kleiner und mittelständischer Softwareproduzenten auseinander (vgl. Kap. 2.4.1). Anschließend wird, vorbereitend für die Fallstudie, auf die Vorteile von KMU eingegangen (vgl. Kap. 2.4.2), sowie das Spannungsfeld, welches sich aus Flexibilität und Formalisierung beim Qualitätsmanagement in KMU ergibt (vgl. Kap. 2.4.3). Abschließend untersucht ein kleiner Exkurs zum Thema „agile Softwareentwicklung“ eine Möglichkeit, dieses Spannungsfeld zu entschärfen (vgl. Kap. 2.4.4).
2.4.1 Typologie kleiner und mittelständischer Softwareproduzenten
Im Folgenden wird erläutert, wie KMU typologisiert werden können. Insbesondere wie sich Softwareproduzenten in Deutschland in diese Typologie im deutschen Wirtschaftsraum einfügen.
Die Europäische Kommission definiert kleine und mittelständische Unternehmen (KMU) wie folgt (vgl. EU-Komission 2006):
Abbildung in dieser Leseprobe nicht enthalten
Tabelle 1: Typologie KMU laut EU-Kommission (vgl. EU-Komission 2006)
Laut EU-Komission (2006) bilden die KMU 99% der Unternehmen der EU mit insgesamt über 65 Millionen Mitarbeitern.
Bei den Softwareproduzenten in Deutschland ergibt sich ein ähnliches Bild: Fast alle Softwareproduzenten beschäftigen weniger als 50 Mitarbeiter, ca. 2/3 immer noch weniger als 10 Mitarbeiter. Dies belegen die folgenden Ergebnisse von Hauer (1996), als auch eine aktuellere Erhebung des Statistischen Bundesamtes (2004).
Hauer (1996) kommt zu dem Ergebnis, dass bei 64,8% der Softwarehäuser weniger als 10 Mitarbeiter und bei 93,4% immer noch weniger als 50 Mitarbeiter beschäftigt sind (vgl. Hauer 1996, 99).
[...]
-
-
-
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X.