© conchango 2007 scaling agile teams architect insight conference colin bird & james dawson...

31
© conchango 2007 www.conchango.com Scaling Agile Teams Architect Insight Conference Colin Bird & James Dawson March 2007

Upload: dana-howard

Post on 13-Dec-2015

224 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: © conchango 2007  Scaling Agile Teams Architect Insight Conference Colin Bird & James Dawson March 2007

© conchango 2007 www.conchango.com

Scaling Agile Teams

Architect Insight Conference

Colin Bird & James Dawson

March 2007

Page 2: © conchango 2007  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

Page 3: © conchango 2007  Scaling Agile Teams Architect Insight Conference Colin Bird & James Dawson March 2007

© conchango 2007 www.conchango.com

Scrum on a Slide

Page 4: © conchango 2007  Scaling Agile Teams Architect Insight Conference Colin Bird & James Dawson March 2007

© 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?

Page 5: © conchango 2007  Scaling Agile Teams Architect Insight Conference Colin Bird & James Dawson March 2007

© 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!

Page 6: © conchango 2007  Scaling Agile Teams Architect Insight Conference Colin Bird & James Dawson March 2007

© conchango 2007 www.conchango.com

An Example

Page 7: © conchango 2007  Scaling Agile Teams Architect Insight Conference Colin Bird & James Dawson March 2007

© 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

Page 8: © conchango 2007  Scaling Agile Teams Architect Insight Conference Colin Bird & James Dawson March 2007

© conchango 2007 www.conchango.com

Scaled Agile Development Infrastructure

Page 9: © conchango 2007  Scaling Agile Teams Architect Insight Conference Colin Bird & James Dawson March 2007

© 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!

Page 10: © conchango 2007  Scaling Agile Teams Architect Insight Conference Colin Bird & James Dawson March 2007

© 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

Page 11: © conchango 2007  Scaling Agile Teams Architect Insight Conference Colin Bird & James Dawson March 2007

© 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

Page 12: © conchango 2007  Scaling Agile Teams Architect Insight Conference Colin Bird & James Dawson March 2007

© conchango 2007 www.conchango.com

Scaled Infrastructure Support

Page 13: © conchango 2007  Scaling Agile Teams Architect Insight Conference Colin Bird & James Dawson March 2007

© 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

Page 14: © conchango 2007  Scaling Agile Teams Architect Insight Conference Colin Bird & James Dawson March 2007

© conchango 2007 www.conchango.com

Build Automation

Page 15: © conchango 2007  Scaling Agile Teams Architect Insight Conference Colin Bird & James Dawson March 2007

© conchango 2007 www.conchango.com

Deployment Automation

Page 16: © conchango 2007  Scaling Agile Teams Architect Insight Conference Colin Bird & James Dawson March 2007

© 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

Page 17: © conchango 2007  Scaling Agile Teams Architect Insight Conference Colin Bird & James Dawson March 2007

© conchango 2007 www.conchango.com

Scrum for Team System

Page 18: © conchango 2007  Scaling Agile Teams Architect Insight Conference Colin Bird & James Dawson March 2007

© 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

Page 19: © conchango 2007  Scaling Agile Teams Architect Insight Conference Colin Bird & James Dawson March 2007

© 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:

Page 20: © conchango 2007  Scaling Agile Teams Architect Insight Conference Colin Bird & James Dawson March 2007

© conchango 2007 www.conchango.com

Scrum Guidance

In depth Scrum and Scrum for Team System guidance produced in association with Ken Schwaber

Page 21: © conchango 2007  Scaling Agile Teams Architect Insight Conference Colin Bird & James Dawson March 2007

© conchango 2007 www.conchango.com

Product Backlog in Team System

Page 22: © conchango 2007  Scaling Agile Teams Architect Insight Conference Colin Bird & James Dawson March 2007

© conchango 2007 www.conchango.com

Office 2003 Integration

Non technical team members interact with Scrum artefacts with familiar tools

Page 23: © conchango 2007  Scaling Agile Teams Architect Insight Conference Colin Bird & James Dawson March 2007

© conchango 2007 www.conchango.com

Scrum Reporting Project and Sprint Velocity

Page 24: © conchango 2007  Scaling Agile Teams Architect Insight Conference Colin Bird & James Dawson March 2007

© 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

Page 25: © conchango 2007  Scaling Agile Teams Architect Insight Conference Colin Bird & James Dawson March 2007

© conchango 2007 www.conchango.com

Scrum for Team System – Support for Scale

Programme

Burndown

Customer Burndow

n

Comprehensive Team Metrics

Page 26: © conchango 2007  Scaling Agile Teams Architect Insight Conference Colin Bird & James Dawson March 2007

© conchango 2007 www.conchango.com

Questions?

[email protected]

[email protected]

http://blogs.conchango.com

www.scrum-master.com

www.scrumforteamsystem.com

Page 27: © conchango 2007  Scaling Agile Teams Architect Insight Conference Colin Bird & James Dawson March 2007

© 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.

Page 28: © conchango 2007  Scaling Agile Teams Architect Insight Conference Colin Bird & James Dawson March 2007

© conchango 2007 www.conchango.com

Scrum for Team System

Additional Slides

Page 29: © conchango 2007  Scaling Agile Teams Architect Insight Conference Colin Bird & James Dawson March 2007

© conchango 2007 www.conchango.com

Sprints in Team System

Page 30: © conchango 2007  Scaling Agile Teams Architect Insight Conference Colin Bird & James Dawson March 2007

© conchango 2007 www.conchango.com

Sprint Backlog Tasks in Team System

Page 31: © conchango 2007  Scaling Agile Teams Architect Insight Conference Colin Bird & James Dawson March 2007

© conchango 2007 www.conchango.com

Classic Scrum Views + Additional Traceability