Agile and Scrum Simplified
Here is how I taught myself Agile and Scrum concepts. Concepts became much clearer when I learned how the various roles, artifacts and events interact.
Reference: http://www.youtube.com/watch?v=mJRsSbWR3Mc
Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC) is a concept that details the various stages in a software release.
SDLC Stages
- Planning
- Designing
- Developing
- Testing
- Deploying
Agile is a software methodology that is iterative. It adapts to changes much faster. It helps deliver high quality software faster, that meets customer requirements.
Scrum is one of the most common Agile development frameworks. In Scrum, the project is split into multiple periods. Each period can last from 2-4 weeks. So if a company adopts a 2 week period, that duration is called a Sprint.
- Scrum Roles (Product Owner, Scrum Master, Scrum Team, Stakeholders)
- Scrum Artifacts (Product Backlog, Sprint Backlog)
- Scrum Events (Sprint Planning, Sprint, Daily Standup, Sprint Review, Sprint Retrospective)
Scrum Roles
Product Owner
- Gathers business requirements
- Helps the team undestand the vision and the business value of features
- Prioritize the features (backlog)
- Accept finished software
Scrum Master
- Plans sprints
- Help eliminate blockages and obstacles that prevent the team from achieving their goals
- Tracks the sprint’s progress
Scrum Team Members
The scrum team can include Architects, Software developers, QA testers etc.
- Develop code required to meet sprint goals
- Implement test plans and tests
- Identify obstacles and informing team and Scrum Team Master
Stakeholders
Stakeholders are the people that derive value from the software. -Can have indirect involvement through discussions with Product Owners. -Can include executives, customers, users, partners
Scrum Artifacts
Product Backlog
This is a prioritized list of new features that should be implemented as part of a project. This is a big list of features..sort of a wish-list of features
Sprint Backlog
This is a list of items (user stories) that the sprint team is committed to doing as part of the current sprint. THis list can also include defects, refactoring work etc.
Scrum Events
Sprint Planning
This meeting is held at the beginning of the sprint. This is attended by the Product Owner, Scrum Master, Scrum Team (including Architects, Developers, Testers etc). The Product Owner first presents the current top priority items in the Product Backlog. At the end of the meeting, the team commits to a Sprint Backlog of items that they are confident that they can complete by the end of the sprint.
Sprint
The sprint is the fixed time period (2-4 weeks) where the Scrum team delivers items.
Daily Standup
A daily short meeting where the sprint team members share 3 things - What they did yesterday, What they plan to do today, Are there blocked or have any obstacles.
Sprint Review (Demo time)
This meeting occurs at the end of a sprint. The team presents the results of the sprint to the Product Owners and Stakeholders. This is usually done by demoing the feature.
Sprint Retrospective
At this meeting held once per sprint, the team discusses - What went right, What did not go well, What can be improved