Method vs. Methodology <ul><li>Admittedly, this is a pet peeve: </li><ul><li>Method : A means or manner of procedure, especially a regular and systematic way of accomplishing something
Methodology : A body of practices, procedures, and rules used by those who work in a discipline or engage in an inquiry; a set of working methods; The study or theoretical analysis of such working methods </li></ul><li>Scrum (and other such things) are methods – not methodologies </li></ul>
Manifesto for Agile Software Development <ul><li>We are uncovering better ways of developing software by doing it and helping others do it.
Through this work we have come to value: </li><ul><li>Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan </li></ul><li>That is, while there is value in the items on the right, we value the items on the left more . </li></ul>From the “Manifesto for Agile Software Development” See http://agilemanifesto.org/
Principles of Agile Development <ul><li>Our 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.
The most efficient and effective method of conveying information to and within a development team is face-to-face conversation. </li></ul>
Principles of Agile Development (cont) <ul><li>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.
The 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 its behavior accordingly. </li></ul>
Nature of A Complete Method <ul><li>There are two critical aspects of a software development method: </li><ul><li>Process : How the project is conducted and coordinated. Provides for project management and control mechanisms. Not specific to software development.
Practice : How the developers perform software development. A set of practices and conventions that all developers follow in order to collaborative effectively and produce high-quality results quickly. </li></ul></ul>
The Scrum Master asks each person, in turn: </li><ul><li>"What have you done since the last Scrum meeting?"
"What do you plan to do before the next Scrum meeting?"
"What impediments are in your way?" </li></ul><li>After the Daily Scrum, the team gets to work and the Scrum Master sets about removing impediments. </li></ul>
The Scrum Team <ul><li>The Team consists of 5-9 people who will develop the product.
During each Sprint, the Scrum Team has two requirements: </li><ul><li>Attend the Daily Scrum.
Update the Sprint Backlog. </li></ul><li>The important metric on the Sprint Backlog is the estimated work remaining, not the work already done.
A task that had 3 hours remaining on Monday may have 5 hours remaining on Tuesday and 10 hours remaining on Wednesday, even though the developer has worked on it solid for 2 days. This is normal! </li></ul>
Burndown Chart <ul><li>Need fully estimated Spring Backlog updated daily
Shows trend towards timely completion of the Sprint Backlog </li></ul>
Pigs and Chickens <ul><li>A not-so-funny joke: </li></ul>A chicken and a pig decide to start a restaurant. The pig says, "What should we call it?“ The chicken says, "How about 'Ham & Eggs'?“ The pig says, "No thanks. I'd be committed, but you'd just be involved!" <ul><li>People on the Scrum Team are Pigs (committed) – everyone else is a Chicken (involved).
At the Daily Scrum, only Pigs can talk. Chickens can come to the meeting to observe and learn, but they cannot: </li><ul><li>Talk.