Professional Documents
Culture Documents
in the Enterprise
Exploring the Challenges as Agility Scales
Bob Galen
Bias Disclaimer:
Agile is THE BEST Methodology for Software Development…
However, NOT a Silver Bullet!
Introduction
1. Agile Scaling & Scrum
2. The Evolving Role of the Product Owner
3. Criteria
4. Scrum-in-Testing
5. Testing Challenges
6. Q&A
24 hours
Daily Scrum
Meeting
Potentially Shippable
Product Backlog Product Increment
As prioritized by Product Owner
This section focuses on these areas from all four perspectives, with
a strong emphasis on Products & Testing
What are the sorts of conversations & activities that occur at each
level? Are there even levels?
Scrum Master(s)
Product Owner(s)
Lines of business
Team collaboration – resource management, allocation, and budgeting
Labs & equipment sharing
Reporting & release coordination
Quality, measurement, and governance
And how do they operate, integrate, and provide consistency w/o command-
and-control?
Charter
Coordinate amongst various Scrum teams at an integrated product level
Product integration, testing
Resource sharing & constraints (people)
Resource sharing (hardware & tools)
Operationally - Scrum dynamics
Scrum Master of the S2
Scrum Masters gather, potentially daily stand-up
Discuss cross-team progress, dependencies, impediments
Charter
Product Backlog / Roadmap definition, 6-12+ months
Product integration, testing, and consistency checks (Compliance,
Usability, UAT)
Resource sharing & constraints (people) and (hardware & tools)
Budget / cost management
Operationally - Scrum dynamics
Periodic (monthly, quarterly) meetings
Rotating Scrum Master of the S3, from within the leadership team
Rarely daily; typically weekly meetings
Discuss adjustments required to execute to the roadmap; cross-team &
cross-product line trade-offs
Charter
Evangelizing & Guiding the Agile adoption – practices, evolution, meta-
retrospectives
Organizational focus:
Corporate leadership understanding & adaptation
Cross-functional understanding & adaptation (ALL functions)
Operationally - Scrum dynamics
Typically monthly meetings; Evolution Backlog / road-map
Rolling up retrospectives; enabling change
Training; Scrum Master & Product Owner focus groups
Gather in small groups; better that you are from the same
company/organization OR those with similar characteristics
Using the Scrum of Scrums notion and Scrum as your framework,
please define:
Type B Scrum
Overlapping Iterations
Backlog continuously
refreshed
Reduced staging times
Type C Scrum
All at once, multiple –
simultaneous releases
Organization of a Meta-
Scrum
Product Families
Product Roadmap
Themes
Which teams will be working on what components
Packages of User Stories
Prioritized by business value & need
Team n
Team 4
… Team 8 Iterate Iterate Harden
Continuous Integration
Environment
Dev + QA Dev + QA QA -> Staging Production
Evolution
Copyright © 2009 RGalen Consulting Grp,
v1.1 -- November 2008 LLC 34
Release Goal Setting
A Key for Coordination
As you scale, each planning level should create criteria (Sprint
Goals) that are –
Interrelated and cohesive
Focused towards the end product release and not simply on each teams
deliverables
Identify dependencies and overall workflow
The teams then swarm around the goals, using their creativity and
teamwork to figure out:
If you’re a developer, what does “I’m done with that story” mean?
Code complete
Code reviewed (paired)
Checked in – build successful
Unit tests developed – passed
Integration
QA collaboration
Run by the Product Owner
Each User Story should have acceptance criteria as part of the card
Gather in small groups; better that you are from the same
company/organization OR those with similar characteristics
In this section, we discussed the various levels of criteria that are
important within agile teams.
1) Amongst your team, discuss how you’ve established goals & criteria
in your Agile (or non-Agile) teams
1) What levels are the most important?
2) What levels don’t matter as much?
2) What part does the team play in definition? Should play?
3) Does defining what “done” means really matter? How?
4) If you had only one to pick, which would it be? And why?
Sprint Backlog
Potentially Shippable
Product Backlog Product Increment
As prioritized by Product Owner
Production
30 day
Product Release
Dev.
Sprint(s)
Duration and focus can vary from one Stabilization Sprint to the next
Although consistency matters
Interim or Integration
Product Releases
Product Owner & test team members coordinate
bug feedback into current Development Sprint
Backlog and Product Backlog
The model typically is used for domains with an existing large scale
legacy testing burden (or requiring larger scale testing practices)
In this case, the skew allows the development activity to progress while
testing is performed
Sometimes this is viewed as “Waterfall” testing within Scrum; but
necessary if you can’t perform ALL testing within the iteration
Copyright © 2009 RGalen Consulting Grp,
v1.1 -- November 2008 LLC 58
Scrum-in-Testing
Skewed Testing Sprints
Advantage of handling defects and integration issues close to the
originating Sprint
Can reserve Sprint Backlog time so that changes can be incorporated
immediately in the “next” Development Sprint
Over time as your Agile experience grows, you’ll want to narrow the
skew – perhaps with overlapping iterations
Falling Behind
If you skew too heavily towards the traditional, testing stabilization
Sprints, you’ll lose connection to the next iteration
Falling Forward
If you skew too heavily towards the development Sprints, you’ll lose the
more formal testing & stabilization battle
Do
Define agile testing behavior guideline (role & responsibilities)
Encourage pairing and strong collaboration
Assess your technical capabilities and begin to aggressively fill in any
gaps:
Technical domain understanding and direct programming experience
Open source automation tools experience
Customer collaborative and UAT experience
Establish guidelines for balancing between Agility & corporate quality
and governance expectations
Don’t underestimate the impact that Agility will have towards your
traditional teams’ capabilities, approaches and capacity for change
Copyright © 2009 RGalen Consulting Grp,
v1.1 -- November 2008 LLC 63
Testing-in-Scrum
Typical Challenges – Quality Influence
Working with the Product Owner (Customer)
Becoming a collaborative partner; defining & automating acceptance
tests
Actively representing the Voice of the Customer (VOC)
It’s important to setup clear & broad release criteria for each Sprint
and the overall Release
Feature goals; usability goals; acceptance confirmation
Quality criteria (defects, coverage, types of testing)
Process artifact goals (for example: SOX or other compliance,
traceability)
Gather in small groups; better that you are from the same
company/organization OR those with similar characteristics
The context here is your personal experience with any aspect of
Agile Testing
Even in an agile environment there are bugs that surface late in the
game
Realize that you may have to make adjustments to the purist CI view
that everything moves on the trunk
Short lived branches might be required to be efficient in handling content
that is WIP and not releasing
Architectural implications
Ability to release products or components separately
Ability to hold back features or components that aren’t done
Typical Activities:
Pilots
Alpha &Beta testing
Time buffer
Iterative testing and rework
Focused on:
Support readiness
Production environment readiness
Customer readiness
Training
Log them and make action plans visible. Our CI “manager” served
as our Release Coordinator to focus our attention on the entire
cycle.
Thank you!
The history of the term SCRUM dates back to a 1986 article by Takeuchi and Nonaka in
Harvard Business Review. In it they connected the Rugby term to an iterative model for
product development. It's worth a read to simply see the history and connection back to
Lean Manufacturing practices - http://apln-
richmond.pbwiki.com/f/New%20New%20Prod%20Devel%20Game.pdf