agile in action - agile overview for developers
DESCRIPTION
Excerpt from a presentation I gave to the University of Alabama Association for Computing Machinery in November 2010. I wanted to give the students a practical overview of Agile and Scrum and give them some perspective on what Agile means for developers.TRANSCRIPT
Matt CowellVP of Software Engineering, CSO
agile in action
the plan…
•The Agile Manifesto – Magic?
•Agile Theory
•What does agile mean for developers?
•Agile @ Daxko
the agile manifesto…
Individuals & Interactions--over--
Process and ToolsWorking Software
--over--Comprehensive Documentation
Customer Collaboration--over--
Contract Negotiation
Responding to Change--over--
Following a Plan
the magic part…
• Forgo processes / tools
• Make sure individuals interact
• Don’t bother with documentation
• No more contracts
• No sense trying to create / follow a plan, just deal with change
the magic part…
• Forgo processes / tools
• Make sure individuals interact
• Don’t bother with documentation
• No more contracts
• No sense trying to create / follow a plan, just deal with change
Success!
the agile manifesto…
Individuals & Interactions--over--
Process and ToolsWorking Software
--over--Comprehensive Documentation
Customer Collaboration--over--
Contract Negotiation
Responding to Change--over--
Following a Plan
the manifesto principles…
•Satisfy the customer early and continuously
•Harness change for competitive advantage
•Deliver working software frequently
•Business people and devs must work together
•Build projects around motivated individuals
•Conveying info face-to-face is most effective
the manifesto principles…
•Progress = working software
•Agile promotes sustainable dev (constant pace)
•Technical excellence / good design enhances agility
•Maximize the work not done
•The best work emerges from self-organization
•Team reflects regularly and tunes accordingly
the manifesto principles…
•Progress = working software
•Agile promotes sustainable dev (constant pace)
•Technical excellence / good design enhances agility
•Maximize the work not done
•The best work emerges from self-organization
•Team reflects regularly and tunes accordingly
sounds cool, but how?
Large vs. small pieces…
Fix time…
define done…
Figure out what’s needed, when it is needed…
Just enough…just in time
drive to done…
Scrum
Scrum concepts…
•User Story
•Product Backlog
•Sprint Backlog
•Release Burndown / Sprint Burndown
•Sprint Planning
•Daily Scrum
•Sprint Demo / Review
•Sprint Retrospective
sprint commitment
Complete features
Leave priorities alone
when do I get the reqs?
when do I get the reqs?
Source: “The New New Product Development Game” byTakeuchi and Nonaka. Harvard Business Review, January 1986.
User stories are meant to seed conversation…
when do I get the reqs?
estimation…
Source: Rally
How tall is the Sears Tower?
estimation…
Source: Rally
How tall is the Sears Tower?
Info: The Empire State Building is 1250 ft
long term planning…
•Size the product backlog
•Measure velocity of the team
size of backlog
÷ team velocity
# sprints left
Source: Rally
What about developers?
1)You are now part of a cross functional team
What about developers?
1)You are now part of a cross functional team
2)Attention to detail – get to 100% (i.e. DONE!)
What about developers?
1)You are now part of a cross functional team
2)Attention to detail – get to 100% (i.e. DONE!)
3)Don’t just ask the question; answer the question
What about developers?
1)You are now part of a cross functional team
2)Attention to detail – get to 100% (i.e. DONE!)
3)Don’t just ask the question; answer the question
4)Communicate with team…
What about developers?
1)You are now part of a cross functional team
2)Attention to detail – get to 100% (i.e. DONE!)
3)Don’t just ask the question; answer the question
4)Communicate with team…
5)Sustain your effort – take pride in meeting your commitments
What about developers?
1)You are now part of a cross functional team
2)Attention to detail – get to 100% (i.e. DONE!)
3)Don’t just ask the question; answer the question
4)Communicate with team…
5)Sustain your effort – take pride in meeting your commitments
6)Learn how to work in vertical slices
What about developers?
7)Focus on unit testing. QA is not there to find what you were too careless to check for…
What about developers?
7)Focus on unit testing. QA is not there to find what you were too careless to check for…
8)Learn patterns…use them
What about developers?
7)Focus on unit testing. QA is not there to find what you were too careless to check for…
8)Learn patterns…use them
9)Refactor early and often
What about developers?
7)Focus on unit testing. QA is not there to find what you were too careless to check for…
8)Learn patterns…use them
9)Refactor early and often
10)Practice test driven development
What about developers?
7)Focus on unit testing. QA is not there to find what you were too careless to check for…
8)Learn patterns…use them
9)Refactor early and often
10)Practice test driven development
11)Implement continuous integration
Matt CowellVP of Software Engineering, CSO