Challenging the traditional thinking
AgilIL2012
Yael Rabinovich
Mail: [email protected]
Agile coach, AgileSparks
Software industry since 1998Agile coach @ AgileSparks since 2009
Challenging the traditional thinking
AgilIL2012
Scenario: Retesting
"Well, there's no point in testing now, If the code changes, I'll just need to re-test all this stuff anyway. Call me when things stop changing."
Traditional thinkingScenario: Retesting
• What's the assumption taken?– Things will stop changing– Testing time = tests execution time– Testing role certifying the product is ready for delivery
• The benefits – Test execution time potentially will be reduced– People motivation– Test coverage is easier to track
Agile thinking Scenario: Retesting
• The assumption– Things will keep changing– The role of the tester is
Improving the quality of the product before it's complete
• Benefits – Total delivery time potentially reduced– Fixes are simpler (risk\time)– Tester role is more relied on and critical – leading role– Progress is more reliable– Increase in quality
Agile thinking Scenario: Retesting
• Potential challenges:– More testing time– Doing the same again and again – low motivation– Effort on automation
Agile Thinking concepts Scenario: Retesting
Lean
Agile
Scrum
XP
Incremental development, Work as one Team,
Early feedback
Optimize the whole flowStop starting start finishing
Build Quality In – Automation, Continuous integration, Unit tests
Kanban\
Scenario: Utilization
“Should I start something new that is waiting for me ?”
?
Traditional thinkingScenario: Utilization
• The assumption taken– I’m measured as efficient by the pace I produce
• The benefits:– People’s skills are highly utilized
Agile thinking Scenario: Utilization
• The assumption– Effectiveness is measured by the time it takes us
to get things done – from concept to consumption– Optimize the whole vs. Local optimization– Work as one team
?Can I help directly?Do something in my domain that doesn’t create work down stream ?Or assist in making downstream faster ?Innovation ?Improvement backlog?
Scenario: Scope Driven
"We must include this new capability in this release, it’s strategic.It will result with postponing in 2 -3 months the release date"
Traditional thinking Scenario: Scope Driven
• What's the assumption taken?– Customer knows what they want
• Potential problems:– You may loose the window of opportunity– Time expands - Student syndrome, Parkinson’s law– Your team will run out of energy– You end up with “scope creep”
Agile thinking Scenario: Scope Driven
• The assumption– Early feedback – Continuous short delivery cycles – Customers discover what they want
• Benefits :– Incremental value & ROI– build customer trust– Easy to plan– Creates sense of urgency– 80/20 rule (less is more)
Agile thinking Scenario: Scope Driven
• Potential challenges:– Short term view– High investment in reduce
cost of release– Late adapters
“Timebox — don't scopebox” —Mary Poppendieck , Leading lean software development
Agile Thinking concepts Scenario: Scope driven
Lean
Agile
Scrum
XP
Project management framework: Incremental development, Work as one Team, Sprints - timeboxing, Product Owner
Customer collaborationEarly feedbackResponding to change
Optimize the whole flowStop starting start finishingDeliver fast
Engineering Practices: Build Quality In – Automation, Continuous integration, Unit tests
Kanban\
Scenario: Meetings
“All day we are in endless meetings, there is no time to do real work”
Traditional thinkingScenario: Meetings
• The assumption taken?– Work is what we do out of the meetings (code, test…)– Machine model: Each part can be built separately and be
assembled at the end
• Potential problems:– More documentation– More Process
Agile thinking Scenario: Meetings
• The assumption– Team face-to-face communication is most effective– Engineers discover how to build the product
• Benefits :– Focus– Tight feedback– Ownership– Team spirit– Transparency
Practices that can helpScenario: Meetings
• Collaborative games – Fun• Physical participation• Visualization• Repeated Structure• Small• Facilitator
• Own a meeting• Publish Agenda, goal, outcome• Time-boxing • Close the meeting explicitly
Optimize the whole flowStop starting start finishingDeliver fast
Agile Thinking concepts Scenario: Meetings
Lean
Agile
Scrum
XP
Incremental development, Work as one Team, Sprints - time boxing, Product Owner, Cross functional teams, ceremonies
Individuals & InteractionsCustomer collaborationEarly feedbackResponding to change
Build Quality In – Automation, Continuous integration, Unit tests,
Kanban\
Scenario: Planning
“We are bad at estimating, we never live up to our plans”
Traditional thinkingScenario: Planning
• The assumption taken– Engineers knows in advanced how to build the
product
Agile thinking Scenario: Planning
• The assumption– Engineers discover how to build the product– It’s an emerging process – complex system
– Empirical data = Velocity, Working software– Continuous planning = adapt the plan according to
the team's capability
Optimize the whole flowStop starting start finishingDeliver fast
Agile Thinking concepts Scenario: Scope driven
Lean
Agile
Scrum
XP
Incremental development, Work as one Team, Sprints - time boxing, Product Owner, Cross functional teams, ceremonies, PSP
Working softwareIndividuals & InteractionsCustomer collaborationEarly feedbackResponding to change
Build Quality In – Automation, Continuous integration, Unit tests,
Kanban\
Adaptability
Agile is a method to deliver value to the customers, not a dogma