What is Agile Modeling?

Agile Modeling is a practice-based methodology for effective modeling and documentation of software-based systems. Simply put, Agile Modeling is a collection of values, principles, and practices for modeling software that can be applied on a software development project in an effective and light-weight manner. Agile Modeling is a supplement to other Agile Methodologies such as:

The principles and values of Agile Modeling practises help to mitigate the criticisms of Agile Software Development. The principle Maximize Stakeholder Value inspires the developer to collaborate with the customer in providing an adequate level of documentation.

The principle Model With Others leads to a design which is the best fit for the customer's needs.

Limitations

There is significant dependence on face-to-face communication and customer collaboration. Agile Modeling is difficult to apply where there are large teams, team members are not co-located, and people skills are lacking. However, Agile Modeling can be scaled with agile architecture techniques.