Upload
brendan-nash
View
214
Download
1
Tags:
Embed Size (px)
Citation preview
Teamwork and roles in student Scrums
Most software is designed by teams
…but merely throwing people together does not result in a functioning team
To be an effective SE, you have to be able to work on a team.
Real software is large and complex
Teams must work together to:– Agree on goals– Plan their projects– Track their progress– Coordinate activities– Share a common process– Communicate freely
Effective teams have structure
Without structures in place at the start, unorganized teams naturally build them:– Agreeing on goals– Defining a common process– Selecting a leader– Assigning responsibilities
Ultimately, this might be a good exercise, but the team may spend (or waste) large amounts of time by doing so. Conflict and confusion are natural parts of the self-convergence process.
Predefined process frameworks can help teams operate effectively
Scrum is a framework that is characterized by:– Short development cycles (sprints)– Self-directed teams– Dedication to performance and
quality– Process discipline
Software Engineering requires more process self-discipline than other engineering fields
– Most other engineering fields release their designs to others for production
– Software Engineers produce the product almost entirely themselves
A well-defined process helps
Some typical roles and responsibilities used in various process frameworks
Quality Manager – responsible for testing
Team Leader – supervisor/manager; problem solver
Process Manager – makes sure process rules are followed
Contact Manager – handles communication to the outside
Requirements Manager – makes sure the work conforms to spec
Planning Manager – monitors progress
Support Manager - infrastructure
Development Manager – technical guru
Configuration Manager – protects the code
Why have Roles?
Without roles, it can be difficult for an individual team member to understand what needs to be done
– Who’s responsible for what?
– When should it be done?
– Is someone else already doing it?
Explicit team roles address these types of concerns by distributing responsibilities among team members
Some processes (e.g. TSP and others) define specific roles for many team members
Formal Scrum assumes team members are experienced enough to interchangeably cover all needed roles
Roles and Responsibilities in SDLDevelopment Lead – monitors progress on tasks, looks for emergent problems
Quality Lead – monitors reviews, approves pull requests
CI Lead – monitors the builds and deployments
Process Lead – monitors time logs, story and task status
Your Role/Responsibilitiy will change periodically