WWW.ABSTRACT.XLIBX.INFO
FREE ELECTRONIC LIBRARY - Abstract, dissertation, book
 
<< HOME
CONTACTS



Pages:     | 1 || 3 | 4 |   ...   | 6 |

«Software Engineering Ian Sommerville Software Engineering 9., aktualisierte Auflage Higher Education München • Harlow • Amsterdam • Madrid • ...»

-- [ Page 2 ] --

1 bei der Produktentwicklung, wenn eine Softwarefirma ein kleines oder mittelgroßes Produkt für den Verkauf entwickelt;

2 bei der Entwicklung von kundenspezifischen Systemen innerhalb einer Organisation, wenn es ein klares Einverständnis des Kunden gibt, in den Entwicklungsprozess einbezogen zu werden, und wenn es nicht viele externe Regeln und Vorschriften gibt, die die Software betreffen.

Wie ich im letzten Abschnitt dieses Kapitels noch ausführen werde, führte der Erfolg der agilen Methoden zu einem großen Interesse, diese Methoden für andere Arten der Softwareentwicklung zu nutzen. Wegen ihres Schwerpunkts auf kleine, eng verbundene Teams, gibt es jedoch Probleme bei der Übertragung auf große Systeme. Es gab auch Versuche, den agilen Ansatz für die Entwicklung von kritischen Systemen einzusetzen (Drobna et al., 2004). Doch aufgrund der nötigen Betriebssicherheits-, Informationssicherheits- und Verlässlichkeitsanalyse in kritischen Systemen müssten agile Methoden grundlegend modifiziert werden, bevor sie routinemäßig für die Entwicklung von kritischen Systemen eingesetzt werden können.

In der Praxis lassen sich die den agilen Methoden zugrunde liegenden Prinzipien

manchmal schwer umsetzen:

1 Obwohl die Idee, dass der Kunde in den Entwicklungsprozess einbezogen wird, sehr reizvoll ist, hängt der Erfolg jedoch davon ab, ob der Kunde bereit und dazu in der Lage ist, seine Zeit mit dem Entwicklerteam zu verbringen, und ob er für alle Beteiligten am System sprechen kann. Häufig unterliegen die Bevollmächtigten des Kunden dem Druck, noch andere Aufgaben zu erfüllen, und können nicht voll und ganz an der Softwareentwicklung teilhaben.

2 Einzelne Teammitglieder haben möglicherweise nicht die passende Persönlichkeit für die intensive Beteiligung, die typisch für agile Methoden ist, und arbeiten daher nicht gut mit den anderen Teammitgliedern zusammen.

3 Prioritäten für Änderungen anzugeben kann sehr schwierig sein, vor allem bei Systemen mit vielen Beteiligten. Gewöhnlich räumen die einzelnen Beteiligten den verschiedenen Änderungen unterschiedliche Prioritäten ein.

4 Die Einhaltung der Einfachheit kann zusätzliche Arbeit erfordern. Unter Zeitdruck für die Auslieferung haben die Teammitglieder möglicherweise keine Gelegenheit mehr, erwünschte Vereinfachungen des Systems durchzuführen.

5 Viele Organisationen, speziell große Unternehmen, haben Jahre darauf verwandt, ihre Kultur so zu verändern, dass Prozesse festgelegt und eingehalten werden. Es ist schwierig für sie, zu einem Arbeitsmodell zu wechseln, in dem Prozesse informell sind und von Entwicklerteams definiert werden.

Ein anderes, nicht technisches Problem, das allgemein bei inkrementeller Entwicklung und Auslieferung auftritt, ergibt sich, wenn der Kunde ein externes Unternehmen für die Entwicklung des Systems einsetzt. Die Dokumentation der Softwareanforderungen ist gewöhnlich Teil des Vertrags zwischen dem Kunden und dem Lieferanten. Da bei agilen Methoden inkrementelle Spezifikationen verwendet werden, kann es schwierig sein, für diese Art der Entwicklung Verträge zu schreiben.

