FAQ
© 2015 Staats- und Universitätsbibliothek
Hamburg, Carl von Ossietzky

Öffnungszeiten heute09.00 bis 24.00 Uhr alle Öffnungszeiten

Eingang zum Volltext in OPUS

Hinweis zum Urheberrecht

Dissertation zugänglich unter
URN: urn:nbn:de:gbv:18-39362
URL: http://ediss.sub.uni-hamburg.de/volltexte/2008/3936/


Reflective Steps: A Collaborative Learning Oriented Approach to Software Development and Process Improvement

Reflective Steps : ein kooperativer und lernorientierter Ansatz zur Systementwicklung und Softwareprozess

Biru, Tesfaye

pdf-Format:
 Dokument 1.pdf (3.433 KB) 


Basisklassifikation: 54.52
Institut: Informatik
DDC-Sachgruppe: Informatik
Dokumentart: Dissertation
Hauptberichter: Floyd, Christiane (Prof. Dr.)
Sprache: Englisch
Tag der mündlichen Prüfung: 17.10.2008
Erstellungsjahr: 2008
Publikationsdatum: 22.12.2008
Kurzfassung auf Englisch: This research attempted to explore the possibility of using context sensitive methodical approaches to address the software development challenges in Ethiopia. Based on extensive case studies and surveys supported by reflections on the researcher’s years of practical experience in both teaching and practicing software development, the situation
in Ethiopia including the challenges faced by practitioners were documented. According to the findings, the software development situation is mostly dominated by failure cases
characterized by: unrealized benefits, unsatisfied users, substantial budget and time overruns far beyond expected, frustrated developers, etc.

Among the main causes identified for the failures is the oversize gap between demand and supply. On the demand side, most outsourced projects: are very large (by local standards); involve the development of multiple applications systems for specific organizations; involve business process redesign as a front-end process to the software development; and operate in unstable organizational environments. On the supply side,
most of the software development firms: are inexperienced and small; follow ad hoc processes and methods; lack competence in project management and soft-skills; and are
affected by very high staff turnovers. There are inadequate educational and training support infrastructure and absence of home-grown or contextualized methods, as well as absence of national standards or guidelines.

In this research, methodical approaches that address contextual issues on both demand and supply sides are considered to tackle the gap. On the demand side, strategies around project design that involve scoping, prioritizing, outsourcing and the like were considered. On the supply side, competence development measures, at both organizational level (software process improvement) and individual level(learning and training mechanisms), were considered. Most importantly, institutionalization of collaborative approaches between developers and users, based on transformational participation principles, and feedback-based reflective learning, were considered.

The effort resulted in the development of a comprehensive methodical approach known as Reflective Steps. The approach evolved from the process of tailoring the STEPS model and complementary aspects of contemporary methods and processes based on the contextual issues identified. In the process, home-grown collaborative techniques and proven practices in the areas of business process redesign for software development and project management were incorporated.

As proposed, Reflective Steps provides an explicit treatment of software development activities which are considered important to the local setting but either missing or implicitly treated in popular methods and processes. An integrated development cycle that combines project design, application production, and application embedment and use aspects is proposed. Reflective Steps promotes the process of discovering suitable processes and methods for a project in the course of developing the software itself. As such, it uses a contextualized approach as a starter and proceeds with a step-by-step improvisation process through collaborative reflective learning based project experience. For this purpose, a multi-level collaborative reflective learning model is introduced by
tailoring organizational learning and communication models. Combination of single-loop learning and double-loop learning based on reflections on process, progress, product and context are proposed. Each learning cycle involved action-reflection-improvement. A Reflective Steps workshop technique is also developed as a learning platform.

Although the approach for the most part evolved from years of experience in teaching and practice, attempts were also made as part of this research to further experiment with
aspects of Reflective Steps in real-life project environments. Encouraging results were obtained in the field experiments conducted both in software development project and in teaching at postgraduate studies. In particular, the experiment in the teaching area showed
promising results and optimism on how Reflective Steps could be used to better educate students with practical skills through the integration of real-life problem scenarios into software engineering curriculum. Taken together, with further work, it is expected that Reflective Steps will gradually achieve wider acceptance and contribute to increased use of methodical approaches that would in turn contribute to the improvement in the
productivity of project teams and quality of products in the local setting.
Kurzfassung auf Deutsch: Diese Forschungsarbeit stellt einen Versuch dar, kontextsensitive methodische Ansätze
zu nutzen, um den Herausforderungen der Softwareentwicklung in Äthiopien zu begegnen. Auf der Grundlage von Langzeit-Fallstudien und Umfragen, untermauert durch Reflexion über die langjährigen praktischen Erfahrungen des Forschers in Lehre und Praxis der Softwareentwicklung, wird die Situation in Äthiopien und die Herausforderungen für die Praktiker dokumentiert. Die Untersuchung macht deutlich,
dass die Lage der Softwareentwicklung vorwiegend durch das Scheitern von Projekten dominiert wird. Kennzeichnend sind: nicht eingetretene Vorteile, unzufriedene Benutzer,
substantielles Überschreiten von Budget und Zeit weit über alle Erwartungen, frustrierte Entwickler etc.

