agile in style ganesh c 12-26-12 ct buddies
DESCRIPTION
Please find the slide deck used in the 12-31-12 presentation at Chandramohan home. Thanks for the feedback and happy reading.TRANSCRIPT
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.