3.1 Agile Methoden

Daher werden für agile Methoden Verträge geschrieben, bei denen der Kunde für die erforderliche Entwicklungszeit zahlt statt für die Entwicklung eines festgelegten Satzes von Anforderungen. Sofern alles gut geht, ist das sowohl für den Kunden als auch für den Entwickler von Vorteil. Wenn Probleme auftreten, kann es jedoch zu Streitfragen darüber führen, wer dafür verantwortlich ist und wer für die zusätzliche Arbeitszeit und die Ressourcen aufkommt, die zum Lösen des Problems tatsächlich erforderlich sind.

Die meisten Bücher und Aufsätze, die agile Methoden und die Erfahrungen damit beschreiben, behandeln die Anwendung dieser Methoden für die Entwicklung von neuen Systemen. Wie ich in Kapitel 9 erläutere, wird jedoch ein großer Teil der Arbeit beim Software-Engineering in die Wartung und Weiterentwicklung von vorhandenen Softwaresystemen investiert. Es gibt nur eine kleine Anzahl von Erfahrungsberichten über den Einsatz agiler Methoden für Softwarewartung (Poole und Huisman, 2001).

Zwei Fragen sollten bedacht werden, wenn es um agile Methoden und Wartung geht:

1 Sind Systeme, die mithilfe von agilen Methoden entwickelt wurden, wartbar – da doch im Entwicklungsprozess auf das Minimieren der formalen Dokumentation Wert gelegt wurde?

2 Können agile Methoden effektiv bei der Weiterentwicklung eines Systems eingesetzt werden, wenn der Kunde Änderungen verlangt?

Formale Dokumentation ist dazu gedacht, das System zu beschreiben und es so für diejenigen, die das System später ändern, verständlich zu machen. In der Praxis wird die formale Dokumentation jedoch oft nicht auf dem aktuellen Stand gehalten, somit spiegelt sie nicht genau den Programmcode wider. Aus diesem Grund argumentieren die Befürworter der agilen Methoden, dass die Herstellung dieser Dokumentation eine Zeitverschwendung sei und dass der entscheidende Punkt bei der Implementierung von wartbarer Software die Produktion von hochqualitativem, lesbarem Code sei.

Agile Vorgehensweisen betonen daher, wie wichtig es ist, gut strukturierten Code zu schreiben und Aufwand in die Verbesserung des Codes zu investieren. Denn dann sollte das Fehlen der Dokumentation kein Problem bei der Wartung von Systemen sein, die mithilfe eines agilen Ansatzes entwickelt wurden.





Meine eigene Erfahrung mit der Wartung von Softwaresystemen hat gezeigt, dass das wichtigste Dokument die Anforderungsspezifikation ist, welches dem Softwareentwickler mitteilt, was das System leisten soll. Ohne dieses Wissen ist es schwierig, die Auswirkungen der geplanten Systemänderungen zu beurteilen. Viele agile Methoden erfassen die Anforderungen informell und inkrementell und erzeugen keine zusammenhängende Anforderungsspezifikation. Insofern lässt der Einsatz von agilen Methoden die spätere Systemwartung wahrscheinlich schwieriger und teuer werden.

Im Wartungsprozess selbst ist ein agiles Vorgehen wahrscheinlich effektiv, unabhängig davon, ob für die Systementwicklung ein agiler Ansatz benutzt wurde oder nicht.

Inkrementelle Auslieferung, ein auf mögliche Änderungen ausgerichteter Entwurf und einfache Wartung sind sinnvoll, wenn die Software geändert wird. Tatsächlich kann man sich den agilen Entwicklungsprozess als einen Prozess der Softwareevolution vorstellen.

Die Hauptschwierigkeit nach der Softwareauslieferung wird jedoch wahrscheinlich sein, die Kunden weiterhin in den Prozess einzubinden. Auch wenn es dem Kunden während der Systementwicklung möglich war, einen Bevollmächtigten auf Vollzeitbasis zu entsenden, so ist dies während der Wartungsphase weniger wahrscheinlich,

