0% found this document useful (0 votes)
23 views

Agile Modeling

Agile Modeling is a collection of best practices for effective modeling and documentation that focuses on creating just barely adequate models before coding begins. It enhances software processes like Agile Unified Process by adopting values like communication, simplicity, and feedback. The goal of Agile Model Driven Development (AMDD) used within the agile lifecycle is to build shared understanding through modeling everyone can understand rather than detailed documentation. AMDD spreads design efforts between incremental modeling and coding iterations to identify technical risks early while still enabling planning.

Uploaded by

Tom Alter
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
23 views

Agile Modeling

Agile Modeling is a collection of best practices for effective modeling and documentation that focuses on creating just barely adequate models before coding begins. It enhances software processes like Agile Unified Process by adopting values like communication, simplicity, and feedback. The goal of Agile Model Driven Development (AMDD) used within the agile lifecycle is to build shared understanding through modeling everyone can understand rather than detailed documentation. AMDD spreads design efforts between incremental modeling and coding iterations to identify technical risks early while still enabling planning.

Uploaded by

Tom Alter
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 12

Introduction to Agile Modeling

• A collection of best practices with a focus on effective modeling and documentation.


– Create agile models which are just barely good enough instead of extensive models, before source code is written.
– Not prescriptive. There are no detailed procedures, just advice for how to be an effective modeler.
– Through initial, high-level modeling you can gain the knowledge that you need to guide the project but choose to
wait to act on it.
• It is not a complete software process. Does not include:
– Programming activities (it does ask you to prove your models with code)
– Project management
– System deployment
– System operations or support
• It should be used with a full fledged process
– Agile Unified Process
– Ration Unified Process
– SCRUM
• Adopts and extends values for eXtreme Programming
– Communication
– Simplicity
– Feedback
– Courage
– Humility

1
Agile Modeling Best Practices

2
Enhances other software processes

3
Agile Model Driven Development (AMDD) lifecycle
The goal is to build a shared understanding of the high level requirements, not to write
detailed documentation. A critical success factor is to use modeling everyone can understand
and enable stakeholder participation.

4
AMDD through the Agile Development Lifecycle
Depicts how the AMDD activities fit into the various iterations of the agile software
Development cycle.

5
Assume Simplicity & Embrace Change
• Requirements will change over time
• Incremental change of systems enable agility
• Initial iteration modeling you explore what you
need to build to so you can estimate and plan
the iterations
• Strive for rapid feedback on document from
stakeholders.
• Content is more important than representation
(many ways to model the same concept and all are right)

6
How is AMDD Different?
• You do a little bit of modeling and then a lot of
coding vs. creating an entire design model
first.
• Design efforts are spread between your
modeling and coding activities.

7
Why does AMDD work?
• You can still meet project planning needs by identifying
high-level requirements and potential architecture early
– allowing for cost and schedule estimates.
• Modeling identifies the technical risks.
• An iterative modeling approach enables you to focus on
the pieces of the systems you are actually going to build.
• You ask better questions in modeling sessions as you get
to know the domain better over time.
• Stakeholders give better answers when they have a
better understanding of the system.

8
Activity Diagram
• Typically used for business process modeling
• Models detailed logic for business rules
• Captured by a use case or user story
• Equivalent to flow charts or data flow diagrams

9
Class Diagram
• Show the classes of the system, interrelationships, and operations and
attributes of the classes
• Can be used for conception/domain modeling and detailed design modeling

10
Sequence Diagram

• Model the flow of logic within your


system
• Most popular for dynamic modeling
focusing on the behavior within your
system

11
References
• www.agilemodeling.com
• www.visual-paradigm.com

12

You might also like