Qualitätsmanagment
Im Folgenden dokumentiere ich mein Qualitätsmanagment. Es ist in meine drei Geschäftsbereiche IT-Beratung, Softwareentwicklung und Administration gegliedert.
IT-Beratung
Mit Beratung sind folgende Produkte gemeint:
- Studie
- Die Potenziale einer neuen Softwaretechnologie werden für einen Kunden ergründet.
- Systementwurf/ Lösungsansatz
- Für eine Aufgabenstellung des Kunden wird eine Lösung auf Basis moderner IT-Technologien entworfen.
- Workshop
- In einem zeitlich begrenzten Rahmen (1-5 Tage), findet eine persönliche Beratung des Kunden statt, bei dem alltägliche Probleme mit Hard- und Softwaresystemen besprochen, analysiert und Lösungsansätze implementiert werden.
- Helpdesk
- Der Kunde nimmt im vertraglich vereinbarten Rahmen bei Problemen Kontakt mit mir auf. Im Dialog erfolgt eine Analyse, und wenn möglich eine Lösung oder ein Workaround.
Die Qualität wird durch klar definierte Geschäftsprozesse und damit verbundener Dokumentation gesichert. Allgemein haben diese folgende Struktur
- Anfrage vom Kunden
- Zuordnung zu einem der vier Beratungsprodukte
- Angebot
- Auftragsannahme und Bestätigung
- Durchführung und Dokumentation (wenn möglich, automatisiert)
- Erstellen einer abschließenden Dokumentation
- Bewertung des Erfolges zusammen mit dem Kunden (Kundenfeedback)
- Abrechnung der Leistungen
Softwareentwicklung
Kundennahe SoftwareentwicklungDie Softwareentwicklung erfolgt nach agilen Methoden (Scrum). Der Kunde hat während der Geschäftsbeziehung permanent die Möglichkeit, den Entwicklungsprozess nach seinen Wünschen zu steuern.
Modularität und TestbarkeitUm in agilen Prozessen zu bestehen, wird die Software hochmodular auf Basis von Schnittstellen und allgemein annerkannter Prinzipien wie SOLID Code entwickelt. Die Qualität aller Module wird durch einzelne Modul Tests laufend durch Regressionstests sichergestellt.
Die Vermeidung und schnelle Detektion von Laufzeitfehlern ist integraler Bestandteil der Softwareentwicklung. Bei der Implementierung werden systematisch Überwachungsausdrücke für Laufzeitbedingungen (Assertions) eingesetzt. Für die Generierung und Auswertung von Trace- Protokollen werden hochentwickelte Werkzeuge eingesetzt.
WerkzeugeVorrangig wird mit streng typisierten Sprachen wie C# entwickelt. Diese minimieren die Menge möglicher Laufzeitfehlern, indem bestimmte Laufzeitfehlerklassen durch Überwachung strikter Typisierungsregeln zur Entwurfs als auch Laufzeit von vornherein ausgeschlossen werden.
Die Entwicklung erfolgt mittels modernster IDE's wie Microsoft Visual Studio, die dem Programmierer bei der Implementierung effektiv assistieren. Dadurch werden:
- Codierungsrichtlinien überwacht
- Eingabe von Code vereinfacht
- Refactoring automatisiert
- Zugriff auf den Quellcode vereinfacht
Administration
Bei der Verwaltung eigener IT-Systeme und die der Kunden steht Datenschutz und Verfügbarkeit an erster Stelle. Hierzu werden:
- systematisch Backups erstellt, Verantwortliche für Backups benannt
- regelmäßig die eingesetzte Software erfasst und die Lizensierung geprüft
- ungenutzte Software deinstalliert
- regelmäßig die Software aktualisiert
- regelmäßig Virenscanner und Firewalls gewartet
- für jedes System eine Dokumentation nach einheitlichen Richtlinien durchgeführt