Www.rose-hulman.edu/~mutchler/gcer2012 David Mutchler Professor of Computer Science and Software...

14
www.rose-hulman.edu/ ~mutchler/gcer2012 Agile Project Management – Applying Scrum to Botball David Mutchler Professor of Computer Science and Software Engineering Rose-Hulman Institute of Technology 5500 Wabash Ave. Terre Haute, IN 47803 [email protected] (812) 877-8426

Transcript of Www.rose-hulman.edu/~mutchler/gcer2012 David Mutchler Professor of Computer Science and Software...

Page 1: Www.rose-hulman.edu/~mutchler/gcer2012 David Mutchler Professor of Computer Science and Software Engineering Rose-Hulman Institute of Technology 5500 Wabash.

www.rose-hulman.edu/~mutchler/gcer2012

Agile Project Management – Applying Scrum to Botball

David MutchlerProfessor of Computer Science and Software Engineering

Rose-Hulman Institute of Technology5500 Wabash Ave.

Terre Haute, IN 47803

[email protected](812) 877-8426

Page 2: Www.rose-hulman.edu/~mutchler/gcer2012 David Mutchler Professor of Computer Science and Software Engineering Rose-Hulman Institute of Technology 5500 Wabash.

www.rose-hulman.edu/~mutchler/gcer2012

Take-away (preview)Botball teams need Project Management

But Project Management is hard!Current focus:

Gantt ChartsWaterfall processes

Another way:Agile processes

Simplified Scrum for Botball

Page 3: Www.rose-hulman.edu/~mutchler/gcer2012 David Mutchler Professor of Computer Science and Software Engineering Rose-Hulman Institute of Technology 5500 Wabash.

www.rose-hulman.edu/~mutchler/gcer2012

What is Project Management?Henry Gantt (1861-1919), the father of planning and control techniques

Photo and diagram are from Wikipedia, http://en.wikipedia.org/wiki/Project_management

Typical phases of an engineering project

Page 4: Www.rose-hulman.edu/~mutchler/gcer2012 David Mutchler Professor of Computer Science and Software Engineering Rose-Hulman Institute of Technology 5500 Wabash.

www.rose-hulman.edu/~mutchler/gcer2012

Project Management in Botball – Gantt Chart

Page 5: Www.rose-hulman.edu/~mutchler/gcer2012 David Mutchler Professor of Computer Science and Software Engineering Rose-Hulman Institute of Technology 5500 Wabash.

www.rose-hulman.edu/~mutchler/gcer2012

Waterfall Project Management

The diagram is from Wikipedia, http://en.wikipedia.org/wiki/Project_management. It was adapted from Managing the Development of Large Software Systems, by Winston W. Royce, 1970, http://leadinganswers.typepad.com/leading_answers/files/original_waterfall_paper_winston_royce.pdf.

Building:• Cars • Software

Waterfall was incorporated in DOD standards like the one shown above,http://www.product-lifecycle-management.com/download/DOD-STD-2167A.pdf

Page 6: Www.rose-hulman.edu/~mutchler/gcer2012 David Mutchler Professor of Computer Science and Software Engineering Rose-Hulman Institute of Technology 5500 Wabash.

www.rose-hulman.edu/~mutchler/gcer2012

Agile Project Management

From http://agilemanifesto.org/ and http://agilemanifesto.org/principles.html.

We follow these principles:

… Deliver working software frequently …

… Build projects around motivated individuals …

… Working software is the primary measure of success …

… Simplicity – the art of maximizing the amount of work not done – is essential …

These sound like good fits for Botball!

Page 7: Www.rose-hulman.edu/~mutchler/gcer2012 David Mutchler Professor of Computer Science and Software Engineering Rose-Hulman Institute of Technology 5500 Wabash.

www.rose-hulman.edu/~mutchler/gcer2012

Scrum

Diagram adapted from Agile Software Development with Scrum by Schwaber and Beedle, 2001, taken from www.iconatg.com/services/process/scrum.php.

Each big cycle is called a Sprint. Each Sprint begins with planning what to deliver and ends with a working product.