3 Agile Softwareentwicklung

wenn Änderungen nicht mehr permanent anstehen. Die Bevollmächtigten verlieren vermutlich das Interesse am System. Aus diesem Grund werden alternative Mechanismen eingesetzt, wie beispielsweise Änderungsvorschläge (siehe Kapitel 25), um die neuen Systemanforderungen zu erzeugen.

Ein anderes Problem, das voraussichtlich auftauchen wird, ist die Zusammensetzung des Entwicklerteams aufrechtzuerhalten. Agile Methoden basieren darauf, dass sich das Team aus Mitgliedern zusammensetzt, die alle Aspekte des Systems verstehen, ohne die Dokumentation hinzuziehen zu müssen. Falls sich ein agiles Entwicklerteam auflöst, dann ist dieses implizite Wissen verloren und für neue Teammitglieder ist es schwierig, dasselbe Verständnis für das System und seine Komponenten aufzubauen.

Die Anhänger agiler Methoden haben mit beinahe religiösem Eifer ihre Verwendung propagiert, wobei sie jedoch dazu neigen, die Nachteile zu übersehen. Das hat eine ähnlich extreme Gegenreaktion ausgelöst, die meiner Meinung nach die Probleme dieser Ansätze übertreibt (Stephens und Rosenberg, 2003). Realistischere Kritiker wie DeMarco und Boehm (2002) heben sowohl die Vor- als auch die Nachteile agiler Methoden hervor. Sie schlagen einen gemischten Ansatz vor, bei dem agile Methoden einige Techniken der plangesteuerten Entwicklung aufnehmen.

3.2 Plangesteuerte und agile Entwicklung Bei agilen Methoden der Softwareentwicklung sind Entwurf und Implementierung die zentralen Aktivitäten im Softwareprozess. Andere Aktivitäten wie die Anforderungserhebung und das Testen in der Entwurfs- und Implementierungsphase werden integriert. Bei einem plangesteuerten Ansatz werden dagegen einzelne Phasen im Softwareprozess identifiziert sowie die damit verbundenen Ergebnisse. Die Ergebnisse einer Phase werden als Basis für die Planung der folgenden Prozessaktivität benutzt.

 Abbildung 3.2 veranschaulicht die Unterscheidung zwischen plangesteuerten und agilen Ansätzen zur Systemspezifikation.

–  –  –

Bei einem plangesteuerten Ansatz findet die Iteration innerhalb solcher Aktivitäten statt, bei denen formale Dokumente zur Kommunikation zwischen den Prozessphasen benutzt werden. Zum Beispiel entwickeln sich die Anforderungen stetig weiter, bis schlussendlich eine Anforderungsspezifikation erstellt wird. Diese wird dann zur Eingabe des Entwurfs- und Implementierungsprozesses. Bei einem agilen Ansatz findet die Iteration in allen Aktivitäten statt. Daher werden die Anforderungen und der Entwurf zusammen statt getrennt entwickelt.

Ein plangesteuerter Softwareprozess kann inkrementelle Entwicklung und Auslieferung unterstützen. Es ist durchaus möglich, die Zuteilung von Anforderungen sowie die Entwurfs- und Entwicklungsphase als eine Folge von Inkrementen zu planen. Ein agiler Prozess ist nicht zwangsläufig codezentriert und er könnte einige Entwurfsdokumente erzeugen. Wie im folgenden Abschnitt noch erläutert wird, könnte das agile Entwicklerteam entscheiden, einen sogenannten „Spike“ für die Dokumentation einzulegen: Anstatt eine neue Version des Systems zu produzieren wird an der Systemdokumentation gearbeitet.

Tatsächlich beinhalten die meisten Softwareprojekte sowohl Vorgehensweisen von plangesteuerten als auch von agilen Ansätzen. Um über die Balance zwischen einem plangesteuerten und einem agilen Ansatz zu entscheiden, müssen eine Reihe von

