Refactoring Human Roles Solves Systems Problems - Elson, Jeremy; Howell, Jon (Workshop on Hot Topics in Cloud Computing (HotCloud), 2009)
Several persistent problems in system administration, deployment, configuration, and usability stem from a common root: the conflation of roles between developers, users, hardware wranglers, and software integrators. We develop a taxonomy of such conflations, and show that identifying each conflation characterizes one or more familiar systems problems. Furthermore, the taxonomy suggests directions for solving these problems: refactor components to produce interfaces that cleanly decouple these roles. Recent trends in webbased client applications and cloud-based services have demonstrated the feasibility of such changes. We describe recent projects our group has done that further decouple the roles, and we use the taxonomy to propose new projects.