Agile software development or methodology or framework refers to the 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 the above diagram, the vision and feasibility are the 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 brings 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 by leveraging the product roadmap document. The release planning results in a release backlog. The individual sprints are defined to accomplish upcoming release goals. The Agile Roadmap blog defines the entire project in more detail.
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
- Burndown and Burn-up chart
- Sprint Backlog
- Product Backlog