Different types of Agile methods or frameworks widely used in the world for software development and project development are listed below:
- Scrum: It is used to establish hypotheses, test them, reflect on the experience, and also make adjustments. It heavily depends on feedback, self-management, small teams, and work broken out into sprints. It relies on incremental development.
- FDD (Feature-Driven Development): It generally involves creating software models every two weeks and also needs development and design for each and every model feature. It is basically a lightweight iterative and incremental software development process whose main purpose is to deliver stable and working software on time.
- Lean Software Development: It is basically a way of minimizing waste and maximizing value. It is more focused on process efficiency for optimum results in customer value. It is totally based on two guiding principles i.e., respect for people and continuous improvement.
- XP (Extreme Programming): Its main purpose is to produce higher-quality software and higher quality of life for the development team. It is considered low-risk, flexible and a way to develop software and ensures that clients get what they require. In this methodology, the software is tested right from day one, collecting feedback so as to improve the development process.
- DSDM (Dynamic Software Development Method): It generally focuses on the full project lifecycle and the main aim is to ensure good governance as the foundation for project management. It is user-driven and believes that modifications to the project are always expected. It also provides a full roadmap to deliver products on time and within budget.
- ASD (Adaptive System Development): It represents the idea that projects should always be in a state of continuous adaptation, and has a cycle of three repeating series i.e., speculate, collaborate, and learn.
- Crystal Methodology: It mainly focuses on individuals and their interactions rather than processes. It is considered one of the most lightweight and flexible approaches to developing software. It is a family of agile methodologies that include different variants such as crystal clear, crystal yellow, crystal orange, and crystal red.
- Kanban: Kanban projects are generally managed through a board or table (Kanban Board). This Kanban board is a tool that helps team members to keep an eye on workflow for measuring its progress and includes all the information that is needed to be done on the product at each stage along with its path of completion. Its main purpose is flexibility in task management, continuous improvement, and enhanced workflow.