Lighthouse: Using Emerging Design to Improve Team Coordination

Lighthouse: Using Emerging Design to Improve Team Coordination (Poster)
Students: Chris Van der Westhuizen, UCI/ISR, Ping Chen, UCI/ISR
Advisor: André van der Hoek, UCI/ISR
Abstract: A critical success factor in any software project is the ability of its developers to coordinate their efforts and one such factor that has received little attention is the role of the design. The design serves as a blueprint along which to partition and coordinate the implementation effort. During development, deviations from the original design, whether good or bad, can cause coordination problems since the design document is no longer an accurate representation of the implemented system. However, once an initial design is created, it is rarely updated to reflect the changes and often ends up in the closet, rather than being used to guide the development process. In order to address this problem, we propose a new tool called Lighthouse that makes use of the novel concept of emerging design, a continuously-updated representation of the design-in-the-code. The emerging design allows developers to see what each developer is working on, enabling them to see how other developers' changes affect them and vice versa. Furthermore, Lighthouse can overlay the emerging design on top of the original design to alert developers to design deviations, and allows developers to interactively update the original design by accepting desirable deviations and rejecting undesirable ones.