Page 8: Www.rose-hulman.edu/~mutchler/gcer2012 David Mutchler Professor of Computer Science and Software Engineering Rose-Hulman Institute of Technology 5500 Wabash.

www.rose-hulman.edu/~mutchler/gcer2012

Simple Scrum in BotballGeneric Release

Plan

Sprint Beta

Sprints 1, 2, 3, …

Sprint Alpha

Deliverables for each Sprint, see next slide

Team building

Staged Strategy

Determine and assign Tasks to accomplish

the deliverables for this Sprint

Stand-up Meeting to adjust Tasks and

assignments as needed

Re-Plan for the next Sprint, based on what was learned from this

Sprint

Each Sprint: Robots score more points

Page 9: Www.rose-hulman.edu/~mutchler/gcer2012 David Mutchler Professor of Computer Science and Software Engineering Rose-Hulman Institute of Technology 5500 Wabash.

www.rose-hulman.edu/~mutchler/gcer2012

A generic Release Plan for BotballSprint Alpha:

Plan for how to build the teamTeam rules: participation, decision-making, conflict-handling, …

Sprint Beta:Staged Strategies for Seeding and Double-Elimination

Sprint 1:Robots accomplish Stage 1 of Seeding StrategyRobots accomplish Stage 1 of Double-Elimination Strategy

Sprints 2, 3, 4…Robots accomplish Stage 2… of Seeding StrategyRobots accomplish Stage 2… of Double-Elimination Strategy

Page 10: Www.rose-hulman.edu/~mutchler/gcer2012 David Mutchler Professor of Computer Science and Software Engineering Rose-Hulman Institute of Technology 5500 Wabash.

www.rose-hulman.edu/~mutchler/gcer2012

After Sprint Beta: Sprint 1:

Starts, leaves box, stops, moves over bumps on board and through turnstile, all very reliably.

Sprint 2:Scores 12 x 10 = 120 points reliably by scoring 12 of 12 Tilapia.

Sprint 3:Scores 180 additional points reliably by scoring 6 (or more) of 10 Kelp.

Sprint 4:Scores 410 additional points reliably by scoring 7 (or more) of 10

polyps from opponent's side and 3 (or more) from our side into reefs and into MPA.

Sprint 5:Scores TBD to TBD points reliably by scoring TBD.

This and the next slides show an example of how the Release Plan might evolve. Only the Seeding Strategy is shown.

Page 11: Www.rose-hulman.edu/~mutchler/gcer2012 David Mutchler Professor of Computer Science and Software Engineering Rose-Hulman Institute of Technology 5500 Wabash.

www.rose-hulman.edu/~mutchler/gcer2012

After Sprint 1: Accomplished:

Starts, leaves box, stops, moves over bumps on board and through turnstile, all very reliably.

Sprint 2: Scores 12 x 6 = 72 points reliably by scoring at least 6 of 12 Tilapia.

Sprint 3: Scores 60 additional points reliably by scoring 2 (or more) of 10 Kelp.

Sprint 4: Increases above scores for Tilapia and Kelp Scores 410 additional points reliably by scoring 7 (or more) of 10 polyps from

opponent's side and 3 (or more) of 10 polyps from our side into reefs and into MPA.Sprint 5:

Scores TBD to TBD points reliably by scoring TBD.

Sprint 1: Starts, leaves box, stops, moves over bumps on board and through turnstile, all very reliably.

Sprint 2: Scores 12 x 10 = 120 points reliably by scoring 12 of 12 Tilapia.

Sprint 3: Scores 180 additional points reliably by scoring 6 (or more) of 10 Kelp.

Sprint 4: Scores 410 additional points reliably by scoring 7 (or more) of 10 polyps from opponent's side and 3 (or more) from

our side into reefs and into MPA.

Sprint 5: Scores TBD to TBD points reliably by scoring TBD.

Page 12: Www.rose-hulman.edu/~mutchler/gcer2012 David Mutchler Professor of Computer Science and Software Engineering Rose-Hulman Institute of Technology 5500 Wabash.

