SOFTWAREDEVELOPMENT

Ich möchte Softwaredevelopment anhand von folgenden Fragestellungen betrachten:

Wer arbeitet in der Softwareentwicklung?

Die Tätigkeitsfelder in der Softwareentwicklung sind weitläufig. Beteiligte Parteien bei der Softwareentwicklung sind die Auftraggeberseite, das Entwicklungsteam und die Benutzer des zukünftigen Systems. Die Benutzer gehören oftmals der Auftraggeberseite an.

Die Auftraggeberseite besteht meist aus einer Projektleitung und Mitarbeitern des Fachbereichs. Zu ihren Zielen und Erwartungen gehören insbesondere Budgeteinhaltung, Einhaltung der Zeitvorgaben und Einhaltung der Qualitätsanforderungen. Zu den Aufgaben des Auftraggeberteams gehören die Pflichtenhefterstellung und das Controlling des Projekts.

Das Entwicklungsteam besteht meist aus einer eigenen Projektleitung, den Entwicklern und der Qualitätssicherung. Das Entwicklungsteam hat die Aufgabe, das System "in time" und "in budget" unter Einhaltung der Qualitäts- und Performanceanforderungen an den Auftraggeber zu liefern. Zu den speziellen Aufgaben gehören die DV-Konzept-Erstellung und die Erstellung des Datenbank-Designs anhand des Fachkonzepts, nach denen die Entwickler dann entwickeln. Außerdem gehört dazu die Code-Sicherung (mittels Versionverwaltungstools), die Programmierung, Konfiguration und Code-Dokumentation der Software. Die Qualitätssicherung ist für Code-Reviews und Test des Codes anhand von Testfällen verantwortlich. Sie weist den Entwicklern mittels eines Fehler-Tracking-Tools Fehler zur Bereinigung, gruppiert nach Dringlichkeit, zu.

Die Benutzer haben entweder als Tester oder als Endbenutzer die Aufgabe, Rückmeldung über das System zu geben. Die Benutzer erwarten eine einfache Bedienbarkeit und eine hohe Performanz und Ausfallsicherheit des Systems.

Weiterhin gibt es noch unterschiedliche Personenkreise, die an unterschiedlichen Stellen angesiedelt sein können.

Es handelt sich hierbei zu Beispiel um die "Technik". Diese hat die Aufgabe, den Betrieb des (fertigen) Systems sicherzustellen und die fertige Software zu installieren. Außerdem wird auch jemand mit der Dokumentation (Benutzerhandbuch) der Applikation und einer Hilfe-Erstellung (Online-Hilfe) beauftragt. Nach Fertigstellung der Software gibt es i.d.R. noch ein kleineres Wartungsteam, welches Fehler und Change Requests bearbeitet.


Was ist Softwareentwicklung?

Der Bau von Software ist vergleichbar mit dem Bau eines Hauses. Die gute Ausbildung aller beteiligten Parteien ist ein wichtiger Faktor und das Fundament zur erfolgreichen Umsetzung der Anforderungen, denn im Gegensatz zum Hausbau sind die Fähigkeiten der Mitarbeiter der Baustoff, aus dem das System besteht.

Softwareentwicklung ist ein iterierender Prozeß, bei dem aufbauend auf Auftraggebervorgaben (Phase Konzeption) durch ein Entwicklungsteam (Phase Entwicklung und Dokumentation) und anschließende Tests (Phase Test) eine fertige Software entsteht und betrieben wird (Phase Betrieb und Wartung).


Welche Fähigkeiten braucht ein Softwareentwickler?

Die Fähigkeit komplexe Zusammenhänge zu erkennen und diese dem Benutzer der Software in einfacherer Form darzureichen ist sicherlich eine der Hauptfähigkeiten, die ein Software-Entwickler (im engeren Sinn) mitbringen muß.

Bild