Agile using Scrum
Before we start understanding Scrum, we should go through the basics of Agile. So lets begin with the basic definition of Agile.
What is Agile
In the IT industry Agile is a well known word that you will often listen from any tech guy.
Agile software development main goal is to keep the code simple, testing's to be done more often and delivering functional tasks of the application as soon as they're ready.
Agile is basically an umbrella term that is used for a set of methods and good practices based on the values and principles that are expressed in the Agile Manifesto.
Agile Manifesto
You must be thinking what is Agile Manifesto? Then let me tell you, Agile Manifesto consist of four main rules.
Also there are 12 principles that are being used by Agile Manifesto for managing its variety of IT and Business Projects. Those includes
What is Scrum
So now you have some basic information related to agile, this will help us understanding the scrum development process.
Scrum is an Agile framework that is being used widely for accomplishing simple and complex projects. Scrum framework is deceptively simple then you thinks.
It was formalized for just software development projects, but from observations it works well for any complex, innovative scope of work.
Some point to keep in mind that goes when we discuss Scrum Framework.
- Scrum is subset of Agile Development
- Deliver highest customer value first
- High visibility of progress
- Focuses on planning and team communication
- Improved productivity
- Work done will better meet the customer's needs.
Now let's talk about Scrum Framework
The Framework goes something like this, this will make you familiar with all the scrum elements we will be discussing in the scrum process.
Roles
- Product Owner
- Scrum Master
- Development Team
Activities
- Sprint Planning
- Daily Scrum
- Sprint Demo
- Retrospective
Artifacts
- Product Backlog
- Sprint Backlog
- Burndown Chart
- Working Product
- Impediment List
Overview Of Scrum Sprint
- The stakeholder of the site has a vision
- Site vision and requirements are gathered by the Product Owner
- Product Owner created a backlog, in which he create and priorities tasks.
- Dev Team, Scrum master sits together and do a sprint Planning.
- They set a time for the sprint (usually 2 week sprint) and assign tasks to the team.
- Within each scrum sprint the team goes through Product backlog refinements, build and testing.
- Daily scrum meeting is held between the team, product owner and Scrum master every day.
- After sprint ends it goes to definition to Done (Dod)
- Once Dod is completed the sprint goes through the review
- And finally the retrospective process is implemented to final sprint release in which whole scrum team discuss about the improvements.
I have assembles some core points to each of the scrum sprint steps, these will help you understand them more easily.
Product Backlog and sprint Basic Example
As you can see in the first column we have the User Story. User Story are just the requirements of feature that are introduced by the Product Owner.
Then the User story are converted into small tasks and assigned to the appropriate team member.
Rest of the Columns are just showing the process of the task from the task assignment to Tasks Done.
Product Owner
Responsible for the product backlog and prioritizing backlog items.
- Capture Product Vision
- Represents them to the users
- Clearly expresses backlog items
- Orders backlog items by value
- Ensures visibility
Scrum Master
Responsible for the scrum process (Scrum master is like a Project Manager)
- Removes impediments(obstacle)
- Facilitates scrum events
- Facilitates communication
The Development Team
Responsible for delivering a potentially shippable increment of working software.
- Self-organized
- Cross functional
- Developer as title
- Defines practices
- 4 to 9 persons
The Sprint Planning
Two part time boxed meeting: 8h/1m sprint.
- Meeting before every sprint between the Product owner, Scrum Master and team.
- Defines what will be delivered in the increment.
- Team gets the items from the product backlog and list down sprint goals.
- Items of backlog are further divided and then converted into different tasks & estimates.
The Daily Scrum
15 minute event for the Team to synchronize activities.
- Discussion on what we accomplished since last scrum meeting?
- What will be done before the next meeting?
- What obstacles are in the way?
The Definition of Done
Used to assess when work is complete on the product increment.
- Product Owner Defines the Definition of done for the sprint
- Must allow release as soon as possible. Do is Unique for the whole team.
- Quality increases with maturity
The Sprint Review
Time-boxed meeting of maximum 4 hours
- Product owner describe the whole team about what has been done
- Team discusses what went well, what problems it ran into even the solved tasks
- Team demonstrates what it has done in a demo
- Product owner discusses the backlog as it is with the team
- All team members communicates on what to do next
- Whole team participates
The Sprint Retrospective
Improves the process.
- Inspect how the last Sprint went
- Done after every sprint
- Create a plan for implementing improvements
- Typically 15-30 minutes
- Whole team participates (Product Owner, Scrum Master, Development team, Possibly customers and others)