agile development makes elephants dance

Post on 20-Aug-2015

1.660 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Agile DevelopmentMakes the Elephants Dance

Ethan Huang

敏捷开发 – 让大象跳舞

黄方

3

Ground Rules

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

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

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

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

7

Warm up

• What is your DREAM software development project?

8

The REALITY

32%

44%

24% Successful

Challenged

Failed

Chaos Report 2009 The Standish Group

9

The REALITY

10

Traditional Process Lifecycle Models

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

11

It works!In some specific industries:

• Military• Space development• ……

12

Traditional process characteristics

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

13

It doesn’t work for all the software projects

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

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:

16

The elephant’s death march

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• ……

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

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

20

And it’s happening everywhere on this planet…

21

Adaption…

22

Agile Manifesto - 2001

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

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

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

24

Agile methodology adoptions

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

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

26

Scrum overview

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

Scrum on one page

28

29

Low-tech tools are preferred

30

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

31

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

32

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

33

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

34

A real ScrumSprint 4 – encountered road blocker, Sprint failed

35

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

36

A real ScrumSprint 6 – came back to normal

37

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

38

A real ScrumSprint 9 – delivered all the highest value requirements

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:

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

41

Scrum project pyramid

Agile Project Management

Scrum Framework

Engineering Practices

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

43

However…

Agile development is not the silver bullet,

Great people make this world different.

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

45

Thank you!

top related