Upload
ids-club-
View
1.637
Download
1
Embed Size (px)
DESCRIPTION
您是否需要在企业整体内部,跨团队成员或者太规模的工作项目当中运用精益思想与敏捷实践,加快企业流程改造?运用精益思想与敏捷开发能持续改善经营绩效,从而获得竞争优势。 究竟什么才是正在的敏捷了. 现在大家都在说在用敏捷的Startup, Retro, Story Board. 是不是有这些活动就是敏捷了? 怎么才能令自己的团队敏捷? 那么多敏捷的方式(XP, Scrum, Lean, Kanban etc)有什么区别了?
Citation preview
Agile Intro & JourneyLawrence Song
Sunday, 26 May 13
How many ppl is using agile methodology?
Sunday, 26 May 13
Agenda
• Are we agile?
• Agile Values and Principles
• Agile Processes
• Case Study
Sunday, 26 May 13
Are we agile?
Sunday, 26 May 13
Stand upSunday, 26 May 13
Iteration (Kick off, planning, estimate & prioritization)
Sunday, 26 May 13
Story WallSunday, 26 May 13
RetroSunday, 26 May 13
ShowcaseSunday, 26 May 13
We do all the practices.Yeah, we are agile!!!
Sunday, 26 May 13
Don’t just do agile
Sunday, 26 May 13
Be agileAgile is about culture and mindset
Sunday, 26 May 13
Agile
• Agile + Development = Continuous Delivery
• Agile + Operation = DevOps
• Agile + Infrastructure = Cloud
• Agile + Startup = Lean Startup
Sunday, 26 May 13
Agile Manifesto & Principle
Sunday, 26 May 13
Agile Manifesto
• 个体和互动 高于 流程和工具 Individuals and
interaction over process and tools
• 工作的软件 高于 详尽的文档 Working
software over comprehensive
• 客户合作 高于 合同谈判 Customer
collaboration over contract negotiation
• 响应变化 高于 遵循计划 Responding to
Sunday, 26 May 13
12 Principles behind the Agile Manifesto
Sunday, 26 May 13
我们最重要的目标,是通过持续不断地及早交付有价值的软件使客户满意。
Sunday, 26 May 13
欣然面对需求变化,即使在开发后期也一样。为了客户的竞争优势,敏捷过程掌控变化。
Sunday, 26 May 13
经常地交付可工作的软件,相隔几星期或一两个月,倾向于采取较短的周期。
Sunday, 26 May 13
业务人员和开发人员必须相互合作,项目中的每一天都不例外。
Sunday, 26 May 13
激发个体的斗志,以他们为核心搭建项目。提供所需的环境和支援,辅以信任,从而达成目
Sunday, 26 May 13
不论团队内外,传递信息效果最好效率也最高的方式是
Sunday, 26 May 13
可工作的软件是进度的首要度量标准。
Sunday, 26 May 13
敏捷过程倡导可持续开发。责任人、开发人员和用户要能够共同维持其步调稳
Sunday, 26 May 13
坚持不懈地追求技术卓越和良好设计,敏捷能力由此增强
Sunday, 26 May 13
以简洁为本,它是极力减少不必要工作量的艺术。
Sunday, 26 May 13
最好的架构、需求和设计出自自组织团队。
Sunday, 26 May 13
团队定期地反思如何能提高成效,并依此调整自身的举止表现。
Sunday, 26 May 13
Agile Processes
Sunday, 26 May 13
ScrumMore focus on project management.
Sunday, 26 May 13
• Daily scrum, planning and retrospective
• Sprint
• Burn down charts
Scrum
Sunday, 26 May 13
XPFocus on development practices
Sunday, 26 May 13
Sunday, 26 May 13
• Simplicity
• TDD everything (Story, Bug) => almost 100% test coverage
• Pair programming
• Continuous Integration
• Collective Ownership
Development Practices
Sunday, 26 May 13
LeanEliminate Waste
Sunday, 26 May 13
Lean principles
• 消除浪费 Eliminate waste
• 增强学习 Amplify learning
• 尽量延迟决定 Decide as late as possible
• 尽快发布 Deliver as fast as possible
• 增强团队能力 Empower the team
• 建立完整性 Build integrity in
• 看整体 See the whole
Sunday, 26 May 13
KanbanDecrease cycle time
Sunday, 26 May 13
Six Core Practices
• Visualise
• Limit WIP
• Manage flow
• Make policies explicit
• Implement feedback loops
• Improve collaboratively, evolve
Sunday, 26 May 13
• Ability to release anytime
• Ability to change priority on the fly
• No need in iterations
• No need in estimates
• Perfect flow visualization
5 right reasons for Kanban
Sunday, 26 May 13
Case Study - MYOB LiveAccounts
Sunday, 26 May 13
Project 2 years ago
• New team + offshore team
• Legacy system
• No tests at all
• Manual regression
• Take 4 weeks from code complete to release
Sunday, 26 May 13
Introduce Process
BacklogIn
AnalysisReady
for Devin Dev
Ready for
Analysis
Ready for QA
in QAReady
for BATin BAT
Ready for
DeployDeployed
pickup handover
Sunday, 26 May 13
Improve the internal quality
• New simple architecture (Not the best)
• 90% test coverage for new code
• Code style rules
• Continuous Integration (Local Build, CI)
Sunday, 26 May 13
Reduce the cost of a release
• Automate dev/testing environment
• Automate functional test for legacy
• Simple manual steps to release to staging/production
• Reduced release (from code complete) from 4 weeks to 2 days
Sunday, 26 May 13
Try a few things but failed
• Kanban
• TDD
• Pairing
• Distributed Agile
Sunday, 26 May 13
• No unit test in front-end code. Rely on functional tests (Cannot TDD)
• Devs complain some javascript code are very complicated
• Not easy to TDD some integration code (due too slow feedback)
• Feedback cycle is too long (local development / CI)
• Hacking some front-end library
• Run all functional test in CI take more than 2
Discover Problem 8 Months ago
Sunday, 26 May 13
Architecture doesn’t allow simple design and TDD
Sunday, 26 May 13
Architecture change
• Long team productivity gain
• Slow down development in short term
• Introduce new technologies
• Build culture into the architecture
• Allow TDD in front-end
Sunday, 26 May 13
Drive Architecture Change
Sunday, 26 May 13
Discovered process /culture problems
Sunday, 26 May 13
• PPL doesn’t want to change
• Individual over Collaboration (Heros in the team)
• It’s too hard. There is a problem, but it’s okay. I don’t want to drive change. I want consensus. I don’t like you drive the change.
• You owns that, I don’t want to touch it. (Silos)
Culture
Sunday, 26 May 13
Burn up charts
0
25
50
75
100
Iteration 1 Iteration 2 Iteration 3 Iteration 4 Iteration 5 Iteration 6
Scope Dev Done
Sunday, 26 May 13
Experiment - in a small team
Sunday, 26 May 13
ObjectiveNo of defects relating to the user story we are working
on once moving to ‘Ready to QA’
Sunday, 26 May 13
• Automate all acceptance criteria
• Define acceptance criteria together as a team
• TDD (Ping Pong Pairing)
• Raise new story for discover scope/scenarios
• Determine priority together
• Kanban - no estimate, no iteration, WIP, small story
• Fast build + feedback
• Bug repioritisation
• light weight documentation
• No BAT
How?
Sunday, 26 May 13
Measure of success
• Number of defects raise in a story
• Cycle time from in Dev to Ready for QA
• Happiness. NPS
Sunday, 26 May 13
New Process - Kanban
in Analysis
in Dev in QA Done
WIP: 4WIP: 4
BacklogIn
AnalysisReady
for Devin Dev
Ready for
Analysis
Ready for QA
in QAReady
for BATin BAT
Ready for
DeployDeployed
pickup handover
story writing
Sunday, 26 May 13
New Burn up Chart
0
25
50
75
100
Iteration 1 Iteration 2 Iteration 3 Iteration 4
Scope Dev Done
0
25
50
75
100
Iteration 1 Iteration 3 Iteration 5
Scope Dev Done
Sunday, 26 May 13
Result
• No many defects found late
• Very efficient
• Got Max NPS
• The team own the process
• Everyone is trying to improve the process
• Try and see what happen. (Rather than saying it won’t work)
Sunday, 26 May 13
Rolling out to the rest of the team
Sunday, 26 May 13
• Most ppl don’t want to change
• Most ppl based on feeling instead of facts. (being not logical)
• The harder you push it the more resistance you will have. (it’s a journey)
• You need your boss to support you
• Demonstration is the key
Lessons Learn
Sunday, 26 May 13
Q & A
Sunday, 26 May 13
References
• http://www.targetprocess.com/blog/2009/08/5-right-reasons-to-apply-kanban.html
Sunday, 26 May 13