Collaboration: At the Extremities of Extreme
Jason Ayers share the observations he made watching a team of developers collaborating in real time on the same code base, pushing XP, pair programming and continuous integration to their extremes.
The content has been bookmarked!
There was an error bookmarking this content! Please retry.
Posted by Vikas Hazrati on Mar 10, 2009
Many organizations, which have embarked on the Agile adoption path, have to tackle the challenge of mapping traditional software development roles to the three roles that Scrum provides. Traditional roles like Product Manager, Project Manager, Business Analyst, Designer, DBA etc. do not cleanly map into roles defined by Scrum. In a series of views Mike Cottmeyer attempts to effectively map traditional roles to Scrum.
Mike suggested that the 'Scrum Master' and 'Scrum Team' roles are relatively easier to fill.
The Project Manager could fit into the role of a Scrum Master however, it does involve a mindset change. According to him,
ScrumMasters are process facilitators and support for the team. Project Managers are usually responsible for managing the team and ensuring that time, cost, and scope are balanced. [...]
ScrumMasters have no authority over the team. ScrumMasters are more servants of the team... Project Managers are more like a boss.
Likewise the 'Scrum Team' should involve everyone who is involved in heavy lifting of building the product.
The development team, the database guys, and QA can probably be worked nicely into the role of Team Member. These folks have direct responsibility for designing, building, and testing the code.
Once the above roles are mapped there are still a lot of roles like Business Analysts, Systems Analysts, User Experience specialists, etc which need to be mapped to Scrum roles. According to Mike, all these roles could potentially roll up into a Product Owner role.
The Product Owner is the Project Manager, the Business Analyst, the System Designer, the User Experience Architect, and every other Business Group... all rolled into one. The role is really supposed to be omnipotent and omnipresent.
However, Mike does acknowledge that this is a huge role in itself. Hence, he suggested that instead of one person who fills in all these roles, it could instead be a Product Owner Team where multiple people coordinate together. The team could include
He represents the setup pictorially like this

Hence, instead of working in isolation, the Product Owner interacts with various other roles and helps in bringing their collective knowledge and expertise to define the correct context and provide coordination.
Thus, by grouping roles efficiently the traditional roles can fit into the three roles suggested by Scrum. The key is to map them at the correct places where they would add value to the entire team.
Agile Development: A Manager's Roadmap for Success
Case Study: IBM's Agile Transformation
A Guide to Branching and Merging Patterns
agility@scale eKit: 10 Principles, Scaling Model, Metrics, Collaboration
In today’s hyper-competitive world, later may be too late to adopt Agile development and this Roadmap for Success will help you get started. Download "Agile Development: A Manager's Roadmap for Success" now!
I appreciate the product owner team, something I am implementing now. Perhaps I'llupdate my own roles/responsibilities post to reflect this.
aaron.sanders.name/agile/agile-team-members-rol...
Thanks for sharing the link with the community. It is very helpful!
Dean Leffingwell, known for his book on Scaling Agile, has written 2 of a 3 part series on the product owner in the enterprise. He takes a different approach to the Product Owner team; 1 product owner only per project and a higher-up role the Product Manager.
The first part describes the need for two different roles and the second part describes the roles and responsibilities of the newly defined product owner.
Jason Ayers share the observations he made watching a team of developers collaborating in real time on the same code base, pushing XP, pair programming and continuous integration to their extremes.
Michael Snoyman presents Yesod, a web framework written in Haskell and containing a web server, templating, ORM, libraries (templating, gravatar, etc.).
Richard Kreuter and Kyle Banker on how to avoid classical RDBMS transactional systems by using compensation mechanisms, transactional messaging or transactional procedures.
Attila Szegedi talks about performance tuning Java and Scala programs at Twitter: how to approach GC problems, the importance of asynchronous I/O, when to use MySQL/Cassandra/Redis, and much more.
One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.
InfoQ spoke to the authors of Software Systems Architecture on a couple of new topics, the System Context viewpoint and Agile, which have been added to the second edition.
Alex Papadimoulis discusses ugly code, where it comes from, how to avoid it, and how to get rid of it.
John Davies examines Visa’s architecture and shows how enterprises have architected complex integrations incorporating Hadoop, memcached, Ruby on Rails, and others to deliver innovative solutions.
3 comments
Watch Thread Reply