Coordinating the engineering work of project teams has always been a central concern of software engineering. By anticipating and isolating change, software architects can establish and enforce design rules governing module interfaces and the allocation of functionality to modules, simplifying coordination by decoupling the work on one module from the work on others. Modern development practices, including increasing openness and collaborative development of shared resources, render this strategy much less effective. I will describe a research program that develops theory of coordination around decision networks and discuss empirical research that supports the theory by showing that work is carried out more efficiently when coordination activities are congruent with the decision network. I will describe current research on transparent development environments which appear to present an increasingly effective alternative to a modularity strategy.
Tuesday, April 15, 2014
Free and open to the public