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