technischen, personellen und organisatorischen Fragen beantwortet werden:

1 Ist es wichtig, Spezifikation und Entwurf sehr detailliert auszuarbeiten, bevor man zur Implementierung übergeht? Falls ja, dann braucht man wahrscheinlich einen plangesteuerten Ansatz.

2 Ist eine inkrementelle Auslieferungsstrategie realistisch, bei der man die Software an die Kunden liefert und schnelle Rückmeldungen erhält? Falls ja, sollte der Einsatz von agilen Methoden in Betracht gezogen werden.

3 Wie groß ist das System, das entwickelt wird? Agile Methoden sind am effektivsten, wenn das System mit einem kleinen, in einem Raum untergebrachten Team, das sich informell austauschen kann, entwickelt wird. Dies ist eventuell für große Systeme, die größere Entwicklerteams benötigen, nicht möglich, sodass hier ein plangesteuerter Ansatz benutzt werden sollte.

4 Welche Art von System wird entwickelt? Systeme, bei denen vor der Implementierung ein hoher Analysebedarf besteht (z. B. Echtzeitsysteme mit komplexen Anforderungen an die zeitliche Synchronisation), benötigen gewöhnlich einen ziemlich detaillierten Entwurf, um diese Analysen auszuführen. Ein plangesteuerter Ansatz könnte unter diesen Umständen am besten sein.

5 Wie ist die erwartete Lebenszeit des Systems? Langlebige System erfordern möglicherweise mehr Entwurfsdokumentation, um dem Supportteam die ursprünglichen Absichten der Systementwickler zu vermitteln. Anhänger der agilen Methoden argumentieren zu Recht, dass Dokumentation oft nicht aktuell gehalten wird und für lang dauernde Systemwartung nicht von Nutzen ist.

6 Welche Technologien sind verfügbar, um die Systementwicklung zu unterstützen? Agile Methoden beruhen häufig auf guten Werkzeugen zur Beobachtung eines sich weiterentwickelnden Entwurfs. Wenn Sie ein System mithilfe einer IDE entwickeln, die keine guten Werkzeuge für Programmvisualisierung und -analyse bietet, dann ist vermutlich mehr Entwurfsdokumentation nötig.

3 Agile Softwareentwicklung

7 Wie ist das Entwicklerteam organisiert? Falls das Entwicklerteam dezentral aufgestellt ist oder Teile der Entwicklung ausgelagert sind, dann muss man eventuell Entwurfsdokumente erstellen, um die Kommunikation zwischen den einzelnen Entwicklerteams zu gewährleisten. Es muss eventuell im Voraus geplant werden, welche Dokumente dies sein sollen.

8 Gibt es kulturelle Aspekte, die die Systementwicklung beeinflussen können? Traditionelle Unternehmen haben eine Kultur von planungsbasierter Entwicklung, wie dies der Standard im Ingenieurwesen ist. Dies erfordert gewöhnlich ausführliche Entwurfsdokumentation statt des informellen Wissens, das in agilen Prozessen benutzt wird.

9 Wie gut sind die Entwickler und Programmierer im Team? Es wird manchmal angeführt, dass für agile Methoden höheres fachliches Können als für planungsbasierte Ansätze, bei denen Programmierer einfach einen detaillierten Entwurf in Code übersetzen, erforderlich ist. Falls das Team eher geringer qualifiziert ist, muss man die besten Leute für den Entwurf abstellen, die anderen sind für die Programmierung verantwortlich.

10 Unterliegt das System externen Vorschriften? Falls ein System von einer externen Regulierungsbehörde genehmigt werden muss (z. B. wird Software, die kritisch für den Betrieb eines Flugzeugs ist, in den USA von der Federal Aviation Authority (FAA) genehmigt), dann wird man wahrscheinlich genötigt sein, ausführliche Dokumentation als Teil der Systemsicherheit zu erstellen.

