agile lean workshop for teams, managers & exec leadership
TRANSCRIPT
1
Agile-Lean workshop for teams, managers & exec leadership
Ravi Tadwalkar, Enterprise Agile Coach & Community Evangelist, Cisco SystemsApril 2013, Attribution-NonCommercial-NoDerivs 3.0 Unported
Synopsis: It has always been my pleasure to informally facilitate planning workshops for teams, functional managers & exec leadership at and outside Cisco! This workshop helps leadership in exploring how to be a good servant leader in a “control” culture that expects neck-down management style. It helps team members to assess how "Whole Team Quality Ownership Model“ needs generalists in a culture that merits individual contributorsThis Agile-Lean workshop for teams, managers & exec leadership expands on what Pete Behrens refers to as " inside-out leadership agility”.
“Plans are useless, but planning is indispensable" - Dwight D. Eisenhower
Workshop “product tree” has roots based on agile/scrum values: Focus, Commitment, Respect, Openness and…Courage
What is agile/scrum? How different than lean/kanban?
Training alliance
3
Agile/Lean Basics• Agile Manifesto
• Agile & Lean Principles
• What is Agile/Lean
• Why Agile/Lean
• What is Agile & Why Agile
• What is Lean & Why Lean
• Functional Manager Roles & Responsibilities in Agile
• Every Team member takes on “Generalist” Role in Agile
4
Agile Manifesto
The Agile Manifesto introduced the term “agile” in 2001:
We are uncovering better ways of developing software by doing it and helping others do it.
Through this work we have come to value:
That is, while there is value in the items on the right, we value the items on the left more.
Source: http://www.agilemanifesto.org/
Individuals and Interactions over processes and tools
Working Software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
5
Agile & Lean Principles• Agile Principles
•There are 12 agile principles for iterative & incremental development:•Immediate feedback: Internal & external customers
•Inspect & Adapt: Release, Sprint Retrospectives
•(see notes section)
• Lean Principles•These 7 lean software development principles enable continuous improvement:
•Eliminating waste and rework
•Amplify learning
•Decide as late as possible
•Deliver as fast as possible
•Empower the team
•Build integrity in
•See the whole
6
What is Agile/Lean?
• Agile Principles •Iterative & incremental development•Immediate feedback•Inspect & Adapt
• Lean Practices•Eliminating waste and rework•Continuous improvement
7
Why do Agile/Lean? • Increase customer satisfaction
• Faster time to market
• Be nimble & flexible in the market
• Improve quality
• Increase team morale
• Predictable release timing
• Simplify process
• And….Continuous Innovation (“Lean Startup”)
“With waterfall, we spent 12 months planning for 4 months of engineering. With Agile, we spend 2 hours
planning for 54 hours of engineering. One word: productivity.”
-Steve Harter, CBABU Software Engineer
8
What is Agile and Why Agile
• What is Agile?
• Why Agile?
Scrum introduces “feedback loops” that enable frequent delivery of customer value:
Agile := “immediate feedback- inspect-and-adapt”
• Group of methods based on iterative and/or incremental development
• Cisco Agile practitioners use combination of agile methods such as scrum and XP.
9
Scrum
Sprint Timeboxed: 2-4 weeks in
duration
24 hrs
Product Backlog –Prioritized Features desired by
Customer
Daily Standup Meetings – • Obstacles? (Olve Maudal starts here)• Done since last meeting• Plan for today•- Apply XP best practices
Sprint Planning Meetings – •Review Product Backlog•Estimate Sprint Backlog•Commit to Sprint Timebox•Establish Sprint Goal
Backlog Tasks – expanded by team
Sprint Backlog -Features (User Stories) selected into sprint, estimated by team
Sprint Review Meetings – •Demo features to all•Retrospective on the Sprint
Potentially Shippable Product Increment
11
What is Lean and Why Lean
• What is Lean?Lean := “reduce/eliminate process waste”
Lean practitioners use lean tool- not a process- such as kanban
• Why Lean?
Mary Poppendieck (Lean Software Development guru) states:
“ Deliver continually increasing customer value Expending continually decreasing effort In the shortest possible timeframe With the highest possible quality.
A journey, not a destination. "
Martin Fowler’s quote: “ The Poppendiecks didn't introduce lean as a separate idea, nor did they introduce lean as a published process in the style of Scrum or XP. Rather they introduced lean as a set of thinking tools that could easily blend within any agile process.”
12
What is Kanban? How different from Scrum & XP?
• While both scrum and kanban support incremental development, kanban is less prescriptive than scrum & XP:
In kanban based systems, there are no explicit iterations, no explicitly defined meetings (only cadence needed), and no defined roles.
Focus is on creating “flow” in a pull based system.
• Source: Henrik Kniberg
13
Agile Functional ManagerFunctional ManagerUsually DE & DT Managers fit in this role. Technical directors may also be good fit.
Core Responsibilities
Additional Responsibilities Transition Stage
Retain people management responsibilities
Creates an environment of trust
Removes Impediments Protects Teams From
Distractions Recognizes and Rewards
agile behavior in teams and individuals
Holds teams and individuals accountable for their own commitments
May also be SMEs, Architects, Product Owners
- Have & set reasonable expectations about transition, i.e. team may stumble in initial phase.
- Budget time, resources for team needs e.g. Agile training, infrastructure.
Agile Newbie Required Training for Scrum:Scrum Fundamentals for Managers
- Introduce Slack to improve effectiveness over efficiency
- May participate in or sponsor Agile transition planning and execution
Agile Practitioner
- Support innovation- Fostering organizational
improvement- Agile Portfolio Management- Incorporate lean principles in
management- Effective coaches of Agile &
lean principles
Agile InnovatorBecome member of Agile@Cisco community
CAVEATS/ Don’ts: For Functional Managers new to Agile, these behaviors conflict with Agile Scrum;• Decide what work needs to be done• Assign the work to Team members• Keep track of what everyone on the Team is doing• Make sure the Team gets their work done• Make commitments to management about how
much Team can do by a certain date• Making commitments to management for the team • Do weekly status update report for management• Watch out for the drift back to old command-and-
control behaviors by manager assigning tasks to team rather than team choosing it.
Note: • Pete Deemer’s Manager 2.0: The Role of the
Manager in Scrum for more details• Jurgen Appelo’s Management 3.0 workouts
14
Every Team member takes on “Generalist” Role in AgileAgile Team Member(AKA Architect, Programmer, Developer, Tester)
Core Responsibilities Additional Responsibilities Transition Stage
Concurrently design, develop, and test working product increment.
Deliver to commitments on software, tests, and other deliverables
Decomposes work into SMART (Specific, Measurable, Achievable, Relevant, Time-boxed) tasks based on ideal-work day
Participates in sizing and estimation
Automates testing
Makes technical decisions (tools, architecture, design, development
practices)
Writes, estimates, and selects ownership of tasks
- Architects are available to the team- Conducts regression testing - in parallel with development - Verify & validate software while it is being developed.
Agile Newbie Required Training for Scrum: Scrum Fundamentals for Team Agile Testing (TBD)
- Runs continuous integration- Participates in code refactoring - Uses test-first/test-driven development, or better still, behavior driven
development.- Delivers what has been committed- thereby avoiding QA back-ending- Automates acceptance testing
Agile Practitioner Managing Software Debt (TBD)
- Releases through continuous delivery - Uses collective code ownership to facilitate software delivery; i.e. multiple
developers swarm on coding rather than only one developer- Nurtures emergent design- Decides at the last responsible moment - Exhibits swarming behavior i.e. everyone does testing- Decides at the last responsible moment
Agile Innovator Become member of coaching network
Workshop “product tree” has roots based on agile/scrum values: Focus, Commitment, Respect, Openness and…Courage
What is Process Training?
Training alliance
16
Process Training• The motivation to move to agile
We can offer guidance for management on when to choose what- agile/scrum and lean/kanban. There are times when neither agile nor lean makes sense and perhaps waterfall/RUP is better choice. e.g. release planning may not be feasible for pure R&D initiatives like CSDN project or really complex BI projects like GMI project. Likewise, firmware development project teams e.g. CENBU. These projects can optimize on flow w/ lean, even without scrum/kanban.
• Challenges of Agile Transition Taking stance on one standardized process can prove to be disastrous for enterprise level agile adoption. Agile transition model like SAFe or Flow-Pull-Innovate looks great in books & experience reports, but will that work for you? James Whittaker's "10-minute test plan" handout- may not work for really large programs with external vendors.
Get advice from internal coaches' network, for common pain points and scenarios are discussed during those internal coaches' meetings
• Are you kidding- Working Software Over Documentation?Reference: http://iwe.cisco.com/web/standard-agile/cpdm-standard-agile-trainingCreating Backlog during Release Planning; Creating tasks during Sprint PlanningRefer to Starter Kit document named "before & after" (deck) for sample release timelines, AC goals, Sprint 0 goalsExamples of Agile Commit templates at various "scales" of program- small, medium & largeExamples of Architectural design documentation
Workshop “product tree” has roots based on agile/scrum values: Focus, Commitment, Respect, Openness and…Courage
What are Agile/Lean Metrics?
Training alliance
18
Agile Metrics with Balanced Scorecard• Agile teams can use balanced scorecard approach to measure team performance using metrics
such as Acceptance Percentage, Velocity Stability and Quality Debt with these assumptions:• Any metric we come up with has to be generally applicable and fall into the BSC charter.
• We recommend using "effective person day" as the basis of effort estimate. As coaches we advise teams that they should use 4 hrs/day initially, and as they improve can go up to 6 hrs/day.
EfficiencyMeasuring organization in meeting its current deliverables, productivity, revenue andcost targets.
Value DeliveryMeasuring the value of the software deliveredto customers during the measurement period.
QualityMeasuring the quality of the product as determined in the customer’s environment
AgilityMeasuring the ability of the organization to improve and meet future performanceobjectives
Reference: “Scaling Software Agility”Dean Leffingwell © 2007
19
Agile Metrics for Management Reporting1. Overall Team Agility Assessment (If we need to improve, what will help?)
2. Portfolio-level Feature Roadmap (What’s In/Out as of last sprint/release)
3. Pertinent Metrics:
1. Velocity Stability/Trend: Enhanced Velocity/ Release Burndown Chart (Velocity Trending Stats, for release/sprint planning)
2. Acceptance Percentage (last 3 sprints)
3. Scope Change Percentage (last 3 sprints)
4. Release Burnup vs. Defect Trend (Defect Debt situation)
5. Release-level and/or last Iteration-level CFD (Where is the WIP accumulating?)
20
Lean Metrics• Kanban creator David Anderson recommends these lean metrics:
• Lean guru Donald Reinertsen has metrics for flow-based product development:
• Queue size of product backlog
• Batch size of stories/defects
• Aging of backlog items
• Feedback speed
• Aging of obstacles
• Trends in queue size
• Trends in batch size
• Trends in cadence
• Efficiency of flow
• Decision cycle time
• Lead time metric (as business agility indicator), tracked using average lead time trend lineTip: Use trending similar to empirical velocity based trending used in scrum process framework
• Flow Efficiency metric= touch time / lead time
• Due date performance metric (as predictability indicator)
Workshop “product tree” has roots based on agile/scrum values: Focus, Commitment, Respect, Openness and…Courage
What “fruits” (or proof) do you want to check out?How do we start?
Training alliance
22
Experience Reports: Prove to us that Agile/Lean works!• Review the CBABU Experience Report
Start reading Cisco Agile Playbook content
• Review the Exec-Roadshow Deck
• How do we start - Candidates for Agile Projects
23
How do we start - Candidates For Agile Projects• Need For Agile
Need for frequent customer input to discover and refine requirements
Need to adapt to changing market conditions
• Need For Lean
Need for ad-hoc requests that suite lean/kanban approach
You may want to consider lean/kanban for sustenance as well
• Organizational Readiness
Core players bought in – product marketing, development, and test
Management support
Critical partners educated (CA, Mfg, Sales, etc.)
Team commitment to remove productivity barriers
• Ability To Collaborate
Willingness to organize cross-functional teams – no silos
Development and test can work together daily
Workshop “product tree” has roots based on agile/scrum values: Focus, Commitment, Respect, Openness and…Courage
Doesn’t “to lead is to serve” sound too good to be true?
Training alliance
25
Servant Leadership• Too good to be true: “To Lead is To Serve”?
• Leadership Assessment (Example)
• Summary based on assessment
• Peopleware TopicsModel of Team Room
Model of Daily Standup Meetings
Team Composition
Expectation Management: Status Updates, Predictability, Attitudes, Involvement & Quality
• What’s Culture?
• Why Inside-out Agility?
• Next Steps: GROW with InsideOut Coaching Training!
26
Too good to be true: “To Lead is To Serve”?• James Hunter’s Servant Leadership Implementation Process (source:
jameshunter.com)
The process involves three steps that are implemented over a nine (9) month to one-year period and includes:
• Foundation: Setting the standard by training the team on the specifics of Servant Leadership and the required leadership skills and behaviors.
• Feedback: Identifying the Gaps is accomplished utilizing a Leadership Skills Inventory (LSI) tool, which is a 360° feedback tool clearly identifies the "gaps" between where the manager needs to be as the leader versus their actual level of performance as the leader.
• Friction: Eliminating the Gaps & Measuring Results. Establishing specific and measurable goals and measuring behavioral changes. A Continuous Improvement Panel (CIP) is created to provide managers with support and provides the appropriate "friction" to ensure individual behavior change until those changes become habit (second nature).
You can check out “The Servant Leadership Training Course” (audio MP3 CD set) on jameshunter.com for servant leadership specific training on topics such as: Leadership Skills, Community/Team Building, Active Listening, Assertiveness Training, Character Development, Constructive Discipline, Performance Planning & Review.
27
Leadership Assessment
Popular example of leadership assessment used by agile coaching community:
Source:James Hunter’s “Servant Leadership Skills Inventory” ( aka LSI tool )URL: http://www.jameshunter.com
29
Peopleware Topics• Typical functional management (power vs. authority) scenarios and possible workarounds for few of those.
This is based on conversations with several functional/non-functional managers.
• Almost everything in agile is centered on the team. Effective teams can overcome almost any obstacle. Pay close attention to managing stakeholder expectations. Not establishing the correct expectations can create genuine havoc in your project.
• You can get started with agile with or w/o tooling- leveraging on your visit to team room aka scrum room and/or attending scrum team meetings.
• “Model” of Team roomContact us (Agile-Lean@Cisco team) so we can coordinate with the Scrum Master to have access into the “Kettle Drum” Scrum Room on a need-to-know basis. The only rule is not to interrupt the scrum team.
• “Model” of daily standup meetingsIt is also possible to show-case a distributed scrum team to newbie teams/individuals. Newbie teams do want to see a daily scrum meeting with scrum team in action. Team’s candid response has always been: "We can certainly invite others to join to help them adopt more agile practices. (We have found it keeps us honest to our agile practice too as we are less likely to slip into bad practices with others watching)"
30
Peopleware TopicsTeam Composition
We suggest you look for these characteristics when forming an agile team:
• A team with every member willing to try agile
• A team that is curious and willing to adapt and learn
• A team willing to collaborate through constructive "storming" to have a better solution
• A team with diverse technical skills, willing to broaden skills by teaching and learning
• A team in which some members have domain expertise
• A team willing to foster strong communication skills
• A team with one or more agile champions
• A team with one or more experienced agile practitioners
• Co-located or distributed- the team should, at least, be willing to come together for coaching.
31
Peopleware Topics• Expectation Management- Status Updates
• Productivity will go down at first and rise later. You should expect that it may take few iterations for productivity to match pre-adoption levels. Pressure to speed up will force the team into regressive behavior- such as wanting to go back to waterfall.
• Expectation Management- Predictability
• Good agile teams are known to be highly predictable, though during initial adoption the team’s predictability will decline as the team learns about its capacity to produce. As a team matures in its practices, a stable velocity will emerge leading to predictability.
32
Peopleware Topics• Expectation Management- Attitudes
• There will be those that feel:
• Time is wasted in daily meetings
• Time is wasted testing even though we won’t deliver in this iteration
• Roles are not clear
• There is not enough project definition
• There is not enough documentation
• The team is not going fast enough
• …and so on.
33
Peopleware Topics• Expectation Management- Involvement
• The role of every single person on the team will change.
• Project Managers will need to give up control. If they are scrum masters, they will have to be be servant leaders
• Product Owners will forgo detailed requirements documents
• Developers will need to develop incremental design and architecture skills
• UX - User experience will need to lead development by working iteratively and deliver artifacts that are less polished.
• QA engineers will start testing earlier to largely overlap code development
• The entire team takes ownership of requirements definition through testing.
• Expectation Management- Quality
• Product quality will stay the same or rise slightly in the first few iterations. The big gains in quality come later when the team begins to adopt lean engineering practices like test first development, continuous integration and comprehensive unit, functional and acceptance automation.
34
What’s Culture?
• Check out this video by Michael Sahota
• Example of cultural assessment survey(surveymonkey.com)
Source: Pete Behrens’s slideshare: http://www.slideshare.net/petebehrens/leading-agility-insideout
• Notice how Eric Ries’s “lean startup” method applies agile/lean for continuous innovation!• 2 out of its 5 principles- “validated learning” & “build-measure-learn” require “inspect & adopt” & “reduce waste”
• However, large corporations use top-down approach toward agile adoption• define process (formalize change) -> define structure (governance w/ silos) -> Culture (control)
• That’s why Pete Behrens’s “Inside-out agility” approach makes sense for “corp -> lean startup” morph!• assess culture -> build org structure -> improve (process) with “inspect & adopt” & “reducing waste”.
Why Inside-out Agility?
36
Next Steps: GROW with Inside-Out Coaching Training!• Introduction
• The purpose of this training is to practice how to help manager improve his/her manager effectiveness by asking to put all people managers through InsideOut Coaching training.
• InsideOut Coaching provides practical skills for all People Managers that are immediately applicable to real-world situations. It's not just training and tools; it's a paradigm shift with the power to create change. Managers learn to stop dictating answers and help their team members find their own solutions – effectively unlocking the spirit of innovation and creativity within each team member and enabling them to thrive.
• You can create a wiki page intended to provide a central repository of information about InsideOut Coaching and a place where people managers can share their experiences, their tips and tricks, and list events intended to continue the momentum around this powerful coaching technique.
37
Tips: GROW with Inside-Out Coaching Training!• For a quick "hallway coaching" session, instead of using all the GROW questions, use
one question from each of the 4 sections, such as:
• 1. What do you want from this discussion? (s.m.a.r.t.)2. Briefly, what's been happening?3. If you were watching this conversation, what would you recommend?4. What and when is the next step? (s.m.a.r.t.)
38
Resources: GROW with Inside-Out Coaching Training!• Description Resource
Public InsideOut Web Site insideoutdev.com
InsideOut Coaching Web Site with licensed resources such as videos and tools (requires password)
iocoachingcommunity.com
Tools (for printing) - GROW Pad, Coaching Strategy and Feedback Form
Tools for printing
Tools (for editing) - GROW Pad, Coaching Strategy and Feedback Form
Tools (for editing)
Alan Fine, creator of InsideOut Coaching, TED Talk Alan Fine TED Talk
Alan Fine's book "You Already Know How to Be Great: A Simple Way to Remove Interference and Unlock Your Greatest Potential"
You Already Know How to Be Great
Internal overview slide deck for sharing the basic ideas of InsideOut Coaching with team members
InsideOut Coaching Debrief
Workshop “product tree” has roots based on agile/scrum values: Focus, Commitment, Respect, Openness and…Courage
Why do we need Team Room?
Training alliance
41
Team Room Myth(s)• Typical Myth- Functional Manager’s dilemma:
• "Team room does not work for us, since I cannot be sure a) whether people are really working, or b) people are doing private work.”
• Scenario:• This functional manager called for yet another all-hands. Team is fuming over too many and too long meetings.
• Symptoms:• Micro-management; Lack of mutual trust; Not knowing team/project state causes anxiety
• Solution:• Given that human brain mapping capability is spatial, persistent & tactile; a better materialization of this state is
helpful. Team room can be remedy for underlying trust factor. Team room enables transparent view of all agile artifacts to all team members and stakeholders. Large companies create “model team-room“- not just a small “lean startup” aspect anymore! Geo-distribution is possible with video conferencing, wikis for shared editing
• Team room is also a multi-purpose room where gamestorming supplements brainstorming; besides teams highlighting their impediments / blockers / obstacles. Visit team-room for demos & examples of how distributed teams collaborate with product managers/owners, leads & scrum masters.
42
Why Team Room?• What’s typical engineering dilemma?
• Managers (Functional & PMO) chase engineers on talks all the time
• What’s the pitfall?• Productivity & quality at stake, resulting in rework
• What’s the rescue situation?• Managers should let go (control): enable self-organizing teams by creating team rooms
• How to avoid the pitfall• Enable team to have generalists so as to self-assign work with no pressure from “seagulls”. Let’s talk about “How?”
• Team formation guidance: • Promote team room based collaboration, create culture of co-location
• Form teams around portfolio/product level feature teams instead of component teams
• Managers should train/mentor/coach team members so that they become generalists
• Empower teams to become self-organizing “nirvana” state- by giving them your office for teamwork!
• Engineers should collaborate in those “transient” team rooms for daily standups in front of task boards
• Scrum Masters & POs should collaborate for obstacle removal in front of obstacle boards
Workshop “product tree” has roots based on agile/scrum values: Focus, Commitment, Respect, Openness and…Courage
What “fruits” (or questions) do you want to add?
Training alliance
45
Managers, fire your questions- here are some I get:• How to empower feature teams to make decisions without continuous oversight by us?
• How to create feature teams without enough PdM, Architect & UE lead in xyz location?
• Team is not documenting their software when “swarming” during iterative development, beyond generating API docs. We expect SFS instead, and sometime end up thinking “the agile manifesto about ‘working software over documentation’ is wrong”.
• How do we share engineers across programs to stay within budget?
• How do we prioritize new features vs. retiring “technical debt”(recapitalization of core functionality to modernize it)?
• In exec leadership workshop, one senior exec states the importance of stage-gates during iterative development, but there are very few in the audience that can smell scrum-but here. What would you do to get the crowd on track otherwise? You are up against crowd wisdom now.
• How would you convince BU execs that their first agile experience will be not so pleasant? How will you mentor senior execs who tell you they will not (want to) fail at any cost?
46
Teams, fire your questions- here are some I get:• How do newbie scrum Teams adopt swarming behavior?
How do we create “servant leader” out of a commanding officer (functional/PMO manager) causing that?
• UE designer feels left out as her voices are not heard by marketing. She feels that she has better vision than the product manager/owner who is completely ignorant of UE research and usability. How do you make the UE work with marketing?
• A scrum team wants to do planning poker based sizing during release planning. They want to size vertically sliced stories that have dependencies on external (waterfall) team. How should they size such stories?
• A team currently maintains bugs in defect backlog. What is the correct Agile way to go about assigning and fixing bugs? This is considered technical debt to an extent, but some of these bugs are also minor features. Do we need a technical bug-fixing sprint or do we fix these bugs as we go about implementing user stories with a reduced velocity?
• Testing user stories as they are completed - how is this handled when there are a set of user stories that need to be tested together due to dependencies. Several Defects in the backlog and there is a minimal set of features needed to release - how does this affect timelines?
• To be agile, are daily code deployments a must? With weekly deployment, we can't react to re-testing fast enough which is the general approach in waterfall. Sprint completion gets delayed because of larger defect fixes that can't be done within the sprint period - how would this be handled?
• Multiple people with similar roles on the project team. Who's the key decision maker in the Agile team for scope decisions? Place for team members in external teams who aren't part of the Agile team. Best practices for stakeholder management. Any best practices for teams that are not co-located and keeping agile?
• Are there approaches where sprints happen in parallel or overlap. What are the drawbacks?