agile development makes elephants dance

45
Agile Development Makes the Elephants Dance Ethan Huang

Upload: ethan-huang

Post on 20-Aug-2015

1.660 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Agile development makes elephants dance

Agile DevelopmentMakes the Elephants Dance

Ethan Huang

Page 2: Agile development makes elephants dance

敏捷开发 – 让大象跳舞

黄方

Page 3: Agile development makes elephants dance

3

Ground Rules

• Mute your cell phone• Participate – ask and answer questions

Page 4: Agile development makes elephants dance

博克软件(杭州)有限公司

Page 5: Agile development makes elephants dance

5

About Perficient (NSDQ:PRFT)

• A leading information technology consulting firm serving clients throughout the United States

• Perficient GDC – the 1st Agile/CMMI 5 company in China

• 1 CST, 3 CSP, 30 CSD, 90+ CSM in GDC

Page 6: Agile development makes elephants dance

6

About me黄方 ( Ethan Huang)

http://www.linkedin.com/pub/ethan-huang/b/808/9ab

• Project Manager in Perficient GDC• 10 + years development/management experience– Waterfall, RUP, MSF, Agile/Scrum

• Certified Scrum Master/Certified Product Owner• Certified Scrum Developer• Certified Scrum Professional• PMP

Page 7: Agile development makes elephants dance

7

Warm up

• What is your DREAM software development project?

Page 8: Agile development makes elephants dance

8

The REALITY

32%

44%

24% Successful

Challenged

Failed

Chaos Report 2009 The Standish Group

Page 9: Agile development makes elephants dance

9

The REALITY

Page 10: Agile development makes elephants dance

10

Traditional Process Lifecycle Models

• Waterfall• Spiral• IBM RUP (Rational Unified Process)

Page 11: Agile development makes elephants dance

11

It works!In some specific industries:

• Military• Space development• ……

Page 12: Agile development makes elephants dance

12

Traditional process characteristics

• Sequential activities• Complicated• Big design upfront• Documentation/workpiece driven• Depends on having little changes

Page 13: Agile development makes elephants dance

13

It doesn’t work for all the software projects

Page 14: Agile development makes elephants dance

14

What do you feel if you join a project like this• Lasts for 48 months• Well defined procedures• 6 months for “Envisioning”• Hires 50 engineers• Releases every 6 months• 1 ton of design documents

Page 15: Agile development makes elephants dance

15

Challenges

• Requirement changes everyday• Documents are never read by the engineers• No workpiece is perfectly done• Risks keep increasing over time• Bad quality• Over budget• The project makes team down• People are leaving• We work 60 hours/week

• And the client is never, ever satisfied !!

that I was, am, but I wish would not be facing:

Page 16: Agile development makes elephants dance

16

The elephant’s death march

Page 17: Agile development makes elephants dance

17

A real story

• A fixed-fee contract – budgeted 350 men/months• 5 people spent 2 months for the requirement• Architecture/design took 2 months• The team developed for 5 months• Imagine what happened 6 months later in our first

demo meeting• ……

Page 18: Agile development makes elephants dance

18

Retrospective

Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec0

10

20

30

40

Initial REQ Changes

Requirement changes Bad quality

Team silos Over budget

Page 19: Agile development makes elephants dance

19

Why we fail?

• Against changes• Heavy up-front design losing the agility• Focused on procedures and workpieces, instead of

people• Lost communication/cooperation/interaction with the

client

Page 20: Agile development makes elephants dance

20

And it’s happening everywhere on this planet…

Page 21: Agile development makes elephants dance

21

Adaption…

Page 22: Agile development makes elephants dance

22

Agile Manifesto - 2001

http://agilemanifesto.org/iso/zhchs/http://agilemanifesto.org

Page 23: Agile development makes elephants dance

23

Agile manifesto

Individuals and interactions over processes and toolsWorking software over comprehensive documentation

Customer collaboration over contract negotiationResponding to change over following a plan

个体和互动 高于 流程和工具工作的软件 高于 详尽的文档客户合作 高于 合同谈判响应变化 高于 遵循计划

Page 24: Agile development makes elephants dance

24

Agile methodology adoptions

• MSF (Microsoft Solution Framework) Process Model• XP (Extreme Programming)• Lean• Kanban• Scrum

Page 25: Agile development makes elephants dance

25

Agile development characteristics

• Iteratively incremental development – time boxed• Emergent requirement – embrace changes• JIT (Just in-time) planning, design and documentation• Cross-functional team• Emphasizes face-to-face communication• Full transparency and visibility• Frequently inspect and adapt• Anti management pyramid• Simple is beautiful

Page 26: Agile development makes elephants dance

26

Scrum overview

Page 27: Agile development makes elephants dance

27

Scrum Framework

3 Roles• Product Owner• Scrum Master• Scrum Team

3 Artifacts• Product Backlog• Sprint Backlog• Burndown Chart

5 Ceremonies

• Sprint• Sprint Planning• Daily Scrum Meeting• Sprint Review• Retrospective

Page 28: Agile development makes elephants dance

Scrum on one page

28

Page 29: Agile development makes elephants dance

29

Low-tech tools are preferred

Page 30: Agile development makes elephants dance

30

A real ScrumSprint 0 –defined the project, focusing on the short term goal, establish environment, etc

Page 31: Agile development makes elephants dance

31

A real ScrumSprint 1 – started from the most valuable “User Stories”

Page 32: Agile development makes elephants dance

32

A real ScrumSprint 2 – the client provided some feedback (changes), re-order our “Product Backlog” and adjust the plan

Page 33: Agile development makes elephants dance

33

A real ScrumSprint 3 – “velocity” increased, need more work to fulfill our capacity

Page 34: Agile development makes elephants dance

34

A real ScrumSprint 4 – encountered road blocker, Sprint failed

Page 35: Agile development makes elephants dance

35

A real ScrumSprint 5 – Team made adaption after “retrospective”

Page 36: Agile development makes elephants dance

36

A real ScrumSprint 6 – came back to normal

Page 37: Agile development makes elephants dance

37

A real ScrumSprint 8 – was coming towards to the end…

Page 38: Agile development makes elephants dance

38

A real ScrumSprint 9 – delivered all the highest value requirements

Page 39: Agile development makes elephants dance

39

No specific engineering practices are required

• Automated Testing• Unit Testing• TDD (Test Driven Development)• TDR (Test Driven Requirement)• CI (Continuous Integration)• UML & Design Patterns

However, we do have some recommendations:

Page 40: Agile development makes elephants dance

40

Success still depends on good project management skills

• RID – Risks, Issues, and Dependencies• Cost management• People management – coaching and mentoring• Scope management• Scheduling & estimation• Quality• Communication

Page 41: Agile development makes elephants dance

41

Scrum project pyramid

Agile Project Management

Scrum Framework

Engineering Practices

Page 42: Agile development makes elephants dance

42

How Agile saves the elephants

• Respect to the changes• Short iterations and short term goal• Inspect and adapt often• Communication and cooperation with the client• JIT planning, design and documentation• Simple

Page 43: Agile development makes elephants dance

43

However…

Agile development is not the silver bullet,

Great people make this world different.

Page 44: Agile development makes elephants dance

44

Takeaways

• Agile development is not just a new way to write code• It’s a combination of practices, process and

management skills• Agile characteristics• Scrum framework overview

Page 45: Agile development makes elephants dance

45

Thank you!