Tatsächlich ist die Frage, ob ein Projekt als plangesteuert oder agil bezeichnet werden kann, nicht sehr wichtig. Letztendlich ist die Hauptsorge von Käufern eines Softwaresystems, ob sie ein ausführbares Softwaresystem bekommen, das ihre Bedürfnisse befriedigt und für den individuellen Einsatz oder die Organisation nützlich ist oder nicht. In der Praxis haben viele Unternehmen, die behaupten, agile Methoden benutzt zu haben, ein paar agile Verfahrenweisen angenommen und diese in ihre plangesteuerten Prozesse integriert.



Pages:     | 1 || 3 | 4 |   ...   | 6 |


Similar works:

«• General • In This Section • CMS for Windows • CMS Hardware • CMS Functional Spec • Relational Database • Monitoring Interface • Communication Network CMS Central Monitoring System General CMS Central Monitoring System for Windows® is a comprehensive elevator management tool for institutions, contractors, building managers and owners with many elevators in the same building, in multiple buildings in the same city or even in different cities. CMS provides interactive monitoring...»

«THE CONCEPT OF ŨTUGI WITHIN THE HIV AND AIDS PANDEMIC: A PASTORAL ASSESSMENT OF THE ECCLESIAL PRAXIS OF THE ANGLICAN CHURCH OF KENYA. JOSIAH KINYUA MURAGE DISSERTATION PRESENTED IN FULFILMENT OF A DEGREE OF DOCTOR OF THEOLOGY AT THE UNIVERSITY OF STELLENBOSCH, SOUTH AFRICA. PROMOTER: PROFESSOR DANIEL. J. LOUW DECEMBER 2011 University of Stellenbosch: http://scholar.sun.ac.za DECLARATION By submitting this thesis electronically, I declare that the entirety of the work contained therein is my...»

«GEMstudio User guide Table of Contents Welcome GEMstudio Topical Guide Amulet GEM Font Converter Create LCD Configuration LCD/Board Chooser Board Profile Editor Page Functions Editor Href Editor Amulet Function Calls Page Functions Amulet Internal RAM Amulet Widgets Object Image Animated Image Static Text Control Widgets CheckBox CustomButton CustomSlider FunctionButton List PWM RadioButton Scribble Slider Touch Area View Widgets BarGraph Dynamic Image ImageBar ImageSequence Line Graph Line...»

«Prof. Dr. Sergej O. Demokritov Verzeichnis der Schriften (December 2010) Zusammenfassung 19 Bücher, Übersichtsartikel und Monographien 154 Veröffentlichungen in referierten Zeitschriften, davon: Nature 2 Nature Materials 1 Phys. Rev. Lett. 20 Appl. Phys. Lett. 21 Europhys. Lett. 3 JETP Lett. 6 Bücher, Übersichtsartikel und Monographien 1. S.O. Demokritov, E. Tsymbal – “Light scattering from spin waves in thin films and layered systems”, Journal of Physics: Condensed Matter 6 (1994)...»

«eurobonds wikipedia eurobonds wikipedia Eurobond definition of Eurobond by The Eurobond synonyms, Eurobond pronunciation, Eurobond translation, English dictionary definition of Eurobond. n. Wikipedia Encyclopedia; Tools. A; A; A; A; Eurobondy Wikipedie Eurobondy (pop. evropské bondy, e-bondy, bondy stability) jsou navrhované vládní dluhopisy emitované v eurech spolen 17 zemmi eurozóny. Detailansicht | Deutsche Asset Management DWS aus Wikipedia, der freien Enzyklopädie. Die Eurobonds...»

