The vision of building a successful software product requires teams of individuals equipped with a wide range of social and technical skills. Furthermore, by combining these skills with appropriate job roles, we should be able to improve the productivity of a software organization. In order to identify and compare different roles in software development activities, we conduct a systematic comparison of software development models, covering traditional approaches through to agile techniques. To compare the roles in the literature with industrial software landscapes, we use data from a survey conducted on 266 software practitioners to ascertain job roles in two middle size software companies, one of which uses traditional methods and in particular ISO/IEC 12207 for managing their software development activities while other uses a tailored agile methodology. In light of our interviews, we found that based on project specific needs, the roles used in industry vary significantly from the roles defined in literature. © 2012 Springer-Verlag.