The Agile Manifesto
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 on the right, we value the items on the left more.
- 12 principles of agile software
- 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.
- 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.
- some core elements
- Flexible goals
- tolerating changes to the plan
- planning for changes to the plan
- Prioritized backlog
- often revisit the backlog and reprioritize the features
- the most important things will get done first
- Sprints
- agile developers work in a series of “sprints,”
- Nolan Bushnell: “The ultimate inspiration is the deadline,”
- more deadlines means more things get done
- Scrum meetings
- brevity and effectiveness
- stays aware of what the others are doing
- get help from team members
- typically 10–15 minutes long daily
- each member explains exactly three things
- what they accomplished yesterday
- what they plan to accomplish today
- what problems they are facing
- after the meeting is over
- Solutions to these problems are discussed one-on-one by the appropriate team members
- brevity and effectiveness
- Demo day
- At the end of each sprint
- get together to experiment with what was produced
- does risk analysis and plan the next sprint
- Retrospectives
- at the end of each sprint
- discuss about the process they are using
- adjust their process for the next sprint
- Flexible goals
- all feature risk assessment and prototyping at their core