© conchango 2007 scaling agile teams architect insight conference colin bird & james dawson...
TRANSCRIPT
© conchango 2007 www.conchango.com
Scaling Agile Teams
Architect Insight Conference
Colin Bird & James Dawson
March 2007
© conchango 2007 www.conchango.com
What is Agile / SCRUM?
Agile According to DilbertAgile• Agile is a number of lightweight methodologies including
DSDM, Extreme Programming (XP) and SCRUM
• Agile methods are disciplined processes that focus on
people and the way software is developed
• Its about developing software that is more aligned to
business needs
• Iterative - deliver business value in small regular batches
• Empirical
• Solicit and respond to business feedback with each delivery
• Make decisions based on track record
• Measure what is left to do
© conchango 2007 www.conchango.com
Scrum on a Slide
© conchango 2007 www.conchango.com
Ok, so Agile’s great for a small team but what happens when you have to work on a big project?
© conchango 2007 www.conchango.com
What does “Big” mean?
• Typical individual Agile team is 5-10 people• Above this number the team doesn’t function efficiently
• Common interpretations of Scale1. Large or many teams
2. Geographically dispersed
3. Agile adoption at an organisational level Often all of the above!
© conchango 2007 www.conchango.com
An Example
© conchango 2007 www.conchango.com
Scaled Agile Programme Requirements
• Integrated Source Control• Consistent source structure• Share common code
• Consistent engineering and quality practices• Lots of environments
• Sandboxed team development environments• Sandboxed team testing environments• Integration environments
• Automation• Builds• Deployments• Regression testing
• Regular performance testing• Overview of requirements
• Dependency mapping• Reuse opportunities – components and frameworks
• Team metrics• Programme metrics
© conchango 2007 www.conchango.com
Scaled Agile Development Infrastructure
© conchango 2007 www.conchango.com
Integrated Source Control
An enterprise source control system is a fundamental to a successful large-scale Agile development effort.
• Larger teams of concurrent users• Robust branch/merge support• Geographically dispersed teams
Key Points:• If migrating from SourceSafe to TFS, do not under estimate
the transition for developers
• A consistent source structure can simplify automation (a la convention over configuration), and minimises friction of people moving between teams
• Sharing common code is always important in Agile, but in larger scale scenarios the resulting dependencies between teams can get complex. Have a simple and robust way of handling this, and make sure everyone is 100% clear on it!
© conchango 2007 www.conchango.com
Consistent Engineering and Quality Practices
Consistency across teams is more important than the precise detail of the practices!
Key Points:• Consistency is easier to automate
• Consistent approaches across teams supports programme-level metrics
• Consistent approaches across teams reduces friction of move people between teams
© conchango 2007 www.conchango.com
Lots of Environments
You rarely have enough environments!
Branching in source control brings new environments out of the woodwork.
Rapid provisioning is key, and virtualisation ‘answer’…. Albeit not a panacea.
Teams need to be able to work autonomously but regularly synchronise with each other.
Time to treat developers as users
© conchango 2007 www.conchango.com
Scaled Infrastructure Support
© conchango 2007 www.conchango.com
Automation and Streamlining
Total automation not necessarily worth the additional effort.
Standardise and Package
Develop tools to support developers:• Abstract ‘niche’ technologies (Wix)• Encapsulate core processes (e.g. build, deployment, configuration management etc.)
Aim for self-maintaining processes• Avoid processes that rely on ‘non-default’ behaviour• Avoid manually maintained lists to drive processes• Standardised structures and naming conventions go a long way
© conchango 2007 www.conchango.com
Build Automation
© conchango 2007 www.conchango.com
Deployment Automation
© conchango 2007 www.conchango.com
Deployment Management
• The Challenge:• What needs to deployed where?
• How does this vary between environments?
• No single person or team will know all the answers
© conchango 2007 www.conchango.com
Scrum for Team System
© conchango 2007 www.conchango.com
• Visual Studio Team System 2005• Microsoft’s new full lifecycle, integrated team development platform
• Scrum for Team System• Scrum Process Template to optimise Microsoft’s development platform for the Scrum team• Collaboration with Ken Schwaber and Microsoft• Expresses requirements and tasks in Scrum terminology• All standard Scrum ‘artefacts’ e.g. Product Backlog, Sprint Backlog, etc…• Sprint and Product Burndown charts plus many other reports• Excel Integration• 4000+ downloads and rising• Active, lively forums• Further development in the pipeline
• FREE!• Demonstration of our thought leadership and expertise in Scrum and Agile, it attracts the
best clients - and recruits• Process Guidance
• Online, provides first-class Scrum guidance independent of plug-in www.scrumforteamsystem.com
© conchango 2007 www.conchango.com
Scrum in VSTS
• Removal of the impedance mismatch between methodology and tools providing an improved team dynamic and increased efficiency.
• Reduced effort required capturing and increased richness of the empirical information used to steer Scrum projects.
• Support for the engineering practices on which Agile projects depend.
• Supportive environment for team members who are less experienced with Scrum processes.
Together Team System and the Scrum Plug-in provide benefits that include:
© conchango 2007 www.conchango.com
Scrum Guidance
In depth Scrum and Scrum for Team System guidance produced in association with Ken Schwaber
© conchango 2007 www.conchango.com
Product Backlog in Team System
© conchango 2007 www.conchango.com
Office 2003 Integration
Non technical team members interact with Scrum artefacts with familiar tools
© conchango 2007 www.conchango.com
Scrum Reporting Project and Sprint Velocity
© conchango 2007 www.conchango.com
Scrum Reporting
• Depth empirical information to help the team optimise their performance• Breadth reporting with zero effort for the stakeholders
© conchango 2007 www.conchango.com
Scrum for Team System – Support for Scale
Programme
Burndown
Customer Burndow
n
Comprehensive Team Metrics
© conchango 2007 www.conchango.com
Questions?
http://blogs.conchango.com
www.scrum-master.com
www.scrumforteamsystem.com
© conchango 2007 www.conchango.com
Conchango Agile Services
1. Advice, Mentoring and Training We’ve got a depth of delivery experience and some of the most skilled and
respected Agile practitioners in the industry. We offer formal training and accreditation in partnership with some of the industry gurus as well as on the job mentoring and consulting to help you develop your team and your approach.
2. Agile Project Delivery We’ve worked with some of the UK’s leading companies to deliver mission
critical projects using Agile methods. We help clients identify projects where Agile methods can improve the quality and certainty of delivery, and then work closely with clients to deliver them successfully.
3. Agile Lifecycle Tools and Engineering We’ve built a range of tools and practices that help make Agile teams work, and
we constantly scour the market for the best tools available. These tools can make the difference between success and failure. We help clients to choose, implement and get the most out of the tools available.
© conchango 2007 www.conchango.com
Scrum for Team System
Additional Slides
© conchango 2007 www.conchango.com
Sprints in Team System
© conchango 2007 www.conchango.com
Sprint Backlog Tasks in Team System
© conchango 2007 www.conchango.com
Classic Scrum Views + Additional Traceability