By › Seminar... › 002 › ...SCRUM.pdfThe Daily Scrum should happen the 1st thing every morning...
Transcript of By › Seminar... › 002 › ...SCRUM.pdfThe Daily Scrum should happen the 1st thing every morning...
AGILE Training Session
By
In case you are having issues regarding audio and video please email [email protected] or you can call on the phone, these trainings are available as recordings later , please do not disturb during the training.
• Please Mute your mic and mobile during training.
• Ask your question using the Q and A tab in live meeting.
• Speak one at a time so that every one is benefitted.
www.DotNetFunda.Com +
www.Questpond.Comwww.ugain.info
AGILE SOFTWARE DEVELOPMENT USING SCRUM
SESSION OBJECTIVE
To understand the principles of Agile and the basic flow of Scrum
http://www.ugain.info 33
AGENDATHE PERENNIAL PROBLEM
AGILE ALLOWS YOU TO SAY "YES" TO YOUR CUSTOMER
AGILE MANIFESTO
VARIOUS IMPLEMENTATIONS OF AGILE
WHAT IS MEANT BY SCRUM
WHAT IS A PROJECT?
PRODUCT BACKLOG
SPRINT
INCREMENT
USER STORY
CHICKENS & PIGS
SCRUM ROLES
MAIN PILLARS OF SCRUM
SCRUM FLOW
PRINCIPLES BEHIND THE AGILE MANIFESTO
PREDICTIVE v/s ADAPTIVE
MAIN BENEFITS OF AGILE
IS AGILE A MINIATURE WATERFALL?
http://www.ugain.info 44
THE PROBLEM
SOFTWARE DEVELOPMENT IS NOT AN EXACT SCIENCE !
http://www.ugain.info 55
Click to edit Master text stylesSecond level
● Third level● Fourth level
● Fifth level
http://www.ugain.info 66
http://www.ugain.info 77
THE PERENNIAL PROBLEM
There's a refrain I've heard on every problem project I've run into. The developers come to me and say "the problem with this project is that the requirements are always changing". The thing I find surprising about this situation is that anyone is surprised by it. In building business software requirements changes are the norm, the question is what we do about it.
- Martin Fowler, in his classy article http://martinfowler.com/articles/newMethodology.html
http://www.ugain.info 88
THE OLD SCHEME OF THINGSBusiness: I need this change fast
IT: This wasn’t part of the requirement specification
http://www.ugain.info 99
AGILE ALLOWS YOU TO SAY “YES” TO YOUR CUSTOMERBusiness: I need this
change fastIT : “YES”. WE’LL DO IT.
http://www.ugain.info 1010
NO MATTER HOW STRONG OR POWERFUL YOU ARE,
Click to edit Master text stylesSecond level
● Third level● Fourth level
● Fifth level
IF YOU DON’T CHANGE …………………
Source http://www.tyrrellmuseum.com
http://www.ugain.info 1111
THIS IS WHAT WILL EVENTUALLY HAPPEN !
Source : http://www.tyrrellmuseum.com
http://www.ugain.info 1212
Click to edit Master text stylesSecond level
● Third level● Fourth level
● Fifth level
“A LATE CHANGE IN REQUIREMENTS IS A COMPETITIVE ADVANTAGE.”
- Mary Poppendieck , world-renowned author of Lean Software Development
http://www.ugain.info 1313
AGILE MANIFESTO
● Individuals and Interactions over Processes and Tools
● Individuals and Interactions over Processes and Tools
● Working software over comprehensive documentation
● Working software over comprehensive documentation
● Responding to change over following a plan● Responding to change over following a plan
● Customer collaboration over contract negotiation● Customer collaboration over contract negotiation
AGILE MANIFESTO
Source : http://agilemanifesto.org http://www.ugain.info 1414
AGILE ALLOWS YOU TO ORGANIZE YOUR PROCESSES IN SUCH A WAY THAT IT ALLOWS YOUR TEAM TO BE FLEXIBLE AS THEY EXECUTE THE PROJECT
- Peter Provost, Program Manager at Microsoft.
http://www.peterprovost.org
http://www.ugain.info 1515
VARIOUS IMPLEMENTATIONS OF AGILEScrum
DSDM
Extreme Programming
FDD
Lean
Crystal
Just like C#, Java, C++ are different programming languages but fundamentally implement OOPS, the methodologies mentioned above are different implementations of Agile
http://www.ugain.info 1616
WHAT IS MEANT BY SCRUM?
Scrum is a term derived from Rugby
“An ordered formation of players in which the forwards of each team push against each other with heads down and the ball is thrown in.
● Source http://www.askoxford.com
http://www.ugain.info 1717
RUGBY SCRUM
Click to edit Master text stylesSecond level
● Third level● Fourth level
● Fifth level
TEAM = Together Everyone Achieves More !Image Source : http://static.guim.co.uk
http://www.ugain.info 1818
WHAT IS A PROJECT?
A project is a temporary endeavor undertaken to create a unique product, service, or result.
– From the PMBOK (Project Management Body of Knowledge) , a PMI (www.pmi.org) publication
A project can be called successful when it is delivered on time, on budget and meets high quality standards.
http://www.ugain.info 1919
WHAT DOES THE BUSINESS USER/SPONSOR/STAKEHOLDER THINK?
Click to edit Master text stylesSecond level
● Third level● Fourth level
● Fifth level
Excuse me , but where is my value ?
http://www.ugain.info 2020
ANOTHER PROJECT DEFINITIONA project is a collection of value scheduled for realization.
– - David Anderson– http://www.agilemanagement.net/Articles/Papers/LeanProjectManagement.html
Value is defined in the Product Backlog
Highest prioritized value at a given point in time is the target deliverable / increment / shippable functionality scheduled to be delivered in the next Sprint.
http://www.ugain.info 2121
PRODUCT BACKLOG
List of project requirements
It is prioritized based on business value
The prioritization aspect forces the business to formalize which requirements listed in the Product Backlog constitutes highest “business value.”
The Highest value identified becomes the target of the next Sprint
Estimates are also attached to the Product Backlog items
Can include non-functional requirements and pending project issues also
http://www.ugain.info 2222
PRODUCT BACKLOG EXAMPLE
Sr.No Backlog Item Estimate
1 As a call center agent, I want to place an order
5
2 As a call center agent, I want to change the address details, items in an order before it is shipped
3
3 As a supervisor, I want to check how many orders have been keyed in per agent
4
4 As a back-office employee, I want to be able to see how many orders have been keyed in segregated by city of delivery
5
http://www.ugain.info 2323
TIME-BOX
It is a fixed length of time that cannot be exceeded.
For example – the Daily Scrum meeting is supposed to be completed within 15 minutes i.e. it is time-boxed to 15 minutes.
http://www.ugain.info 2424
SPRINT A time-box of 30 sequential calendar days During this period the Team works on the highest value
increment which can be delivered to the business at the end of the 30 day sprint
This product functionality is shippable
INCREMENT
The highest value product functionality that has been identified by the Product Owner and is developed and delivered by the Team in each Sprint
http://www.ugain.info 2525
USER STORY
A description of desired functionality said from the point of view of the end user or customer
As a <type of user>
I want <some goal>
so that <some reason>
As a supervisor, I want to check how many orders have been keyed in per agent so that I know who are the best agents
Source: www.mountaingoatsoftware.com
http://www.ugain.info 2626
CHICKENS & PIGS
http://www.ugain.info 2727
CHICKENA person who has a stake in the project but is not formally responsible or accountable for anything i.e. is not part of the Team, is not a Scrum Master / Product Owner
PIGA person who is either part of the Team, or is a Scrum Master / Product Owner. He is responsible and accountable for the success of the project.
SCRUM ROLES
SCRUM
● SCRUM MASTER
● PRODUCT OWNER
● TEAM
http://www.ugain.info 2828
THE PRODUCT OWNER
Is the chief representative of all the stakeholders in the project
Creates the project’s initial requirements – in Scrum terms this is called the Product Backlog
Evaluates the ROI (Return On Investment) of the project
Ensures ongoing funding for the project
Prioritizes the Product Backlog before the beginning of each Sprint based on market and stakeholder feedback
http://www.ugain.info 2929
THE SCRUM MASTER
Is the Scrum “Project Manager”
Leads the project, does not necessarily “manage”
Guides and coaches
Responsible for helping the Team in using Scrum and ensuring that they use it properly
Ensures that everyone follows the Scrum practices correctly
http://www.ugain.info 3030
THE TEAM
Is a self-managing team
Is self-organizing
Is not allocated work as in traditional Project Management. Rather, the team figures out the best way to develop the next increment by the end of the current Sprint
Team members are responsible for managing their own work
Team size should not be greater than 7 members
Success of the current iteration and of the project is a shared responsibility of the entire team
http://www.ugain.info 3131
MAIN PILLARS OF SCRUM
VISIBILITY
INSPECTION
ADAPTATION
http://www.ugain.info 3232
SCRUM FLOW
http://www.ugain.info 3333
STEP 1 : CLARIFY THE VISION
http://www.ugain.info 3434
STEP 2 : CREATE THE PRODUCT BACKLOG (PRODUCT OWNER)Converts the fuzzy vision into a Product Backlog
Extracts the highest value requirements from the vision and prioritizes the same in the Product Backlog
Ensures that business value clarification with the stakeholders happens at the initial stage itself
Establishes the ROI of the project
The Scrum Master helps the Product Owner during this stage to ensure that the Product Backlog is created properly
http://www.ugain.info 3535
STEP 3 : SPRINT PLANNING MEETING - 1Occurs at the beginning of each Sprint
All pigs participate in it i.e. the Product Owner, the Scrum Master and the Team
Is time-boxed to 8 hours
During the first 4 hours, the Product Owner presents the prioritized Product Backlog to the Team
A brain-storming session happens wherein a lot of questions are asked by the Team to the Product Owner
During the next 4 hours, the Team identifies the chunk of the Product Backlog which it can successfully convert into a shippable increment during the next Sprint
The Team informs the Product Owner about the same and commits to delivering this functionality http://www.ugain.info 3636
STEP 3 : SPRINT PLANNING MEETING - 2The Team starts creating a tentative plan for achieving the commitment
The list of tasks thus identified constitutes what is known as the Sprint Backlog
http://www.ugain.info 3737
SPRINT BACKLOG
The Product Backlog chunk identified for delivery during the next Sprint is the starting point
The Team draws up a list of tasks and takes on individual responsibilities
The estimated amount of work remaining for each task is also finalized. This gets updated daily and can be checked on any day of the Sprint. This is what makes the project highly visible. This is simply not possible when Gantt charts are used.
An individual task should not take more than 16 hours for completion
More tasks get added and existing tasks become more fine-grained in nature as the Sprint progresses
http://www.ugain.info 3838
STEP 4 : DAILY SCRUM MEETING Is time-boxed to 15 minutes at the beginning of each new day
Each Team member answers the following 3 questions:-
What did I do yesterday?
What will I do today?
What are the hurdles in my path?
If any point requires an in-depth discussion, meetings between Team members get scheduled at this point itself.
The Daily Scrum is one of the many ways in which Scrum ensures high-bandwidth communication and also ensures that Team members are not operating in Silos.
http://www.ugain.info 3939
AGILE IS ABOUT CULTURE AND VALUES AND IS NOT ABOUT SPECIFIC TECHNIQUES AND TOOLS.
- Peter Provost
http://www.peterprovost.org
http://www.ugain.info 4040
DAILY SCRUM MEETING – SOME GOOD PRACTICESEnsure that everyone stands – this forces the meeting to be time-boxed to 15 minutes
The Daily Scrum should happen the 1st thing every morning
Use the meeting to communicate daily status, progress (VISIBILITY)
Keep the meeting at the same place and at the same time everyday
Share information about obstacles – 1 major obstacle can bring a project to a halt. The stand-up brings the entire team’s attention to the problem, many minds working towards a solution have a better chance of cracking it.
The meeting is all about updating your peers, and not about reporting to a leader
Helps a team to bond together
http://www.ugain.info 4141
STEP 5 : SPRINT REVIEW MEETINGTime-boxed to 4 hours
In this meeting, the Team presents the functionality that was created in the last Sprint to the Product Owner and other stakeholders (VISIBILITY, INSPECTION)
Typically takes the form of a demo
The atmosphere is one of collaboration and not a typical status update – no slides are used
Collectively, everyone decides what should be the target of the next Sprint. Any course correction occurs at this point (ADAPTATION)
http://www.ugain.info 4242
“When people actually sit in front of a system and work with it, then flaws become truly apparent: both in terms of bugs and in terms of misunderstood requirements. “
- Martin Fowler
Source: http://martinfowler.com/articles/newMethodology.html
http://www.ugain.info 4343
STEP 6 : SPRINT RETROSPECTIVE MEETINGTime-boxed to 3 hours
To discuss Lessons Learnt during the last Sprint
START DOING What can we do better? (INSPECTION)
CONTINUE DOING What worked well?
STOP DOING What mistakes did we commit during the last Sprint?
STOP DOING What’s not working? (ADAPTATION)
http://www.ugain.info 4444
TO SUM UP ….Vision
Product Backlog
Sprint Planning Meeting
Daily Scrum Meeting
Sprint Review Meeting
Sprint Retrospective Meeting
http://www.ugain.info 4545
PRINCIPLES BEHIND THE AGILE MANIFESTO - 1Our highest priority is to satisfy the customer through early and continuous delivery of valuable software
Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage
Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale
Business people and developers must work together daily throughout the project
Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
http://agilemanifesto.org/principles.html http://www.ugain.info 4646
PRINCIPLES BEHIND THE AGILE MANIFESTO – 2The most efficient and effective method of conveying information to and within a development team is face-to-face conversation
Working software is the primary measure of progress
Agile processes promote sustainable development. The sponsors, developers and users should be able to maintain a constant pace indefinitely
Continuous attention to technical excellence and good design enhances agility
Simplicity – the art of maximizing the amount of work not done – is essential
http://agilemanifesto.org/principles.html http://www.ugain.info 4747
PRINCIPLES BEHIND THE AGILE MANIFESTO - 3The best architectures, requirements and designs emerge from self-organizing teams
At regular intervals, the team reflects on how to become more effective, then tunes and adjusts it behavior accordingly
http://agilemanifesto.org/principles.html http://www.ugain.info 4848
PREDICTIVE v/s ADAPTIVE
Predictive (Conventional software development)
● Plan every minute detail in advance
● Stick to the plan, resist change
● Visibility very late in the project
● Build the perfect system as understood during requirements gathering
● Plan for the next iteration
● Welcome change in the next iteration
● Visibility after every iteration
● Build a usable system – something that can go live. System evolves into a high business value project
Adaptive (Agile)
● Plan every minute detail in advance
● Stick to the plan, resist change
● Visibility very late in the project
● Build the perfect system as understood during requirements gathering
● Plan for the next iteration
● Welcome change in the next iteration
● Visibility after every iteration
● Build a usable system – something that can go live. System evolves into a high business value project
http://www.ugain.info 4949
MAIN BENEFITS OF AGILE
Receptive to change, accepts changes
Acknowledges the fact that business are changing more rapidly than ever before
Disruption is more common now than ever before
Business ground rules are changing constantly - software development also needs to accept and respond appropriately
Allows you to say "YES" to your customer
http://www.ugain.info 5050
Agile creates a strong feedback loop between customers and developers – HOW ?The software development cycle time is reduced
Greater collaboration between teams means that there is greater interaction
Testing is more frequent
Software builds are more frequent
Releases to production are more frequent
End customer sees the increment more frequently and is able to give immediate feedback
http://www.ugain.info 5151
IS AGILE A MINIATURE WATERFALL?NO
Agile creates a strong feedback loop between information gained during implementation and subsequent analysis, design and implementation.
Agile mixes analysis and testing, design and testing, coding and test execution.
Rapid transitions between activities is a key feature of Agile
http://www.ugain.info 5252
WAIT , THERE’S MORE …
Project tracking using Burndown charts
User stories
Agile Estimation
Sprint Velocity
Tools for implementing Agile – Visual Studio Team System
……..etc
http://www.ugain.info 5353
USEFUL LINKS
What does a Team room look like - how does it promote collaborative work? Check out the below link from Channel 9 which gives you a peek inside the P & P (Patterns & Practices) Team room.
http://channel9.msdn.com/posts/briankel/A-peek-inside-the-pnp-Team-Room/
Really great video on Agile architecture - experts sharing their experience
http://channel9.msdn.com/shows/Communicating/Turner-Broadcasting-Agile-Architecture-with-Don-Browning-and-Peter-Provost/
http://www.ugain.info 5454
USEFUL LINKS
Great article about the Daily Scrum meeting
http://martinfowler.com/articles/itsNotJustStandingUp.html
www.scrumalliance.org
www.controlchaos.com
www.mountaingoatsoftware.com
http://www.ugain.info 5555
REFERENCES
Agile Project Management using Scrum - Ken Schwaber
The Enterprise and Scrum - Ken Schwaber
http://www.ugain.info 5656
http://www.ugain.info 5757
ANY QUESTIONS ?
THANK YOUDotnetfunda, Questpond and Ugain team
http://www.ugain.info 5858