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 Mark Levison on Aug 14, 2009
Mark Balabanian, new appointed COO of Accunote, asks the question how can a manager help a Scrum team. From his previous encounters with Scrum teams he thought that Scrum was just a tool to shield developers from management, forcing management to interact with developers on their terms. Now he’s read “Agile Software Development with Scrum” by Ken Schwaber and Mike Beedle to improve his understanding of Scrum. However, the book doesn’t cover in great detail the role of management and so Mark wondered what he should be doing.
Cory Foy suggests that there are two key things that management can provide: Vision and Organizational Support (i.e. impediment removal). For the first he suggests taking a leaf from Toyota with the Chief Engineer (described in detail in: The Toyota Product Development System). In Cory’s mind, the Chief Engineer should have “vision and strategy, with enough knowledge to be able to translate that into day-to-day concepts”. Someone capable of driving a common goal and vision across all products and projects. One model he has seen to do this, the Process/Purpose Model:
The concept being that each feature is ranked on market differentiation and mission-criticality. The key being that very few things should end up in the upper-right quadrant - basically the things you'd put on a billboard. And from an executive standpoint, someone needs to ensure that the organization is working on the right things and delivering the right value at the right time.
Peter Stevens summarizes Cory’s vision with three main points for management and then adds one of his own:
- Provide Vision, Focus, & Flow for the entire company or division
- Create Productive Environment and Remove Impediments
- Create a Culture of Excellence – extended to include: Honesty, Openness, Courage, Trust and Fiscal Responsibility.
- Self Awareness (I guess this is related to honesty).
Some top managers are respected elders with deep experience and understanding in their fields. I think this is what Toyota had in mind with their vision of a Chief Engineer. Others are PHB's straight out of Dilbert who move around/up quickly and can easily cause more disturbance than useful intervention.
John Galvin makes several suggestions:
Finally, in their article, “The Manager's Role in Agile”, Lyssa Adkins and Michael have a health check for Agile Managers:
- Are you catalyzing organization change to support agile values, starting with marshalling a culture of value delivery?
- Do you provide significant organizational roadblock removal for agile teams? Do they perceive you as a coach and leader more than as a manager?
- Are you able to effectively distribute resources across teams to maximize team value delivery, rather than striving for resource utilization per se?
- Is your performance management system helping guide teams to their highest performance, while fairly evaluating both individual and team contributions?
- Do you use metrics to help teams improve their performance and to help senior leaders make decisions that improve value delivery?
- Does your organization make frequent project portfolio decisions based on value rather than conformance to schedule and budget?
- Are you helping your internal partners create lean processes to synchronize with agile teams, rather than tolerating their velocity drag?
- How are suppliers encouraged to work in an agile way? Does your outsourcing help or hinder your agile teams?
What would you suggest to Mark?
Previously on InfoQ: What is the Role of a Manager in an Agile Organization, Mary Poppendieck on The Role of Leadership in Software Development, Managers in Scrum and Collaborative Leadership and Collaborative Management
Transforming Software Delivery: An IBM Rational Case Study
18 agile and lean practices for effective software development governance
Agility at scale, become as agile as you can be
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 think management definitely can help with the question "Do you provide significant organizational roadblock removal for agile teams? Do they perceive you as a coach and leader more than as a manager?"
In large organizations where there is a need to coordinate across multiple teams and work with dependent workstreams this is extremely crucial. Managers can also help align the team's deliverables with IT processes that are established within a company(e.g. release management, incident management). The manager's role is critical whether procuring infrastructure or resolving interpersonal conflicts across organization boundaries.
www.artofsoftwarereuse.com/
I like Esther Derby's point of view...
"Primary work of managers: establish conditions for teams to work in. develop people. work on the work system."
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.
2 comments
Watch Thread Reply