Roles in Agile Software Development Teams
Short Description
One of the key elements in describing a software development method is the roles that are assigned to the members of the software team. This article describes our experience in assigning roles to students who are involved in the development of software projects, working in Extreme Programming teams. This experience, which is based on 25 such projects, teaches us that a personal role for each teammate increases personal responsibility while maintaining the essence of the software development method. In this paper we discuss ways in which di®erent software development methods address the place of roles in a software development team. We also share our experience in re¯ning role speci¯cations and suggest a way to achieve and measure progress by using the perspective of the di®erent roles.
Website: edu.technion.ac.il | Filesize: 150kb
No of Page(s): 12
Content
…
Agile software development methods (SDMs) are composed of several elements, such as practices, values, roles, techniques, and tools. Different agile SDMs differ in their role specifications. In fact, one way by which an SDM may emphasize its main principles is through the roles that it specifies. In order to achieve personal responsibility of all teammates when guiding Extreme Programming (XP) projects in the academia, we add personal roles to the original XP roles. By having a personal role, developers are expected to perform their development tasks as well as the tasks related to their personal role. Thus, no teammates are merely developers. As it turns out, the two activities have a mutual positive in°uence, and consequently, the collaboration between the team members is enhanced. For example, let us assume that one of the teammates is a developer who also has the role of the tester (and as such is in charge of testing activities, such as writing unit tests and guiding other teammates in the writing of tests). This responsibility leads the teammate to write more tests for his or her own development tasks. These tests can, in turn, serve as examples that illustrate to other teammates how unit tests should be written. Another example is when a teammate, who is a developer, also has the role of the customer. On the one hand, telling customer stories leads to an awareness of these stories when developing ones own tasks; on the other hand, the development work may inspire the definition of acceptance tests that are to be defined by the customer. This “changing of hats” is possible as long as everyone is aware of which hat is appropriate for each situation. In other words, each team member plays two roles and switches between them according to the situation; other teammates comprehend these switches and refer to the appropriate hat depending on the relevant context. In this paper we elaborate on the roles in a software development team, share our experience in adding roles and refining role specifications, and suggest a way to achieve and measure progress by using the perspectives of these different roles.
…
Get the file Download here
Related Books:Related Searches: agile software development, software development method, software development methods, software development teams, software development team
Comments
Leave a Reply