PDF-Download Magazin - Hochschule für Technik Rapperswil
PDF-Download Magazin - Hochschule für Technik Rapperswil
PDF-Download Magazin - Hochschule für Technik Rapperswil
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Für den Erfolg von<br />
grösseren Software -<br />
Projekten ist die<br />
Kommunikation im<br />
Team entscheidend.<br />
Patterns, zu deutsch Muster, verwenden, welche verallgemeinerte,<br />
vorgefertigte Lösungen <strong>für</strong> wiederkehrende<br />
Fragen darstellen – also eine Art Skizze oder Schablone.<br />
Architekten und Programmiererinnen schneiden die<br />
Skizzen und Schablonen aus den Patterns dann auf ihre<br />
Bedürfnisse zu. Das Konzept ist unter Software-Entwicklern<br />
sehr populär. IFS-Institutsleiter Peter Sommerlad ist<br />
ein Mann der ersten Stunde, er hat an Büchern zu «Pattern-Oriented<br />
Software Architecture» und «Security<br />
Patterns» mitgewirkt.<br />
Neben Patterns wählen Informatiker im Software-Design<br />
auch bestimmte Technologien und Produkte unter<br />
Abwägung von Qualitätskriterien aus. Ein weiteres Hilfsmittel<br />
ist dabei die Begründung und die Dokumentation<br />
der wesentlichen Architekturentscheidungen. Nach ISO/<br />
IEC/IEEE-Norm 42 010 muss diese «Rationale» immer<br />
in die Design-Dokumentation aufgenommen werden.<br />
Häufig werden wichtige Entscheidungen allerdings aus<br />
dem Bauch heraus getroffen und die Argumente da<strong>für</strong><br />
erst nachträglich formuliert.<br />
Pragmatisches Herangehen oder planen?<br />
Viele Software-Projekte sind zu komplex, um vollständig<br />
im Voraus planbar zu sein. Im Unterschied zu traditionellen<br />
Entwicklungsmethoden priorisiert die agile Bewegung<br />
daher Zusammenarbeit und Teamproduktivität besonders<br />
hoch. Im Daily Scrum beispielsweise versammelt sich<br />
ein Team täglich, um Status, Planung und Stolpersteine zu<br />
besprechen. Agile Projekte haben sehr kurze Entwicklungszyklen<br />
mit Software-Teillieferungen, binden die zukünftigen<br />
Nutzer der Software eng ein und beschränken<br />
die Dokumentation auf ein Minimum. Vertreter der agilen<br />
Praktiken stellen die Notwendigkeit von explizitem Software-Design<br />
provokativ in Frage; sie treffen Architekturentscheidungen<br />
möglichst spät, um jederzeit flexibel auf<br />
sich ändernde Anforderungen reagieren zu können. In<br />
der Arbeitspsychologie wird die Bewegung aufgrund des<br />
hohen Drucks auf die Beteiligten kritisch gesehen.<br />
Programmierung oder Design?<br />
Kann man also einfach nur programmieren, ohne zumindest<br />
ein rudimentäres Software-Design zu erstellen?<br />
Man kann, wenn man einigen agilen Meinungsmachenden<br />
glaubt. Viele erfahrene Software-Ingenieurinnen<br />
und -Ingenieure sehen die Dinge allerdings differenzierter.<br />
Der Programmcode soll im Mittelpunkt von jedem<br />
Software-Projekt stehen; unterstützende Arbeitstechniken<br />
und Dokumentation haben aber ihren Platz – wie in<br />
anderen Design-Disziplinen auch. Je komplexer die Anforderungen<br />
und je grösser das Projektteam, desto wichtiger<br />
ist ein gutes, explizites Software-Design, um Software<br />
von hoher Qualität zu programmieren, in Betrieb<br />
nehmen und dann auch warten zu können.<br />
olaf.zimmermann@hsr.ch<br />
Software-Standortbestimmung<br />
Das IFS Institut <strong>für</strong> Software bietet einen einfach<br />
durchzuführenden, aber umfassenden<br />
Software Health Check an. In einem derartigen<br />
Health Check können Firmen beispielsweise die<br />
Agilität des Entwicklungsprozesses, Architekturentscheidungen<br />
und Codequalität untersuchen<br />
lassen und Anregungen <strong>für</strong> gesundheitsfördernde<br />
Massnahmen erhalten.<br />
HSR <strong>Magazin</strong> 2 / 2013<br />
19