software development is hard

48
http://www.flickr.com/photos/bobjagendorf/2219031438/ software development 1 is hard A primer on why agile and lean can help.

Upload: ed-wong

Post on 07-Jul-2015

1.396 views

Category:

Technology


5 download

DESCRIPTION

The latest version of this primer that I sometimes present to groups.

TRANSCRIPT

Page 1: Software development is hard

http://www.flickr.com/photos/bobjagendorf/2219031438/

software development

1

is hard

A primer on why agile and lean can help.

Page 2: Software development is hard

Me

• Involved in development of digital applications and platforms since 1997

• Australia and the UK

• Floppy disks, CD-ROMs!

• Then Intranet sites, websites, web applications.

• Now. Lean and agile coach & trainer

• Organiser of LAST Conference

• projectslittlehelper.com

2

Page 3: Software development is hard

Me

• Involved in development of digital applications and platforms since 1997

• Australia and the UK

• Floppy disks, CD-ROMs!

• Then Intranet sites, websites, web applications.

• Now. Lean and agile coach & trainer

• Organiser of LAST Conference

• projectslittlehelper.com

• Super Power - Sleeping

2

Page 4: Software development is hard

3

Page 5: Software development is hard

Does any of this sound familiar?

4

Page 6: Software development is hard

“We need to add all these essential features...but it still has to come out on the same date.”

Does any of this sound familiar?

5

Page 7: Software development is hard

“Sorry, we forgot to tell you that we wanted these changes”

Does any of this sound familiar?

6

Page 8: Software development is hard

“I know I said I wanted that functionality…but now that I see it…”

Does any of this sound familiar?

7

Page 9: Software development is hard

“Did you read the documentation?”

“Of course I did…

…well some of it.

…actually only the intro.”

Does any of this sound familiar?

8

Page 10: Software development is hard

It can start to feel a bit…Dilbert

http://www.flickr.com/photos/smallbox/174532376/ 9

Page 11: Software development is hard

A classic approach...

10

Big Design Up Front

Some call it…

Page 12: Software development is hard

Detailed planning using up-front documentation.

A classic approach...

11

Page 13: Software development is hard

Detailed estimates of every step in the development.

A classic approach...

12

Page 14: Software development is hard

Eventually...Build the software

A classic approach...

13

Page 15: Software development is hard

Handover to QA

A classic approach...

Sign off

14

Page 16: Software development is hard

Maybe a “Lessons Learned” meeting.AKA Post Implementation Review.

A classic approach...

15

Page 17: Software development is hard

Strict change controls

A classic approach...

To make sure what was specified is what is built.

16

Page 18: Software development is hard

Strengths?

17

Page 19: Software development is hard

Appears logical, at first.

Strengths?

17

Page 20: Software development is hard

Appears logical, at first.

Strengths?

Can be good for stable projects, with low technical risk

17

Page 21: Software development is hard

Appears logical, at first.

Strengths?

Can be good for stable projects, with low technical risk

…ones that don’t change much

17

Page 22: Software development is hard

Appears logical, at first.

Strengths?

Can be good for stable projects, with low technical risk

…ones that don’t change much

…or ones where you predict 100% of tasks up front

17

Page 23: Software development is hard

Problematic?

18

Page 24: Software development is hard

Weighted towards good ideas coming at the start

Problematic?

18

Page 25: Software development is hard

Weighted towards good ideas coming at the start

Problematic?

Writing things down…can equal “Throwing it over the wall”

18

Page 26: Software development is hard

Weighted towards good ideas coming at the start

Problematic?

Writing things down…can equal “Throwing it over the wall”

Many features end up not being used.

18

Page 27: Software development is hard

Weighted towards good ideas coming at the start

Problematic?

Writing things down…can equal “Throwing it over the wall”

A prescribed process cannot always fit every project

Many features end up not being used.

18

Page 28: Software development is hard

Change is a problem, not an opportunity

19

Page 29: Software development is hard

The thing is…

Change is a problem, not an opportunity

19

Page 30: Software development is hard

The thing is…Change is inevitable

20

Page 31: Software development is hard

What can we do about it??

21

Page 32: Software development is hard

User driven product design

Weapons to add to our armoury

Close & frequent collaboration with representatives of customer value

Prioritise functionality

22

Page 33: Software development is hard

Constantly ask “Is this what the user values?”

Weapons to add to our armoury

Continuous integration, automated testing and other engineering practices.

Regularly inspect process and adjust accordingly

23

Page 34: Software development is hard

Benefits

24

Page 35: Software development is hard

Sustainable pace

Benefits

24

Page 36: Software development is hard

Sustainable pace

Benefits

Self organising teams

24

Page 37: Software development is hard

Sustainable pace

Benefits

Ability to embrace change

Self organising teams

24

Page 38: Software development is hard

Sustainable pace

Benefits

Ability to embrace change

Self organising teams

= happier teams

24

Page 39: Software development is hard

Sustainable pace

Benefits

Ability to embrace change

Self organising teams

= happier teams

The product is what the user wants (it makes money/creates value)

24

Page 40: Software development is hard

All the kittens are happy

Benefits

http://www.flickr.com/photos/masochismtango/514736937

25

Page 41: Software development is hard

These are techniques to help make kittens happy

Agile and Lean

Perhaps different to things that you might be have done before…

…but you may have been doing a lot of this already!

26

Page 42: Software development is hard

Suncorp

“You are not alone”

The Financial Times

REA Telstra

Google

Nokia The Economist

and a whole lot more

Yahoo!

27

Seek

Page 43: Software development is hard

SprintsScrum

Where to start?

Extreme Programming

Burndown Charts Iterations

Unit testing

Kanban

Value Stream Mapping

DSDM UX

Retrospectives

Daily standup

User Stories

Automated testing

Story points

Continuous integration

Card walls

28

Velocity

Page 44: Software development is hard

SprintsScrum

Where to start?

Extreme Programming

Burndown Charts Iterations

Unit testing

Kanban

Value Stream Mapping

DSDM UX

Retrospectives

Daily standup

User Stories

Automated testing

Story points

Continuous integration

Card walls

Confused?

28

Velocity

Page 45: Software development is hard

A bit of reading

29

The Scrum Primer:http://www.scrumprimer.com/

InfoQhttp://www.infoq.com/

Jim Highsmith“Agile Project Management”

PMI, PRINCE 2 Foundation, IIBA

Leading Answershttp://leadinganswers.typepad.com/

Page 46: Software development is hard

A bit of reading

29

The Scrum Primer:http://www.scrumprimer.com/

InfoQhttp://www.infoq.com/

Jim Highsmith“Agile Project Management”

PMI, PRINCE 2 Foundation, IIBA

Leading Answershttp://leadinganswers.typepad.com/

Page 47: Software development is hard

Group therapy

30

Melbourne Agile and Scrum User Group

Melbourne Limited WIP Society (Lean and Kanban)

Agile Business Analysts

http://meetup.com

Page 48: Software development is hard

http://www.flickr.com/photos/avardwoolaver/7137096221/

31

http://[email protected]

Creative Commons photos from Flickr.

Hand drawn icons:http://handdrawing.olawolska.com

This presentation can be reused under a Creative Commons BY-NC-SA licence.

@littlehelper