Als einer der wichtigsten Gründe für das Scheitern wurde die übergroße Lücke zwischen Nachfrage und Angebot identifiziert. Auf der Nachfrageseite sind die meisten in Auftrag gegebenen Projekte sehr groß (für lokale Verhältnisse). Sie beinhalten die Mehrfach- Entwicklung von Anwendungssystemen, die auf spezielle Organisationen zugeschnitten sind, und die Neugestaltung von Geschäftsprozessen im Vorfeld der Softwareentwicklung. Die Systeme werden in einem instabilen Organisationsumfeld
betrieben. Auf der Angebotsseite sind die meisten Softwarefirmen unerfahren und klein; sie befolgen Ad-Hoc-Prozesse und -Methoden, haben wenig Kompetenz im Management
und in Soft-Skills, und leiden unter einer hohen Personalfluktuationsrate. Die Ausbildungs- und Trainingsinfrastruktur zu ihrer Unterstützung ist inadäquat, selbst entwickelte oder kontextualisierte Methoden fehlen ebenso wie nationale Standards und
Richtlinien.

Um die Lücke zu überwinden, werden in dieser Arbeit methodische Ansätze behandelt, die Kontextfragen auf der Nachfrage- und der Angebotsseite adressieren. Auf der
Nachfrageseite geht es um Strategien im Umfeld des Projekt-Design: um das Abgrenzen von Projekten, das Setzen von Prioritäten, die Vergabe von Aufträgen und ähnliches. Auf
der Angebotsseite werden Maßnahmen zur Kompetenzentwicklung auf der Organisationsebene (Software Process Improvement) und der individuellen Ebene (Lernix und Trainingsansätze) behandelt. Vor allem wird der Institutionalisierung von Ansätzen zur Zusammenarbeit von EntwicklerInnen und NutzerInnen auf der Grundlage von transformationsorientierten partizipativen Prinzipien und reflektivem Lernen in Rückkopplungszyklen eine hohe Bedeutung zugemessen.

Ergebnis der Forschung ist die Entwicklung eines umfassenden Methodenansatzes unter dem Namen Reflective Steps. Dieser Ansatz hat seinen Ursprung im STEPS-Modell, das angepasst und um komplementäre Aspekte von aktuellen Methoden und Prozessen auf der Grundlage der identifizierten kontextuellen Anliegen angereichert wurde. In diesem Prozess wurden selbst entwickelte Techniken der Zusammenarbeit und bewährte Praktiken des Geschäftsprozessentwurfs für Softwareentwicklung und
Projektmanagement einbezogen.

Reflective Steps bietet eine explizite Behandlung von Aktivitäten der Softwareentwicklung, die im lokalen Kontext bedeutsam erscheinen, aber in verbreiteten Methoden und Prozessen entweder fehlen oder nur implizit behandelt werden. Ein integrierter Entwicklungszyklus wird vorgeschlagen, der Projekt-Design, die Entwicklung und Einbettung von Anwendungen sowie Aspekte der Nutzung umfasst. Reflective Steps unterstützt den Prozess, geeignete Vorgehensweisen und Methoden für ein Projekt im Verlauf der Softwareentwicklung selbst herauszufinden. Als
Ausgangpunkt dafür verwendet es einen kontextualisierten Ansatz und setzt sich fort in kollaborativem, reflektivem Lernen auf der Basis von Projekterfahrungen. Zu diesem
Zweck werden Ansätze zum Verständnis von Lernen und Kommunikation in Organisationen angepasst, um ein Modell für kollaboratives, reflektives Lernen auf mehreren Ebenen einzuführen. Vorgeschlagen wird die Kombination von Lernen in einfachen und doppelten Rückkopplungsschleifen auf der Grundlage von Reflexion über Prozess, Fortschritt, Produkt und Kontext. Jeder Lernzyklus beinhaltet Aktion-Reflexion-
Verbesserung. Als Forum für kollaboratives Lernen wird eine Reflective Steps Workshop-Technik vorgestellt.

Obwohl sich der Ansatz in großen Teilen auf langjährige Erfahrung in Lehre und Praxis gründet, wurden im Rahmen dieser Forschung auch weitere Experimente mit Aspekten
von Reflective Steps durchgeführt. In der experimentellen Anwendung bei Softwareentwicklungsprojekten und der postgraduierten Lehre wurden ermutigende Ergebnisse erzielt. Insbesondere führten die Experimente im Lehrbereich zu viel versprechenden Ergebnissen und zu optimistischen Einschätzungen darüber, wie Reflective Steps genutzt werden könnte, um echte Problem-Szenarien ins Software Engineering einzubeziehen und Studierende praxisgerechter auszubilden.

Insgesamt ist zu erwarten, dass Reflective Steps nach entsprechender Weiterentwicklung allmählich eine breitere Akzeptanz gewinnen und zur vermehrten Anwendung von
Methoden beitragen wird, welche die Verbesserung der Produktivität von Projektteams und die Qualität der Produkte im lokalen Kontext erhöhen.

Zugriffsstatistik

keine Statistikdaten vorhanden
Legende