agile in action - agile overview for developers

Post on 13-Jan-2015

373 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

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

top related