Follow my new blog

Montag, 15. Januar 2007

OOP 2007: .NET Tag als Kickoff für mehr Industrialisierung – Teil 2

Die Softwareproduktion ist Teil des gesamten Softwareherstellungsprozesses wie auch die Softwareentwicklung [siehe Teil 1 dieser Postingserie]. Sie manifestiert und prüft die Artefakte der Implementation als letztem Schritt der Entwicklung.

Darüber hinaus hat sie aber weitere Aufgaben:

3. Variantenmanagement
Software ist ständig im Fluss. Softwareproduktion bedeutet daher nicht vielfache Produktion desselben Entwicklungsstandes, sondern Produktion von immer wieder Neuem. Im Grunde erzeugt die Produktion nur Unikate, denn bei jedem Produktionslauf unterscheiden sich die Artefakte mehr oder weniger vom vorherigen.

Im Sinne der Qualitätssicherung, aber auch der „Lieferfähigkeit“ ist die Softwareproduktion daher daran interessiert, darüber Buch zu führen, was sie wann produziert hat. Sie ist die Triebfeder eines Variantenmanagements, das alle transformierten Artefakte und die zugehörigen Qualitätsprüfungsergebnisse protokolliert. Nur so können Fehler in früheren Produkten nachvollzogen werden, wenn die Produktion schon wieder vorangeschritten ist. Nur so können auch frühere Produktionversionen nochmals produziert werden, wenn der Bedarf entsteht.

4. Deployment
Am Ende, wenn die Qualitätskontrolle zufriedenstellend durchgeführt wurde, muss die Produktion ihre Erzeugnisse natürlich noch verpacken. Kunden wollen ja nicht einfach eine CD voll mit transformierten Artefakten, sondern eine möglichst auf Knopfdruck laufende Software. Aufgabe der Produktion ist daher auch, aus allen Bestandteilen der Software ein Deployment-Paket zu schnüren, das es dem Kunden möglichst einfach macht, die Software in seine Infrastruktur zu integrieren und den Anwendern zur Verfügung zu stellen.

Zusammenfassung
Softwareproduktion ist heute weit mehr als ein Tastendruck in der Visual-Studio-Entwicklungsumgebung oder das Zustammenstellen eines Setups mit InstallShield o.ä. Softwareproduktion ist die Triebfeder für die Qualitätssicherung von Software:
  • Prüfung der funktionalen Korrektheit im Sinne der Kundenanforderungen
  • Prüfung der Erfüllung nicht-funktionaler Anforderungen durch den Kunden
  • Prüfung des Betriebs der Software
  • Sicherstellung der „Lieferfähigkeit“
  • Sicherstellung der Weiterentwicklung

Diese stark gewachsene Bedeutung der Softwareproduktion ist noch wenig im Bewusstsein von Projektteams in der .NET-Softwareentwicklung verankert. Softwarequalität darf nicht länger eine Sache gutwilligen individuellen Bemühens überstrapazierter Entwickler sein. Softwarequalität muss zukünftig eine geplante und überwachte Eigenschaft von Software werden. Brennpunkt dafür ist die Softwareproduktion als Schnittstelle zwischen Entwicklung und Kunde. Ihre Ergebnisse sind es, die der Kunde zufrieden einsetzt – oder gefrustet kritisiert. Andere Branchen haben das schon lange begriffen; das Ergebnis ist die heutige industrialisierte Produktion von Gütern aller Art, an deren hoher Qualität wir uns alle täglich erfreuen. In diesem Sinne soll eine bewusste Softwareproduktion zu einer Industrialisierung der Softwareherstellung beitragen.

Deshalb schien es mir wichtig, den OOP .NET-Tag des Jahres 2007 auf dieses Thema zu fokussieren. Es ist überfällig in der breiten Diskussion.

Keine Kommentare: