Agile in style ganesh c 12-26-12 ct buddies

Preview:

DESCRIPTION

Please find the slide deck used in the 12-31-12 presentation at Chandramohan home. Thanks for the feedback and happy reading.

Citation preview

Agile in StyleAgile in StyleCourse Material for CSM

byGanesh Chandrasekaran, BE, SCJP, CWD, PMP,CGBL,

CSMCertified ScrumMasterDecember 31, 2012

Course Material for CSMby

Ganesh Chandrasekaran, BE, SCJP, CWD, PMP,CGBL, CSM

Certified ScrumMasterDecember 31, 2012

How I started this?

இழபதற்குஎதுவும்இல்லை நமதுலை�யி�லே

பெபறுவதற்குஉ �ம்உண்டுதுணி�யும்பெப�ழுத�லே

� ங்�� ந�ன்றுநடந்தபெதன்னஒன்றும்இல்லை லேயி

இலைடவ�ட�தமுயிற்சி( என்றும்பெப�ய்தத�ல்லை லேயி

- Movie: Saatai / Lyrics: Yugabharathi

Giving a person one fish and you feed him for a day.

Teaching a person how to fish, then you feed him for a lifetime.

- Chinese Proverb

Topics to be coveredOverview of Scrum

Sprints

Product Backlog

The Team

Tracking Progress

Meetings

Release PlanningSource: Ganesh Chandrasekaran

Overview of ScrumOverview of Scrum

Source: Online Sources

Agile where it started“ The... ‘relay race’ approach to product development...may conflict with the goals of maximum speed and flexibility. Instead a holistic or ‘rugby’ approach - where a team tries to go the distance as a unit, passing the ball back and forth-may better serve today’s competitive requirements.”

Source: Hirotaka Takeuchi and Ikujiro Nonaka, “The New New Product Development Game,” Harvard Business Review, January 1986.

SCRUM PROCESS• Dr. Jeff Sutherland and Ken Schwaber

Inventors

• Scrum as a formal process at OOPSLA'95.

• OOPSLA (Object-Oriented Programming, Systems, Languages & Applications) is an annual ACM research conference

Source: Wikipedia

Rugby GameRugby GameSource: Online Sources

What is Agile/SCRUM?Scrum is an agile framework for completing complex projects. Scrum originally was formalized for software development projects, but works well for any complex, innovative scope of work. The possibilities are endless. The Scrum framework is deceptively simple.

Source: http://www.scrumalliance.org/learn_about_scrum

What is Agile/SCRUM?

Source: http://www.scrumalliance.org/learn_about_scrum

1. A product owner creates/updates product backlog.Sprint planning, the team picks top priority stories.

2. Team creates a sprint backlog.The team works on a sprint, usually two to four weeks.

3. Team meets every day to assess its progress.The ScrumMaster keeps the team focused on its goal.Sprint review to showcase the product.The sprint ends with a retrospective.Next sprint begins, with Step 1.

What is Agile/SCRUM?

Source: http://www.mitchlacey.com/resources/scrum-framework-flow-diagram

What is Agile/SCRUM?

Source: Unknown

SprintSprint

A Sample SprintMonMon TueTue WedWed ThuThu FriFri MonMon TueTue WedWed ThuThu FriFri

9am9am

10am10am

11am11am

12pm12pm

1pm1pm

2pm2pm

3pm3pm

4pm4pm

5pm5pm

Spri n

t Sprin

t R

evi e

wR

evi e

w

Retro

-R

etro

-sp

ectiv

spectivee

Sp

r int

Sp

rint

Pla

nn

ing

Pla

nn

ing

Back

log

B

ack

log

g

room

ing

gro

om

ing

Source: Mountain Goat Software

Daily Sync MeetingDaily Sync Meeting

Sprint DonenessPotentially shippable product

High Quality

Tested

Complete

Team decides the Doneness

What it does, it does very well

Show sample Doneness document

Source: Mountain Goat Software

Doneness DocumentDate Task

FALSE

31-Dec-12 All code is checked in SVN

TRUE 30-Dec-12 Performed code level checks as per code review checklist

TRUE 30-Dec-12 Tested the component using multiple browsers

TRUE 30-Dec-12 All known issues updated in the Product backlog

TRUE 30-Dec-12 Test Caching of all components

FALSE

31-Dec-12 All error messages/warning appearing in the log file resolved

FALSE

31-Dec-12 All log instances are pointing to the correct logger with the appropriate log level

FALSE

31-Dec-12 Tested components with real data

TRUE 30-Dec-12 Performed boundary condition checks – null values, very long strings, empty values, negative values etc

FALSE

31-Dec-12 Code should be properly commented

FALSE

31-Dec-12 Design doc should be updated as per implementation changes

FALSE

31-Dec-12 Change history in the code should be updated

TRUE 30-Dec-12 Presentation (HTML) code should be well-commented and indented as per Company standards

FALSE

31-Dec-12 Designed & coded as per established standards

FALSE

31-Dec-12 Functional testing - all applicable use cases should be documented and tested

TRUE 30-Dec-12 Automated testing - unit tests should be written, run and passing for all features - unit test coverage for a component should exceed 80% code coverage - only in rare cases where unit testing is no possible will exceptions be made

FALSE

31-Dec-12 Code reviewed by development lead

FALSE

31-Dec-12 Documented as needed for the components

Architecture in AgileArchitecture is built over time

More time on Architecture initially

Gradual decrease following sprints

User valued stories less initially

Gradual increase following sprints

Source: Mountain Goat Software

Sprint CommitmentThe team commits to stories.

The business commits to leave priorities alone during the sprint.

Sprint ends on same day every time.

Drop scope if needed, but don’t extend.

Source: Mountain Goat Software

Product BacklogProduct Backlog

Story WritingAs a <user type>, I <want/need/can/etc.> some goal, [so that <reason>].

As a boy, I would like to grow up faster, so that I can drive a fast car.

Stories are written by anyone.

Stories can be added anytime.

Source: Mountain Goat Software

Acceptance CriteriaAdding test conditions for the story.

Can drive in all roads.

Can have music during ride.

Can go 0-60mph in 3secs.

Helps developer to code for needs.

Helps tester to create test scripts.

Test Driven Development to be followed.

Source: Mountain Goat Software

Backlog GroomingReview the stories in backlog

Re-prioritize due to changes in current demands

Remove unwanted stories

Split epics to stories

Product backlog healthy & up to date

Source: Mountain Goat Software

Product BacklogProduct BacklogSource: Online Sources

Product BacklogProduct BacklogSource: Online Sources

The TeamThe Team

Product Owner RARDefines the features of the product

Prioritizes the product backlog

Makes scope/schedule tradeoff decisions

Responsible for the profitability of the product

Adjusts priorities as more is learned

Accepts or rejects work results

Source: Mountain Goat Software

ScrumMaster RARHelps functional and productive team

Close co-operation with cross-functional teams

An expert in Scrum helps the team use it

A leader - self-aware, listens, flattens hierarchy, helps colleagues improve, coaches doesn’t control, unleashes energy and intelligence of others.

Source: Mountain Goat Software

ScrumMaster RARValues & practices of process & team

Removes impediments from the team

Change agent for the organization

Improves productivity as possible

If it’s legal and moral, do it

Source: Mountain Goat Software

Scrum MasterScrum MasterSource: Online Sources

The TeamMembers should be full-time

Teams are self-organizing

Typically 5-9 people

Egos & attitudes are put aside

Common goal is Sprint GOAL

Source: Mountain Goat Software

The TeamRather all of one thing at a time

Does a little of everything all the time

Decide doneness as a team

Late to daily meetings have a rule

Respond emails before leaving home

Source: Mountain Goat Software

The TeamSoftware Developers (UI/UX, Mid Tier, Back End)

Technical Architect(s)

QA Engineer(s)

Business Analyst(s)

ScrumMaster

Product Owner

Technical Writer

Project Manager

Source: Ganesh Chandrasekaran

THE TEAMTHE TEAM

Real Life Incident

Tae Kwon Do and Scrum are both about doing the right thing in a situation rather than mastering a list of rules

Source: Ganesh Chandrasekaran

5 tenets -Tae Kwon DoCourtesy - to help team members

Integrity - Team being whole & undivided

Perseverance - Sprint Goal

Self-Control - Team is self-organized

Indomitable Spirit - Keep the team motivated for Sprint Success / Team Success / Department Success

Source: Ganesh Chandrasekaran

Sample ProjectsSample Projects

Vacation Planning SiteShow creating a backlog

Show how backlog is prioritized

Exercise the Poker game for top 10 stories

Exercise commitment with story cards

Exercise the Daily Scrum Meeting

Show the artifacts displayed in demo

Source: Ganesh Chandrasekaran

Education WebSiteSite Login

Students admission

Courses with videos and text

Questionnaire end of each 30 minutes session

Exercise compare and size the above 4

Exercise what is more critical to work first

Source: Ganesh Chandrasekaran

Online Mobile App SiteIntegrating Mobile Apps

Apps Ratings from users

Top 20 Apps

Exercise elaborating Epics

Exercise Acceptance Criteria needed for stories

Source: Ganesh Chandrasekaran

MeetingsMeetings

Sprint PlanningWho:

Team, ScrumMaster & Product Owner

Agenda:

Discuss top priority product backlog items

Team selects which items to do

Why:

Know what will be worked upon

Discuss backlog items enough to do them

Source: Mountain Goat Software

Sprint Planning contd.How full should a sprint be?

Unplanned time

Plannable time

Corporate overhead

Estimate & Analyze

Tasks estimated 1-16 hours

High-level design is considered

Time boxed to 4 hours meeting timeSource: Mountain Goat Software

Sprint PlanningSprint PlanningSource: Online Sources

Sprint PlanningSprint PlanningSource: Online Sources

Commitment DrivenPick high-priority story in backlog

Decompose it into tasks

Estimate each task

Team members ask themselves: “Can we commit to this?”

If yes repeat with next story

Source: Mountain Goat Software

Velocity DrivenNeeds 4-5 sprints velocity chart

Use average or previous sprint velocity

Grab user stories equal to that velocity

Possibly stop there, but some team:

Identify tasks for selected stories

Some then estimate those tasks

Source: Mountain Goat Software

Story PointsA measure of relative size of feature

Based on the total effort involved

Key is the relative size of numbers

Team does best sizing in 2-3 sprints

1,2,3,5,8,13,20,40,100

Planning Poker once a month

Source: Mountain Goat Software

Daily Scrum/Sync UpDaily sync choose a time & stick to it

15-minutes and that’s the maximum

Not for problem solving

Whole world is invited, only team talk

To reduce other meetings

Source: Mountain Goat Software

Daily Scrum/Sync UpWhat did you do yesterday?

What will you do today?

What, if anything, is in your way?

Each team member max 1-2 mins

Prepare 5 mins previous day - 3Qs.

Source: Mountain Goat Software

Daily Scrum/Sync Standup

Daily Scrum/Sync StandupSource: Online Sources

Scrum Task BoardScrum Task BoardSource: Online Sources

Scrum Task BoardScrum Task BoardSource: Online Sources

Sprint ReviewTeam presents the product

Demo of new features or architecture

2 hours prep guideline

Whole team participates

Invite the world

Source: Mountain Goat Software

Sprint ReviewSprint ReviewSource: Online Sources

Sprint ReviewSprint ReviewSource: Online Sources

Sprint RetrospectiveWhat worked very well?

What went wrong?

How can we improve?

Did we improve from last Sprint?

30-60 minutes maximum

Done after every sprint

ScrumMaster, Product Owner & TeamSource: Ganesh Chandrasekaran

Sprint RetrospectiveSprint RetrospectiveSource: Online Sources

Sprint RetrospectiveSprint RetrospectiveSource: Online Sources

Tracking ProgressTracking Progress

Tracking ProgressTask Boards with task current view

Burndown Charts

Release burndown chart

Sprint burndown chart

Velocity chart

Show net progress

Promote transparency

Bad News is Good News (fail early than late)

Source: Mountain Goat Software

Sample Charts

Release PlanningRelease Planning

Release PlanningSprints to complete the total backlog

Use team velocity and total story points

Hardening Sprint as needed

Release Sprint as needed

Mean Time Between Failure(MTBF) test

Stress, performance or usability testing

Compliance testing, documentation touchups

Source: Mountain Goat Software

Sample Release PlanPhase 1 ReleasePhase 1 Release

Regula

r Sprin

tR

egula

r Sprin

t

Regula

r Sprin

tR

egula

r Sprin

t

Regula

r Sprin

tR

egula

r Sprin

t

Hard

enin

g S

prin

tH

ard

enin

g S

prin

t

Regula

r Sprin

tR

egula

r Sprin

t

Regula

r Sprin

tR

egula

r Sprin

t

Regula

r Sprin

tR

egula

r Sprin

t

Hard

enin

g S

prin

tH

ard

enin

g S

prin

t

Regula

r Sprin

tR

egula

r Sprin

t

Regula

r Sprin

tR

egula

r Sprin

t

IT S

prin

tIT

Sprin

t

UA

T S

prin

tU

AT S

prin

t

Rele

ase

Sprin

tR

ele

ase

Sprin

t

Each of you can fly high

Succeeding with Agile

-Mike Cohn

Succeeding with Agile

-Mike Cohn

Succeeding with AgileChange is not top-down or bottom-up.

The end state is unpredictable.

Scrum is pervasive.

Scrum is dramatically different.

Change is coming more quickly.

Best practices are dangerous.Cohn, Mike (2009-10-20). Succeeding with Agile: Software Development Using Scrum (p. 5). Pearson Education (USA). Kindle

Edition.

Source: Mountain Goat Software

Q&AQ&A

Thank YouThank YouHope this has given an intuitive and informational

sessionBest Regards

Ganesh ChandrasekaranScrumMaster at Apple Inc.

Hope this has given an intuitive and informational session

Best Regards

Ganesh ChandrasekaranScrumMaster at Apple Inc.