Agile Software Development in Virtual Collaboration Environments
PI: Prof. Dr. Robert Hirschfeld
Agile software development processes are increasingly applied to projects that deal with complex domains and require continuous interaction among developers and with customers. Approaches such as Extreme Programming or Scrum are people- and code-centric. Based on a high-quality code base throughout the entire project, developers can respond immediately to customer needs and requests. Teams can quickly make progress in providing the desired technical solution due to short development cycles and incremental explorations.
There is also the trend that project teams tend to disperse around the world. Distributed development is getting more common, requiring team members to resort to means other than face-to-face communication to organize themselves, to collaborate, and to keep in touch regardless of geographical location.
Design Thinking as a process has interesting aspects to offer – not only to designers, but also to software engineers. In our project, we will extend agile development processes with elements from the Design Thinking approach to make them even stronger. Our enhancements will explicitly support customers and developers to explore divergent alternatives and to converge on a decision or solution whenever necessary and possible.
Furthermore, we will provide tools assisting distributed development of software systems that are to be developed based on our Design Thinking enhanced agile development process. We will go beyond traditional approaches by extending virtual environments to support intensive interaction and collaboration – between the customers and the developers, and among the developers themselves.