Agile Modeling
Encyclopedia
Agile Modeling is a practice-based methodology for modeling and documentation of software-based systems. It is intended to be a collection of values, principles, and practices for Modeling software that can be applied on a software development project in a more flexible manner than traditional Modeling methods.

Agile Modeling is a supplement to other Agile
Agile software development
Agile software development is a group of software development methodologies based on iterative and incremental development, where requirements and solutions evolve through collaboration between self-organizing, cross-functional teams...

 methodologies such as:
  • Extreme Programming
    Extreme Programming
    Extreme programming is a software development methodology which is intended to improve software quality and responsiveness to changing customer requirements...

  • Agile Unified Process
    Agile Unified Process
    Agile Unified Process is a simplified version of the IBM Rational Unified Process developed by Scott Ambler. It describes a simple, easy to understand approach to developing business application software using agile techniques and concepts yet still remaining true to the RUP...

  • Scrum
    Scrum (development)
    Scrum is an iterative, incremental framework for project management often seen in agile software development, a type of software engineering....



In which it is used to replace the more standard UML
Unified Modeling Language
Unified Modeling Language is a standardized general-purpose modeling language in the field of object-oriented software engineering. The standard is managed, and was created, by the Object Management Group...

, or other standard design tools.

Answers to criticisms


The principles and values of Agile Modeling practices are intended to help mitigate the perceived flaws of Agile Software Development
Agile software development
Agile software development is a group of software development methodologies based on iterative and incremental development, where requirements and solutions evolve through collaboration between self-organizing, cross-functional teams...

. The principle "Maximize stakeholder value" aims to inspire the developer to collaborate with the customer in providing an adequate level of documentation.

The principle "Model with others" attempts to involve project stakeholders such as the client or customer in the Modeling process to attempt to bring the model more into line with the end user requirements
Requirements analysis
Requirements analysis in systems engineering and software engineering, encompasses those tasks that go into determining the needs or conditions to meet for a new or altered product, taking account of the possibly conflicting requirements of the various stakeholders, such as beneficiaries or users...

.

Limitations

There is significant dependence on personal communication and customer collaboration. Agile Modeling disciplines can be difficult to apply where there are large teams (in Agile methodologies 'large' is typically considered as anything more than around 8), team members are unable to share and collaborate on models, or modeling skills are weak or lacking. However, the emergence of cloud modeling
Cloud computing
Cloud computing is the delivery of computing as a service rather than a product, whereby shared resources, software, and information are provided to computers and other devices as a utility over a network ....

 offerings that respect the tenets of Agile software development
Agile software development
Agile software development is a group of software development methodologies based on iterative and incremental development, where requirements and solutions evolve through collaboration between self-organizing, cross-functional teams...

may significantly reduce or even eliminate most of these concerns.

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK