Agile MethodologyAgile methodology is basically a collection of several agile methodologies in itself. The Agile Manifesto introduced in the year 2001 included several Agile Methodologies including Scrum, XP, Crystal, FDD, and DSDM. In addition, there are certain lean practices, which also form a part of agile methodology.

Scrum

It controls and manages highly iterative projects through a lightweight framework. It was first introduced in the year 1990. It resolves the issue occurring in the project in its entire life cycle. In addition, it makes the project more transparent and clear. Moreover, it adds the power to attain quick development.

Extreme Programming (XP)

It is the most commonly implemented agile methodology. It adds simplicity, courage, feedback, and communication for the improvement of the project. In addition, it makes use of the best practices such as Planning Game, Small Releases, Customer Acceptance Tests, Simple Design, Pair Programming, Test-Driven Development, Refactoring, Continuous Integration, Collective Code Ownership, Coding Standards, Metaphor, and Sustainable Pace, to be able to deal with the changing requirements and technology.

Adaptive Software Development (ASD)

It means to adapt the process according to the work. Adaptive Software Development is a result of rapid application development work by Jim Highsmith and Sam Bayer.

DSDM

The DSDM stands for Dynamic Software Development Method. It was designed to overcome some limitations of the methods like RAD. It includes the entire development cycle and provides various features, including user involvement, iterative and incremental development, better frequency delivery, integrated test at each phase, etc. However, projects are prioritized as mentioned below.

  • Requirements
  • Have if Possible
  • Could have if not critical
  • Would have it later
FDD 

FDD is a method used at a higher level for managing projects. It uses a wrapper methodology, which allows you use to even use other methodologies at a lower level. It does not use any specific method to create a schedule or report of the project. It helps you analyze the things about the status of the project at a very granular level. It uses the following practices to design and deliver the project.

  • Object Modeling Domain
  • Feature development
  • Component/Class Ownership
  • Teams
  • Inspections
  • Managing Configuration
  • Regular Builds
  • Visibility of progress and results
Lean

Lean approach uses a system to improve overall performance. It reduces the waste and optimizes the system. It’s a well-known method used earlier; however, with the software development it has gained popularity. It includes various principles for a better development cycle.

  • Waste Elimination
  • Quality
  • Knowledge creation
  • Defer Commitment
  • Fast Delivery
  • Respect of the People
  • Optimization

You may also like: 10 Key Principles of Agile Software Development