Agile Scrum Note 01
Introduction
Traditional Development
- Analysis
- Design
- Coding
- Testing
- Deploy
- logically sound but assumes predictability, difficult to react to unforeseen changes
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
Principles behind the Agile Manifesto
- 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 during 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. Sponsors, developers, and users should be able to maintain a constant pace indefinitely
- Continuous attention to tech. 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
APM (Agile Project Management) Framework
- Envision
Determine the product vision and project scope, the project community, and how the team will work together
- Speculate
Develop a feature-based release, milestone, and iteration plan to deliver on the vision
- Explore
Deliver tested features in a short timeframe, constantly seeking to reduce the risk and uncertainty of the project
- Adapt
Review the delivered results, the current situation, and the team's performance, and adapt as necessary
- Close
Conclude the project, pass along key learning's, and celebrate
Scrum
- a methodology for software development that adheres to Agile principles of iterative and incremental development