Agile software development or methodology or framework refers to time boxed, continuous iteration of development and testing to build software where the solutions evolve throughout with incremental development via collaboration among self-organizing teams. Agile helps organizations to expertise and respond to continuous change and make them able to do more.
As shown in above diagram, the vision and feasibility are most important factors to be considered before starting a project. In this phase, we identify whether we should consider doing a project or not. Some of the questions need to be answered in this phase like what is going to be ROI (Return of investments) for a project? How do we get funding? Is it worth taking risks? Staffing? what is the value the project bring in? etc. You use this phase to break the idea into individual functionality items called features or user stories. If this looks positive, the next step is to create a product roadmap document.
The product backlog is created leveraging the product roadmap document. The release planning results in release backlog. The individual sprints are defined to accomplish upcoming release goals. The Agile Roadmap blog defines the entire project in more details.
The sprint ceremonies are listed as
The sprint roles are (The details are listed in Scrum Roles and Responsibilities blog)
- Product Owner
- Team member
- Scrum Master
The core sprint artifacts are
- Burn down and Burn-up chart
- Sprint Backlog
- Product Backlog