10.07.2015 Views

A CIO's Playbook for Adopting the Scrum Method of ... - Rally Software

A CIO's Playbook for Adopting the Scrum Method of ... - Rally Software

A CIO's Playbook for Adopting the Scrum Method of ... - Rally Software

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Scaling <strong>Scrum</strong>The business benefits <strong>of</strong> <strong>Scrum</strong> and agility are most readily achieved with small, co-located and integratedteams, ideally consisting <strong>of</strong> eight people or less (including Product Owner, <strong>Scrum</strong>Master, Developers andTesters) and where each <strong>Scrum</strong> team owns a specific product or application that <strong>the</strong>y can define, develop,test and deliver without much outside help.Inevitably, however, <strong>the</strong> success <strong>of</strong> <strong>Scrum</strong> will lead to its application to larger programs, systems <strong>of</strong> systems,and applications that take many, likely distributed, teams to develop and deliver. Fortunately, <strong>Scrum</strong> hasbeen proven in projects consisting <strong>of</strong> many hundreds <strong>of</strong> developers so <strong>Scrum</strong> does scale to <strong>the</strong> challenge <strong>of</strong><strong>the</strong> larger s<strong>of</strong>tware enterprise. Doing so, however, brings about a unique set <strong>of</strong> challenges that must beaddressed, specifically:1. Scaling <strong>the</strong> organization: <strong>Scrum</strong> teams <strong>of</strong> teams2. Tooling infrastructure <strong>for</strong> enterprise agility3. Coordinating teams <strong>of</strong> teamsEach <strong>of</strong> <strong>the</strong>se challenges is addressed in <strong>the</strong> sections below.Scaling <strong>the</strong> Organization: <strong>Scrum</strong> Teams <strong>of</strong> TeamsConsistent with its less is more philosophy, <strong>Scrum</strong> has a very small number <strong>of</strong> rules. However, most <strong>of</strong> <strong>the</strong>rules that do exist are fixed and relatively inviolate. One basic rule is <strong>the</strong> team consists <strong>of</strong> eight or fewermembers that are co-located in a common seating area. This is <strong>the</strong> most effective and productive model as ita) supports <strong>the</strong> requirement <strong>for</strong> constant in<strong>for</strong>mal communication amongst <strong>the</strong> team members, b) fosters ahigh degree <strong>of</strong> esprit de corps and c) allows <strong>for</strong> a mutual commitment to <strong>the</strong> goals <strong>of</strong> <strong>the</strong> Sprint amongstteam members who actually know each o<strong>the</strong>r and have to work toge<strong>the</strong>r every day. In addition, certain<strong>Scrum</strong> mechanisms, such as Sprint planning and <strong>the</strong> Daily <strong>Scrum</strong> meeting can breakdown very quickly as<strong>the</strong> team size gets beyond 8-10 individuals.Scaling <strong>Scrum</strong> to larger applications leaves this key principle in place. So, scaling to an application involving300 people involves organizing around 30 <strong>Scrum</strong> teams. As previously discussed, <strong>the</strong> team’s complementmust be fully rounded and capable <strong>of</strong> developing potentially shippable pieces <strong>of</strong> functionality at every Sprint.For most organizations, this requires reorganizing teams around product features, services, components orsubsystems, ra<strong>the</strong>r than by individual role (e.g. developer pool, test resources, etc.). While we discussed thisorganizational impediment earlier, we see it gets compounded as our project’s size increases.Organization Follows ArchitectureMoreover, we cannot readily <strong>for</strong>m <strong>Scrum</strong> teamswithout understanding how each individual teamcan relatively holistically deliver end userfunctionality. In turn, this mandates that wedecompose <strong>the</strong> application architecture intocomponents or subsystems that have conceptualintegrity and can deliver business value on <strong>the</strong>irown 1 . <strong>Scrum</strong> provides <strong>for</strong> this architecturalfactoring activity in <strong>the</strong> Sprint staging phase, and inearly Sprints, by <strong>the</strong> front-running <strong>Scrum</strong> teams.This method works particularly well in a period <strong>of</strong><strong>Scrum</strong> expansion and rollout <strong>for</strong> a large project.Here, <strong>the</strong> front-running teams build pro<strong>of</strong> points <strong>of</strong>customer value while <strong>the</strong>y simultaneously factorFigure 2: A System Being Built by Three <strong>Scrum</strong> TeamsOver Three Sprints1 This level <strong>of</strong> sharing and communication can indeed be a challenge when implementing service oriented architectures, as <strong>the</strong>existing organization likely mirrors <strong>the</strong> prior architecture <strong>of</strong> independent silos <strong>of</strong> applications whose department owners were notoverly-required to cooperate to deliver more flexible services to users, as now becomes <strong>the</strong> case.© 2005 <strong>Rally</strong> S<strong>of</strong>tware Development Corp., Ken Schwaber and <strong>Scrum</strong>Alliance 17

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!