Agile:
* Agile is a framework for delivering products quickly and efficiently
* It uses set of new practices that make product development cyclical (iterative)
* It relies on lean governance (management)
* It drives decision making process lower in an organisation, making that organisation responsive and adaptive
* Customer in continually involved in Agile
* It was created because big upfront planning stifled the development process and the contact with customer
Are scrum and agile related?
* Scrum is a variant of Agile
* While Agile is a set of principles, Scrum puts those principles into effect with well-designed practices and techniques
* Scrum is a team-based iterative and incremental Agile method for tracking projects. It has its own components such as a scrum team, backlogs, and sprints
* Manage the development iteration - team-
During the iteration the team will prioritise and develop the most important features on the product backlog first. The team expands product backlog items into more explicit tasks on a sprint backlog and then manages its own work. Self-organises around how it wants to complete the iteration. The team manages itself to its commitment
* Manage the release - Product Owner-
They make the decisions about when to create an official release. For many reasons it may not be good to release at the end of every increment.
* Similarly if an official release is planned for after the 5th increment it may be released after the 4th increment in order to respond to competitors or capture early market.
* The product owner makes these decisions in a manner consistent with the investment vision that has been established for the project
What is involved?
* Stories - in Scrum, the customer tells the scrum team what's needed through requirements. They are called stories.
* A story is a high level definition of requirements. Containing enough info so the developer can produce reasonable estimated of the effort to implement it
* The scrum team takes the supplied stories, and breaks them down into specific tasks, each of which is given a time estimate (either in story points or days/hours). These tasks are then kept track of in the sprint backlog
Sprints:
* is a development iteration.
* In Scrum, you execute projects in successive iterations known as sprints
* In a sprint planning session, items are taken from the product backlog and moved to the sprint backlog, based on the priority set by the product owner, and given an estimate
* Sprints are intended to be 2-4 week work iterations.
* At the end of the sprint, a potentially shippable product is delivered to the product owner for review
Daily scrum:
* A main feature of Scrum development is the daily stand ups, called the daily scrum.
* This is mandatory meeting of the scrum team and takes about 15 mins at the start of the day
* The main attendees are the Scrum master, product owner can also attend.
* Meeting is usually help with all people standing to literally emphasising the name of the meeting. Also giving it another name "daily stand -up"
Scrum Master:
* Responsible for the process
* Responsible for maximising team productivity
* Sets up meetings
* Conducts meetings
* Representative to management
* Representative to team
Scrum team members should exhibit the following attributes:
* Experience, motivated, committed to the project full time, competent, proud of their work, able to work well with others, responsible, willing to work in teams, autonomous
Autonomy:
* Scrum pushes the level of decision making downward, and its important team members feel they have the autonomy to become truly invested in the project.
* Autonomy stands in contradiction to the environment from heavy governance organisations
* To some extent, team members have to believe they "own" the project before they can take pride in it, commit themselves to it fully, and internalise the goals of the project
Meetings: Sprint planning meetings:
* At the start of every sprint cycle, a sprint planning meeting is held to do the following:
- Select what work is to be done
- Prepare the sprint backlog that details the time it will take to do that work, with the entire team
- Identify and communicate how much of the work is likely to be done during the current sprint
- There is usually an 8 hour limit to this meeting
Meetings: End meetings:
- At the end of the sprint cycle, two meetings are held: the "Sprint review meeting" and the "Sprint retrospective meeting"
How to plan sprints?
* Sprint planning takes place on the first day of a sprint - you plan before you start the sprint work.
* Each sprint planning session lasts typically a full day, or eight hours
* It consists of 2 segments. Each segment is designed to last about half a day, roughly or about 4 hours.
* Those times may vary
2. Estimating backlog items
- The second segment of sprint planning is all about perfecting the sprint backlog and understanding the backlog items in more detail.
- This segment has 3 main purposes:
1. Team perfects the stories to be delivered
2. Team estimates the work
3. Team commits to the work and the sprint
Timesheets are tricky:
- Estimating the time of the work is a hard process, but its important
- Scrum depends on being efficient with time
- The closer the team comes to estimating the times the better it will be
- A preferred approach of time estimating is to use story points in scrum teams
When estimating story points team members should consider:
- How many story points did they deliver last sprint? This helps set a baseline of how much work can be done in this sprint
- Are there any holidays planned for the coming sprint? This adjusts the total points a team can complete in a sprint
- Are there any big milestone/events taking place that affect the process? This may impact the amount of work that can be delivered