www.rose-hulman.edu/~mutchler/gcer2012

After Sprint 2: Accomplished:

Starts, leaves box, stops, moves over bumps on board and through turnstile, all very reliably.

Scores 12 x 3 = 36 points reliably by scoring at least 3 of 12 Tilapia. Sprint 3:

Scores 12 x 9 = 108 points reliably by scoring at least 9 of 12 Tilapia. Scores 60 additional points reliably by scoring 2 (or more) of 10 Kelp.

Sprint 4: Scores 60 additional points reliably by scoring 4 (instead of just 2) or more of 10 Kelp. Scores 30 additional points reliably by scoring 7 (or more) of 10 polyps from

opponent's side and 3 (or more) of 10 polyps from our side into reefs and into MPA. Sprint 5:

Scores additional points from polyps. Scores TBD to TBD points reliably by scoring TBD.

Accomplished: Starts, leaves box, stops, moves over bumps on board and through turnstile, all very reliably.

Sprint 2: Scores 12 x 6 = 72 points reliably by scoring at least 6 of 12 Tilapia.

Sprint 3: Scores 60 additional points reliably by scoring 2 (or more) of 10 Kelp.

Sprint 4: Increases above scores for Tilapia and Kelp. Scores 410 additional points reliably by scoring 7 (or more) of 10 polyps from

opponent's side and 3 (or more) of 10 polyps from our side into reefs and into MPA.

Sprint 5: Scores TBD to TBD points reliably by scoring TBD.

Page 13: Www.rose-hulman.edu/~mutchler/gcer2012 David Mutchler Professor of Computer Science and Software Engineering Rose-Hulman Institute of Technology 5500 Wabash.

www.rose-hulman.edu/~mutchler/gcer2012

After Sprint 3: Accomplished:

Starts, leaves box, stops, moves over bumps on board and through turnstile, all very reliably.

Scores 12 x 11 = 132 points reliably by scoring at least 11 of 12 Tilapia. Scores 30 additional points reliably by scoring 3 (or more) of 10 polyps from our side

into MPA.Sprint 4:

Scores 30 additional points reliably by scoring 1 (or more) of 10 Kelp. Scores 50 additional points reliably by scoring 8 (instead of just 3) of more of 10

polyps from our side into MPA.Sprint 5:

Scores 90 additional points reliably by scoring 4 (instead of just 1) or more of 10 Kelp. Scores …

Accomplished: Starts, leaves box, stops, moves over bumps on board and through turnstile, all very reliably. Scores 12 x 3 = 36

points reliably by scoring at least 3 of 12 Tilapia.

Sprint 3: Scores 12 x 9 = 108 points reliably by scoring at least 9 of 12 Tilapia.. Scores 60 additional points reliably by scoring 2 (or

more) of 10 Kelp.

Sprint 4: Scores 60 additional points reliably by scoring 4 (instead of just 2) or more of 10 Kelp. Scores 30 additional points

reliably by scoring 7 (or more) of 10 polyps from opponent's side and 3 (or more) of 10 polyps from our side into reefs and into

MPA.

Sprint 5: Scores additional points from polyps. Scores TBD to TBD points reliably by scoring TBD.

Page 14: Www.rose-hulman.edu/~mutchler/gcer2012 David Mutchler Professor of Computer Science and Software Engineering Rose-Hulman Institute of Technology 5500 Wabash.

www.rose-hulman.edu/~mutchler/gcer2012

Take-away (summary)Consider Simplified Scrum (an Agile process)Make a Release PlanRepeatedly:

Do a SprintEvaluateRe-Plan

KISS – don’t overplan at this point

Do detailed planning (i.e., assign Tasks) only for the current Sprint

Be agile! What the team has accomplished so far informs what

the team can accomplish in the rest of the time!

Items in the Release Plan are Deliverables, not Tasks. Most items

should score points.

Always have working robots that score points

Acknowledgement: I am grateful to Sandy Mutchler for her help with the ideas of this project and this presentation of them.