180 likes | 438 Vues
Enterprise Agile Implementation at Ancestry.com. John Esser, Director of Engineering Productivity and Agile Development. Timeline. Timeline. Enterprise Agile/Scrum adoption. Evangelize Continuous Delivery practices. Adopt Thoughtworks Go as CD pipeline tool. Apr-Dec 2010 . May 2011.
E N D
Enterprise Agile Implementationat Ancestry.com John Esser, Director of Engineering Productivity andAgile Development
Timeline Timeline EnterpriseAgile/Scrumadoption Evangelize Continuous Delivery practices. Adopt Thoughtworks Go as CD pipeline tool. Apr-Dec2010 May2011
Timeline Timeline Begin data centervirtualization 1940 Census Project:All new servicesuse the CD platform. Migrate “legacy”services and appsto CD platform. May 2012 ongoing Oct 2011 Jan-Mar 2012
Phases of Agile adoption • Phase 1- Agile Boot Up • Phase 2 – Agile Enterprise Framework • Phase 3 – Agile Architecture • Phase 4 – DevOps / Continuous Delivery Adoption • Phase 5 (Future) – “Scrum 2.0” Throughout all of this is manifest the spirit of continuous improvement / kaizen.
Phase 1 – Agile Boot Up • Implemented Scrum at team level • Sensei ScrumMasterboot up teams: embed from 2-8 sprints depending on team. • Worked through the organization over a 12-15 month period. Booted up about 25 teams. • Scrum (agile processes) is now culturally embed and self-sustaining with growth to 35 teams.
Scrum Implementation • Synchronized 2 week iteration • 4 hour training for each team. Heavily infused with Lean concepts and background -> the “why” of Scrum. • Took hard-line against “ScrumBut.” • Common Agile tool set (TFS + Urban Turtle UI) and process implementation. • Tracked common set of metrics (based on Sutherland/Downey “Hyperproductive Scrum”)
Phase 2 – Enterprise Agile Framework • Agile Portfolio Management • v1 – Quarterly epics were prioritized, planned, broken down, and coordinated across teams. • v2 – v1 + impacts & dependencies were identified across the organization • v3 – step back; need to really focus on our “big rocks” • v4 – 6-week rolling roadmap review using our “big board” roll-up of critical themes and initiatives.
Phase 3 – Agile Architecture / Technical Practices • Definition of an architectural standard / guidelines to infuse principles conducive to being agile. • Ancestry “Bronze” standard • Unit testing, TDD, automated functional / acceptance tests. • Continuous Integration (CI)
“Bronze” Standard • Decoupled Deployment • Backward / Forward Compatibility • Dependency Management • State Management • Monitoring and Logging • Efficient Communication • Scalable Implementation
Phase 4 – DevOps / Continuous Delivery Adoption • With teams booted into Agile, needed to extend into operations. • “DevOps finishes what Agile started.” • Adopted Continuous Delivery as a manifestation of a team’s ability to BE agile, not just do it. • DevOps • Automate infrastructure: configuration, deployments, etc. • Working toward a more “self-service” model to create engineering productivity. • Still ongoing and maturing
Phase 5 – Agile Implementation Enhancements • Keep sprint cadence and Scrum roles, but infuse Scrum with a more flow-based structure (Scrumban). (DO NOT want to move to a pure Kanban model.) • Upgrade Agile management toolset to be more flexibile & powerful, providing better “roll-up” views. • Continue to move teams into Continuous Delivery infrastructure providing “self-service” options. • Improve testing, testing techniques and tools, that promote independent services. • Continue to evolve enterprise transparency and visibility at high level for prioritization, investment, and coordination.
In hindsight… • Could have had a better ScrumMaster implementation. • Team Leads as SM, rather than just someone on the team. • Enterprise Agile – would have introduced the role of cross-team Product Owner and ScrumMaster to own and coordinate cross-team initiatives. • Would have taught and trained in “Scrumming the Scrum” aka “how to systematically drive kaizen.” • Continuous Delivery Platform – would have developed “deeper” before going wide.