agile planning: pragmatic approach

29
Agile planning. Agile planning. Practical experience Practical experience Askhat Urazbaev, Agile Coach Luxoft

Upload: askhat-urazbaev

Post on 13-May-2015

1.346 views

Category:

Business


0 download

DESCRIPTION

Presentation for Software Engineering Conference (Russia) 2007

TRANSCRIPT

Page 1: Agile Planning: pragmatic approach

Agile planning. Practical Agile planning. Practical experienceexperience

Askhat Urazbaev, Agile CoachLuxoft

Page 2: Agile Planning: pragmatic approach

Askhat UrazbaevAskhat Urazbaev

Process Architect and Agile Coach

Quality Center, Luxoft

Certified Scrum MasterMember of ScrumAlliance

Founder and coordinator of AgileRussia community

Page 3: Agile Planning: pragmatic approach

ContentsContents

Planning approaches: code&fix, waterfall, agile

Planning practices Cases

In-house development Product Development Support

Page 4: Agile Planning: pragmatic approach

PlanningPlanning

Find effective way to meet the goal

We are here

The goal is (supposed to be) somewhere here

Page 6: Agile Planning: pragmatic approach

WaterfallWaterfall

Page 7: Agile Planning: pragmatic approach

Agile Agile

See the goal Assume changes Adjust for changes

Page 8: Agile Planning: pragmatic approach

Case 1. In-house DevelopmentCase 1. In-house Development

Company develops software that is used internally and by some external customers

The Process Customers assign tasks

personally to developers One developer is

responsible for several tasks

Plans and deadlines are defined by management

Page 9: Agile Planning: pragmatic approach

ProblemsProblems

How managers see the problems No feature can be completed quickly System architecture is poor as people neither have

time for refactoring nor want take responsibility for it

Plans are never completed, deadlines are never met

How developers see the problems We do not understand the goals of development Context switching slows down development Unreal plans demotivate people Projects never “done”

Page 10: Agile Planning: pragmatic approach

Agile comes to the stageAgile comes to the stage

Crossfunctionality We can work as a team on one feature

Team is responsibility for the software Team estimates and commits

Product Owner is responsible for Vision Real iteration plans Always something done at the end of each

iteration

Page 11: Agile Planning: pragmatic approach

Adopting principlesAdopting principles

Slogans don’t work Rituals work Agile practices are rituals

(they work even if you don’t understand them)

CommitmentReflection Feedback

Page 12: Agile Planning: pragmatic approach

Agile in actionAgile in action SCRUM каждые 24 часа

Итерация

КонцепцияБаклог

Отобранный баклог

План итерации

Новая функциональность

Page 13: Agile Planning: pragmatic approach

Agile processAgile process

Product Owner is responsible for Vision Product owner uses backlog with features

and their statuses Product Owner assign features to the

team (not individuals!) Team is responsible for software

Team decides how to develop features Team provides estimations and commits

to iteration plans

Page 14: Agile Planning: pragmatic approach

The main challengeThe main challenge

To be able to finish any work quickly we must act as a team

Crossfunctionality is the answer No predefined roles and responsibilities Team of engineers that commits to the

iteration plan Everyone can develop every module and work

in any role That does not deny skills!

Page 15: Agile Planning: pragmatic approach

Fostering crossfunctionalityFostering crossfunctionality

How do we foster crossfunctionality? Task boards Planning poker Daily scrum

Page 16: Agile Planning: pragmatic approach

Task Board. Team volunteers for the Task Board. Team volunteers for the taskstasks

Page 17: Agile Planning: pragmatic approach

Task boardTask board

Task board rules When plan, team commits to the scope, not

individuals During the iteration team members sign up for

the tasks as individuals Progress is visible to everyone Everyone is engaged Crossfunctionality is encouraged

Page 18: Agile Planning: pragmatic approach

Planning PokerPlanning Poker

Page 19: Agile Planning: pragmatic approach
Page 20: Agile Planning: pragmatic approach
Page 21: Agile Planning: pragmatic approach

Planning pokerPlanning poker

Planning poker meansCommit as a teamEngage everybodyShare knowledge

Петя Лена Вася

2 3 3

2 3 3

8 2 3

13 2 3

Page 22: Agile Planning: pragmatic approach

Scrum. Synchronize the workScrum. Synchronize the workPlan for the next dayPlan for the next day

Page 23: Agile Planning: pragmatic approach

Daily scrumDaily scrum

Team synchronize itself If anybody falls behind it is noted by the

team Team helps itself to solve the problem Team plans the next day

Page 24: Agile Planning: pragmatic approach

Case 2. Product DevelopmentCase 2. Product Development

Company develops product for the market

The process There are number of business

features to develop (short term tasks)

Framework must be developed as well (long term tasks)

Challenges One can easily fall into working

only on business features or framework (I’ve seen both!)

Page 25: Agile Planning: pragmatic approach

Product Development LifecycleProduct Development Lifecycle

Iteration N+12 weeks

Iteration N2 weeks

Release roadmap

SCRUM

Iterations

Delivery at the end of each iteration

Rel. I

Rel. II

Rel. III

Features

Features

Features

Page 26: Agile Planning: pragmatic approach

Case 3. SupportCase 3. Support

Team supports a number oа business applications

The process Change requests come in every day The number of urgent tasks is great Tasks are small People are specialized by applications

Page 27: Agile Planning: pragmatic approach

ProblemProblem

Problems Tasks are boring There are “lucky” and “unlucky”

application Performance is low

Challenges Chaotic development Team is difficult to form

Page 28: Agile Planning: pragmatic approach

Agile process shapingAgile process shaping

Agile process (as defined by team) Short iteration. The length is one day Tasks are prioritized The next high priority task is selected by the

next available developer Pairing if needed

Page 29: Agile Planning: pragmatic approach

Agile CommunityAgile Community

Luxoft Agile Community – сообщество Agile практиков Обсуждение проблем в Agile проектах Знакомство с новыми практиками Продвижение Agile

www.agilerussia.ru