agile in action - agile overview for developers

37
Matt Cowell VP of Software Engineering, CSO agile in action

Upload: matt-cowell

Post on 13-Jan-2015

375 views

Category:

Technology


0 download

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

Page 1: Agile in Action - Agile Overview for Developers

Matt CowellVP of Software Engineering, CSO

agile in action

Page 3: Agile in Action - Agile Overview for Developers

the plan…

•The Agile Manifesto – Magic?

•Agile Theory

•What does agile mean for developers?

•Agile @ Daxko

Page 4: Agile in Action - Agile Overview for Developers

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

Page 5: Agile in Action - Agile Overview for Developers

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

Page 6: Agile in Action - Agile Overview for Developers

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!

Page 7: Agile in Action - Agile Overview for Developers

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

Page 8: Agile in Action - Agile Overview for Developers

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

Page 9: Agile in Action - Agile Overview for Developers

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

Page 10: Agile in Action - Agile Overview for Developers

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

Page 11: Agile in Action - Agile Overview for Developers

sounds cool, but how?

Page 12: Agile in Action - Agile Overview for Developers

Large vs. small pieces…

Page 13: Agile in Action - Agile Overview for Developers

Fix time…

Page 14: Agile in Action - Agile Overview for Developers

define done…

Page 15: Agile in Action - Agile Overview for Developers

Figure out what’s needed, when it is needed…

Just enough…just in time

Page 16: Agile in Action - Agile Overview for Developers

drive to done…

Page 17: Agile in Action - Agile Overview for Developers

Scrum

Page 18: Agile in Action - Agile Overview for Developers

Scrum concepts…

•User Story

•Product Backlog

•Sprint Backlog

•Release Burndown / Sprint Burndown

•Sprint Planning

•Daily Scrum

•Sprint Demo / Review

•Sprint Retrospective

Page 19: Agile in Action - Agile Overview for Developers

sprint commitment

Complete features

Leave priorities alone

Page 20: Agile in Action - Agile Overview for Developers

when do I get the reqs?

Page 21: Agile in Action - Agile Overview for Developers

when do I get the reqs?

Page 22: Agile in Action - Agile Overview for Developers

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?

Page 23: Agile in Action - Agile Overview for Developers

estimation…

Source: Rally

How tall is the Sears Tower?

Page 24: Agile in Action - Agile Overview for Developers

estimation…

Source: Rally

How tall is the Sears Tower?

Info: The Empire State Building is 1250 ft

Page 25: Agile in Action - Agile Overview for Developers

long term planning…

•Size the product backlog

•Measure velocity of the team

size of backlog

÷ team velocity

# sprints left

Source: Rally

Page 26: Agile in Action - Agile Overview for Developers

What about developers?

1)You are now part of a cross functional team

Page 27: Agile in Action - Agile Overview for Developers

What about developers?

1)You are now part of a cross functional team

2)Attention to detail – get to 100% (i.e. DONE!)

Page 28: Agile in Action - Agile Overview for Developers

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

Page 29: Agile in Action - Agile Overview for Developers

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…

Page 30: Agile in Action - Agile Overview for Developers

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

Page 31: Agile in Action - Agile Overview for Developers

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

Page 32: Agile in Action - Agile Overview for Developers

What about developers?

7)Focus on unit testing. QA is not there to find what you were too careless to check for…

Page 33: Agile in Action - Agile Overview for Developers

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

Page 34: Agile in Action - Agile Overview for Developers

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

Page 35: Agile in Action - Agile Overview for Developers

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

Page 36: Agile in Action - Agile Overview for Developers

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

Page 37: Agile in Action - Agile Overview for Developers

Matt CowellVP of Software Engineering, CSO