310 likes | 324 Views
Learn about scaling Agile teams and architecting through Agile and SCRUM methodologies. Discover insights on building large-scale Agile programs, requirements, Source Control, Engineering & Quality Practices, Environments, Automation, Deployment, and Visual Studio Team System integration. Dive deep into the world of Agile development infrastructure and the benefits it offers.
E N D
Scaling Agile Teams Architect Insight Conference Colin Bird & James Dawson March 2007
What is Agile / SCRUM? • Agile • 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 Agile According to Dilbert
Ok, so Agile’s great for a small team but what happens when you have to work on a big project?
What does “Big” mean? • Typical individual Agile team is 5-10 people • Above this number the team doesn’t function efficiently • Common interpretations of Scale • Large or many teams • Geographically dispersed • Agile adoption at an organisational level • Often all of the above!
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
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!
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
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
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
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
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
Scrum in VSTS Together Team System and the Scrum Plug-in provide benefits that include: • 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.
Scrum Guidance In depth Scrum and Scrum for Team System guidance produced in association with Ken Schwaber
Office 2003 Integration Non technical team members interact with Scrum artefacts with familiar tools
Scrum Reporting • Depth empirical information to help the team optimise their performance • Breadth reporting with zero effort for the stakeholders
Scrum for Team System – Support for Scale Customer Burndown Programme Burndown Comprehensive Team Metrics
Questions? colin.bird@conchango.com james.dawson@conchango.com http://blogs.conchango.com www.scrum-master.com www.scrumforteamsystem.com
Conchango Agile Services • 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. • 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. • 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.
Scrum for Team System Additional Slides