scrum, a brief introduction
DESCRIPTION
Check out this brief introduction of Scrum, the Agile Software Development Framework. This is just a high level introduction that is why there are only 10 slides. Please like and share if you find it useful.TRANSCRIPT
ScrumAn Agile Software Development Framework
A Brief Introduction
Waqas Akram
2
Agile Methods Require An Iterative Approach Whereas Non-Agile
Methods Advocate A Step-by-step Approach
Agile Non-Agile
Requirements
Design
Code
Test
Requirements
Design
Code
Test
� A sequential process where a project goes through different phases step by step just like a “Waterfall”
� As a result a lot of time is spent in the requirements and design phase. All milestones, deadlines, outputs etc. are decided before the coding
� It is very costly to implement change because it may require re-work of design and coding
� A collaborative approach where a team works on all phases of the project right from the start
� A project is broken down into feature lists (user stories). For each user story, tasks are defined and assigned that are completed in a fixed block of time
� At the end of each block, teams share their output (working software) with the customer. The feedback (change) is incorporated in the next block of time
Vs
AssumptionCustomer requirements will be changed significantly throughout the project lifecycle
Customer requirements will NOT be changed significantly throughout the project lifecycle
3
Agile Projects Are 3 Times More Successful Than Non-Agile Projects
Source: The CHAOS Manifesto (2012), The Standish Group
Successful – A completed project that has achieved the set milestones
Challenged – An incomplete project that is facing problems due to any reason
Failed – A challenged project that has been shelved or stopped
• Self-organization and motivation of team is important• Teams must interact more often e.g. pair programming
• In the meetings, present a working software to the clients rather than the documents
• Regularly interact with customer because requirements can be changed throughout the software development lifecycle
• The essence of Agile development is to quickly respond to the change
4
Agile Methods Stress on Adaptability and Frequent Customer
Collaboration
According to Agile Manifesto, followers of Agile value:
Source: www.agilemanifesto.org
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
That is, while there is value in the items onthe right, we value the items on the left more.
Which means
5
Scrum Is The Most Widely Used Agile Methodology
Source: 7th Annual State of Agile Development Survey (2013), Versionone.com
There are many Agile methods in practice today. According to an annual survey, with 4,048 respondents from Software development communities, Scrum is the most widely used Agile Technology
6
Scrum Is Easy To Understand But Difficult To Master
Product
User Story
User Story
User Story
1. Product Owner is the voice of the customer who writes the Product features that are known as User Stories.
2. These user stories are then prioritized and added to the Product
Backlog
3. Product Owner plans and starts the development phase known as Sprint
which has a fixed time duration of 2-4 weeks. During this phase Development Team completes the tasks that are part of Sprint Backlog
4. During Sprint, there is a Stand up meeting every day in which everyone answers 3 questions; i) What they did yesterday? ii) What they will today? iii) Is there anything stopping them?
5. At the end of the Sprint, there is a Sprint Review Meeting in which completed work is presented. Non-completed work is added to the Sprint
Backlog
6. A Scrum Master overlooks the whole process and enforces the Scrum rules and regulations
Roles
Artifacts
Events
Source: The Scrum Guide, Scrum.org
7
Scrum Has Well Defined Roles And Events
Scrum Master
• Facilitates Scrum
• Removes impediments
• Chairs key meetings
Product Owner
• Responsible for the outcome of the project
• Manages the Product Backlog
Development Team
• Responsible for delivering the product at the end of each Sprint
• Self-organizing and cross-functional team of 3-9 individuals
Roles
Events
Event Activities Duration
Sprint Planning Meeting• Select the work to be done• Agree on Sprint Backlog
8 hours limit
Daily Scrum Meeting(Stand Up)
• Everyone answers 3 questionsa) What have you done since yesterday?b) What are you planning to do today?c) Any impediment?
15 minutes
Sprint Review Meeting• Review the work that has been completed• Present the completed work
4 hours limit
Sprint Retrospective
• Scrum Master facilitates this meeting• Two questions are asked
a) What went well during the Sprint?b) How can we make next Sprint better?
3 hours limit
Source: The Scrum Guide, Scrum.org
8
Velocity and Burn Down Chart Provide Useful Information For
Sprint Planning
Performance of the team can be tracked through a Burn Down Chart. It also shows the capability of the Development Team. This capability is called “Velocity”. The Velocity in past Sprint is used to estimate the amount of work that the team is expected to deliver in future Sprints.
9
VersionOne, JIRA And LeanKit Are The Most Recommended Agile Tools
Source: 7th Annual State of Agile Development Survey (2013), Versionone.com
Personal Recommendation
10
Useful Learning Resources
� www.Scrumalliance.org
� www.Scrum.org
� www.agilemanifesto.org
� http://www.infoq.com/minibooks/scrum-xp-from-the-trenches (Free eBook)