«UNIVERSIDADE FEDERAL DA PARAÍBA – UFPB CENTRO DE CIÊNCIAS SOCIAIS APLICADAS CCSA PROGRAMA DE PÓS-GRADUAÇÃO EM ADMINISTRAÇÃO – PPGA PLANO DE ENSINO Marketing de Serviços Disciplina: Nelsio Rodrigues de Abreu, Dr. Contato: nelsio@gmail.com Professor: 45 horas/semestre Créditos: 03 Carga Horária: 2013.2 Período Letivo: I – Ementa Elementos conceituais, classificação e contextualização. Elementos históricos da disciplina de serviços. Gestão de serviços: projeto, mix de...»

«Bob didn’t want this to be a sad event, but rather an “extravaganza”. How could it not be sad though, Bob? He had been working on his “Last Lecture”, and wanted to share it with all of you today. Last Lecture Robert Hudson Appreciation of Life, Family and Friends Disclaimer and Credits This Last Lecture was developed for an audience of considerable diversity. Some of you will resonate or take issue with certain notions. Others will find personal messages. My aim is to challenge you...»

«UNIÓN INTERNACIONAL DE GEOGRAFÍA COMISIÓN EN GEOGRAFÍA Y GÉNERO CIRCULAR NÚM. 51 Noviembre 2013 Mensaje desde la presidencia Ha pasado poco más de un año desde que tomé la presidencia de la Comisión y puedo decir que ha sido un año de mucho trabajo. Estaba apenas comenzando cuando ya tenía que pensar en la planificación de los encuentros de agosto de la UGI, tanto en las sesiones de la Comisión de Género en el Congreso Regional de Kyoto como en las del encuentro previo al...»

«King’s Hall School Prep Newsletter Edition 30 19th September 2014 _ HEADlines My mother is beyond three score years and ten and whilst I, of course, remain her son, I am also a husband, father of three and a respected Headmaster (ahem!) with a good few years experience of life. It can feel odd, then, that she still feels the need to offer me the benefit of her wisdom. When I point out that she doesn’t have to worry as much anymore she replies that she can’t help it and explains that she...»

«IZA Standpunkte Nr. 47 STANDPUNKTE Ökonomische Ursachen und Folgen von Migration Klaus F. Zimmermann Januar 2012 Forschungsinstitut zur Zukunft der Arbeit Institute for the Study of Labor Ökonomische Ursachen und Folgen von Migration Klaus F. Zimmermann IZA und Universität Bonn IZA Standpunkte Nr. 47 Januar 2012 IZA Postfach 7240 53072 Bonn Tel.: (0228) 3894-0 Fax: (0228) 3894-180 E-Mail: iza@iza.org Die Schriftenreihe “IZA Standpunkte” veröffentlicht politikrelevante Forschungsarbeiten...»

«Assessment of Riparian Conditions at Chattahoochee River National Recreation Area Allyson Read, Chattahoochee River National Recreation Area, 1978 Island Ford Parkway, Sandy Springs, GA 30350; allyson_read@nps.gov Candice LaRussa, Chattahoochee River National Recreation Area, 1978 Island Ford Parkway, Sandy Springs, GA 30350; candice_larussa@nps.gov Laura Wear, 305 Cheatham Hall, Virginia Tech, Blacksburg, VA 24061, lrwear@gmail.com Joel Brumm, South Florida Operations Office, US Army Corps of...»

«JALN Volume 7, Issue 3 — September 2003 TEACHING COURSES ONLINE: HOW MUCH TIME DOES IT TAKE? Belinda Davis Lazarus Associate Professor of Special Education University of Michigan-Dearborn School of Education #116 4901 Evergreen Road Dearborn, Michigan 48128 Phone: 1.313.436.9135 Fax: 1.313.593.9961 blazarus@umd.umich.edu ABSTRACT Studies show that temporal factors like workload and lack of release time inhibit faculty participation in developing and teaching online courses; however, few...»





 
<<  HOME   |    CONTACTS
2016 www.abstract.xlibx.info - Free e-library - Abstract, dissertation, book

Materials of this site are available for review, all rights belong to their respective owners.
If you do not agree with the fact that your material is placed on this site, please, email us, we will within 1-2 business days delete him.