Doctor's Theses (authored and supervised):
"Managing Dependencies in Complex Global Software Development Projects";
Supervisor, Reviewer: S. Biffl, P. Grünbacher;
Institut für Softwaretechnik und Interaktive Systeme,
oral examination: 2008-05-05.
Global software development (GSD) projects are complex due to the high number of requirements, global distribution of project participants, and high number of dependencies between artefacts (e.g., relationships between requirements, or between requirements and test cases). A key challenge in GSD projects is to cope with requirement and artifact changes that occur concurrently along the life cycle. Often changes done only punctiform in certain artefacts threaten the consistency among artefacts. Managing dependencies is crucial for implementing changes consistently. Current approaches for dependency management, e.g. manual requirements tracing approaches or automated trace generation approaches, have the following shortcomings:
. These approaches focus mainly on how dependencies can be captured (e.g., requirements tracing) and they lack a planning step that (a) defines which dependencies should be captured by which tools and when, and (b) allows to compare dependency management alternatives in terms of expected effort and quality. This leads to unplanned, unsystematic (ad hoc) dependency management that often overruns the available budget and makes it hard to reproduce why some traces are captured and others not, and make keeping the overview in a complex GSD project much harder.
. Current approaches for capturing dependencies, e.g., requirements tracing, treat all requirements and their dependencies as equally important. The determination which dependencies are important and valuable is not supported by these approaches.
. Capturing dependencies is still an expensive and error-prone activity despite of the approaches reported in practice. Especially traceability across tool borders is an open issue (due to tool integration limitations).
Up-to-date hiqh-quality approaches for dependency management should meet the following criteria: (a) availability of dependency management planning support, (b) management of dependencies according to their value, and (c) cheap (feasible) capture of dependencies (also across tool borders).
In this work I provide research contributions in the following areas:
1) Planning dependency management: This work provides a tracing activity framework (TAF) that supports a project manager in (a) defining which dependencies should be managed and (b) comparing dependency management approaches in advance (before dependency management starts in the project) to find the most cost-effective approach.
2) Capturing dependencies explicitly, systematically, and consistently: This work provides a value-based requirements tracing approach to focus dependency management efforts on high-value dependencies. Furthermore, I provide a prototype implementation of a tool integration that supports capturing dependencies across tool borders (between a requirements management tool and a development environment).
3) Application of explicit dependencies (traces): This work provides a concept for a dependency-based notification system that supports communication and in-time notification of GSD project team members.
These research contributions significantly improve the cost-benefit of available dependency management approaches. As evaluation concept for these contributions I used empirical case studies and report their results.
Created from the Publication Database of the Vienna University of Technology.