Artefakt

Artefakte spielen in unterschiedlichen Bereichen eine Rolle. So kommen sie beispielsweise in der Betriebswirtschaftslehre, den Ingenieurwissenschaften oder den Rechtswissenschaften vor, machen aber auch in der Wirtschaftsinformatik einen wichtigen Anteil aus[1].

Allgemeine Informationen zum Thema

In der Softwareentwicklung, etwa bei der Methode Scrum ist seine Bedeutung genauer definiert. Artefakte umfassen unter anderem Dokumente, Programme und Quellcodes und liefern mit Zwischenergebnissen wichtige Schritte hin zu einer fertigen und funktionierenden Software. Eine weitere Definition des Begriffes Artefakte lässt sich innerhalb der Softwareentwicklung bei der Unified Modeling Language (UML) finden, die zu Modellelierungszwecken eingesetzt wird. Dabei stellen die Artefakte die Ergebnisse aus einem Arbeitsprozess dar, was sich auf den Quell-Code oder etwa auf ein Textdokument beziehen kann, das der Überprüfung von Anforderungen an ein System dienen kann[2].

Artefakte sind Bestandteil jedes Softwareprojektes. Sie fassen alle Arbeitsergebnisse (Work Products) innerhalb eines Projektes zusammen und reichen weit über die reine Software hinaus. So gehören auch Vorarbeiten und die bereits erwähnten Zwischenergebnisse dazu, um Projektinformationen zu erfassen. Diese dienen ihrerseits dazu, den jeweils aktuellen Status eines Projekts zu ermitteln und den Beteiligten zu vermitteln. Ein Artefakt kann ein Dokument sein (z. B. das Software Architectur Document), ein Model (z.B. ein Design Model oder Use-Case-Model) oder ein Model-Element (z.B. eine Klasse oder ein Subsystem innerhalb eines Models).

Ein Artefakt muss nicht für sich alleine stehen, sondern kann weitere Artefakte beinhalten. Beispielsweise kann die Software Requirement Specification aus User-Case-Models und der Supplementary Specification bestehen. Zudem stehen Artefakte meist in einer Beziehung zu anderen Artefakten.

Artefakte-Sets

Um sich einen Überblick über Artefakte zu verschaffen, hilft es, sich die verschiedenen Artefakte-Sets anzusehen. Sie stellen eine Gruppierung dar und helfen, verschiedene Rollen innerhalb eines Projektes zuzuordnen.

Business Modeling: Das Set fasst alle Artefakte eines Projektes vor dem eigentlichen Start der Arbeit zusammen. Es beinhaltet Business Rules, Dokumente, das Business Use Case Model und mehr.

Requirements: Dieses Set beschreibt die zukünftigen Funktionalitäten, zu denen unter anderem Stakeholder Requests oder auch Requirements Specifications gehören.

Analytics und Design: Hier geht es um die Anforderungen für die technische Umsetzung des Projekts. Artefakte sind hier zum Beispiel Software Architecture Documents, Data Models oder Design Models.

Implementation: Dieses Set beinhaltet alle Artefakte, die im Zuge der Implementation der Lösung entstehen. Dazu zählen die entwickelten Components, Interfaces oder der Integration Build Plan.

Test: Bevor es zur Implementation kommt, stehen zahlreiche Tests an. Für diese gibt es ein eigenes Set an Artefakten, zum Beispiel Test Log, Test Plan, Test Scripts und mehr.

Deployment: Dieses Set kommt zum Einsatz, wenn nach den Tests und der erfolgreichen Implementierung die Produktion beginnt. Artefakte sind hier etwa die Installation Artefacts, Release Notes oder End-User-Support-Material. Project Management: Bei diesem Set geht es um die Projektplanung und Ausführung. Dazu gehören Artefakte wie der Measurement Plan, der Quality Assurance Plan oder die Issue List.

Configuration und Change Management: Dieses Set beinhaltet Artefakte wie den Configuration Management Plan und die Change Requests.

Environment: Zu diesem Set gehören die technischen Environments und die Artefakte, die für die notwendige Konsistenz eines Projektes nötig sind, also beispielsweise Business Modeling Guidline, Project-Specific Templates oder Test Guide Lines[3].

Beispiel Scrum-Artefakte

Da Artefakte in so verschiedenen Formen und Bereichen zur Anwendung kommen, hilft zum besseren Verständnis ein Blick auf die Methode Scrum und die dazugehörigen Artefakte. In der agilen Softwareentwicklung gibt es ein Artefakt, auf das keinesfalls verzichtet werden kann: der auslieferbare Code. Die Face-to-Face-Kommunikation gilt bei Scrum als die effektivste Methode der Verständigung, die Artefakte werden dementsprechend darauf ausgerichtet.

Die Vision: Hier geht es um den Zweck, den Kontext und die Ziele, die mit einem Projekt einhergehen. Die entwickelte Vision gilt für alle, die am Projekt beteiligt oder interessiert sind.

Product Backlog: Der Product Backlog ist eine Liste von Produktanforderungen, die vom Product Owner erstellt wird und die sich am Geschäftswert orientiert.

Sprint Backlog: Der Sprint Backlog betrifft die Anforderungen, die an den Sprint gestellt und in Form einer Liste erstellt werden, damit eine auslieferbare Software entwickelt werden kann.

Impediment Backlog: Neben der Liste der Anforderungen an ein Projekt wird darüber hinaus eine benötigt, die die Hindernisse zusammenfasst, die das Team daran hindern kann, die angestrebten Ziele der Sprints zu realisieren.

Product Inkrement: Das Product Inkrement ist das Ergebnis, das nach der Vollendung des Sprints vorgezeigt werden kann und die auslieferbare Software vorstellt[4].

Bedeutung für das Development

Softwareartefakte ermöglichen bei der Softwareentwicklung auf der einen Seite Qualitätssteigerungspotentiale aufzuspüren und auszuschöpfen, auf der anderen Seite dienen sie der Reduzierung von Kosten[5].

Einzelnachweise

  1. Evaluation von Artefakten in der Wirtschaftsinformatik wi-inf.uni-duisburg-essen.de. Abgerufen am 26.02.2018
  2. Artefakte Definition ak-traceab.gi.de.de. Abgerufen am 26.02.2018
  3. Artefakte in Softwareprojekten blog.flavia-it.de. Abgerufen am 26.02.2018
  4. Scrum Artefakte scrum-fibel.de. Abgerufen am 26.02.2018
  5. Artefakte in Softwarekomponenten enzyklopaedie-der-wirtschaftsinformatik.de. Abgerufen am 26.02.2018

Weblinks