Abstract:
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 di erent 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
speci c needs, the roles used in industry vary signi cantly from the roles
de ned in literature.