Agile Modelling in Software Engineering Audrey Nemeth, Vladimir Borisov

advertisement
Agile Modelling in
Software Engineering
Audrey Nemeth, Vladimir Borisov
AM Values
•
•
•
•
•
Communication
Simplicity
Feedback
Courage
Humility
Source: http://www.agilemodeling.com/values.htm
AM Principles
• Assume Simplicity
• Embrace Change
• Enabling the Next Effort is Your Secondary
Goal
• Incremental Change
• Maximize Stakeholder Investment
Source: http://www.agilemodeling.com/principles.htm
AM Principles
•
•
•
•
•
•
Model With a Purpose
Multiple Models
Quality Work
Rapid Feedback
Software Is Your Primary Goal
Travel Light
AM Principles
(Supplementary)
• Content is More Important Than
Representation
• Open and Honest Communication
AM Practices
•
•
•
•
•
•
Active Stakeholder Participation
Apply the Right Artifact(s)
Collective Ownership
Create Several Models in Parallel
Create Simple Content
Depict Models Simply
Source: http://www.agilemodeling.com/practices.htm
AM Practices
•
•
•
•
•
•
•
Display Models Publicly
Iterate to Another Artifact
Model in Small Increments
Model With Others
Prove it With Code
Single Source Information
Use the Simplest Tools
How AM Practices Fit Together
Source: http://www.agilemodeling.com/essays/practicesFitTogether.htm
What is AM used for?
• You are taking an agile approach to development in
general
• You plan to work iteratively and incrementally
• The requirements are uncertain or volatile
• The primary goal is to develop software
• The active stakeholders are supportive and involved
• The development team is in control of its destiny
• The developers are responsible and motivated
• Adequate resources are available for the project
AM in Software Development
Projects
AM is meant to be tailored into other, full-fledged
methodologies, enabling you to develop a
software process which truly meets your needs.
Agile Model Driven Development
AM in eXtreme Programming
The three most common misconceptions are that
software designers:
• don’t model
• don’t document
• if they do model, only use modeling artifacts of UML
www.extimeprogramming.com
AM in Unified Process
In the RUP there are three disciplines that encompass modeling activities for
a single project – Business Modeling, Requirements, and Analysis &
Design – and the EUP adds Enterprise Business Modeling and
Enterprise Architecture
AM in Feature-Driven Development
How to Save Time
• in Modelling
– Design models that are just barely good enough
– For a given model, use the simplest tool
– Effective developers make use of multiple models
• in Documentation
– Unit tests form much of the detailed design documentation
– When dealing with a part of the software that is really
complicated, either document it thoroughly or redesign it to
make it simpler
Download