Technische Universität München Agile Modeling Emitzá Guzmán.
Post on 27-Mar-2015
221 Views
Preview:
Transcript
Agile Modeling
Technische Universität München
Agile ModelingEmitzá Guzmán
May 9 2008 Agile Modeling
Technische Universität München
2
Agenda
• Introduction to Agile Modeling- Definiton- Values- Principles- Practices
• Characterisitics of Agile Models
• Agile Modeling Sessions
• Applying Agile Modeling: XP
• Conclusions
May 9 2008 Agile Modeling
Technische Universität München
3
Definition
• Methodology for modeling and documenting effectively software-based systems.
• Collection of values, principles and practices that can be applied on a software project.
May 9 2008 Agile Modeling
Technische Universität München
4
Definition
• It is not a prescriptive process.
• Its focus is on modeling.
May 9 2008 Agile Modeling
Technische Universität München
5
Agenda• Introduction to Agile Modeling
- Definiton- Values- Principles- Practices
• Characterisitics of Agile Models
• Agile Modeling Sessions
• Applying Agile Modeling: XP
• Conclusions
May 9 2008 Agile Modeling
Technische Universität München
6
Communication
May 9 2008 Agile Modeling
Technische Universität München
7
Communication
May 9 2008 Agile Modeling
Technische Universität München
8
Simplicity
Model enough to fulfill the present needs and worry about the future needs when they appear.
Be realistic when modeling!
May 9 2008 Agile Modeling
Technische Universität München
9
Feedback
• Only way to determine if the work we have done is correct.
• Ways to obtain feedback:– Develop model as a team– Review the model with the target audience– Implement the model– Acceptance testing
• Obtain feedback from the beginning of the project.
May 9 2008 Agile Modeling
Technische Universität München
10
Feedback
Cost of fixing defects
Probability of introducing defects
May 9 2008 Agile Modeling
Technische Universität München
11
Courage
In order to:– Make decisions such as system architecture or development
language.– Recognize that one can make mistakes.– To trust that one can overcome future problems in the future
-> Enabling simplicity.
May 9 2008 Agile Modeling
Technische Universität München
12
Humility
In order to recognize that one that does not know everything and that one can learn from others.
May 9 2008 Agile Modeling
Technische Universität München
13
Agenda
• Introduction to Agile Modeling– Definiton– Values– Principles– Practices
• Characterisitics of Agile Models
• Agile Modeling Sessions
• Applying Agile Modeling: XP
• Conclusions
May 9 2008 Agile Modeling
Technische Universität München
14
Principles
• Software is your primary goal
May 9 2008 Agile Modeling
Technische Universität München
15
Principles
• Software is your primary goal
• Enabling the next effort is your secondary rule
May 9 2008 Agile Modeling
Technische Universität München
16
Principles
• Software is your primary goal
• Enabling the next effort is your secondary rule
• Travel light
May 9 2008 Agile Modeling
Technische Universität München
17
Principles
• Software is your primary goal
• Enabling the next effort is your secondary rule
• Travel light
• Assume simplicity
May 9 2008 Agile Modeling
Technische Universität München
18
Principles
• Software is your primary goal
• Enabling the next effort is your secondary rule
• Travel light
• Assume simplicity
• Embrace change
May 9 2008 Agile Modeling
Technische Universität München
19
Principles
• Software is your primary goal
• Enabling the next effort is your secondary rule
• Travel light
• Assume simplicity
• Embrace change
• Make incremental change
May 9 2008 Agile Modeling
Technische Universität München
20
Principles
• Software is your primary goal
• Enabling the next effort is your secondary rule
• Travel light
• Assume simplicity
• Embrace change
• Make incremental change
• Model with purpose
May 9 2008 Agile Modeling
Technische Universität München
21
Principles
• Software is your primary goal
• Enabling the next effort is your secondary rule
• Travel light
• Assume simplicity
• Embrace change
• Make incremental change
• Model with purpose
• Use multiple models
May 9 2008 Agile Modeling
Technische Universität München
22
Principles
• Software is your primary goal
• Enabling the next effort is your secondary rule
• Travel light
• Assume simplicity
• Embrace change
• Make incremental change
• Model with purpose
• Use multiple models
• Seek rapid feedback
May 9 2008 Agile Modeling
Technische Universität München
23
Principles
• Software is your primary goal
• Enabling the next effort is your secondary rule
• Travel light
• Assume simplicity
• Embrace change
• Make incremental change
• Model with purpose
• Use multiple models
• Seek rapid feedback
• Produce quality work
May 9 2008 Agile Modeling
Technische Universität München
24
Principles
• Software is your primary goal
• Enabling the next effort is your secondary rule
• Travel light
• Assume simplicity
• Embrace change
• Make incremental change
• Model with purpose
• Use multiple models
• Seek rapid feedback
• Produce quality work
• Maximize customer investment
May 9 2008 Agile Modeling
Technische Universität München
25
Agenda
• Introduction to Agile Modeling– Definiton– Values– Principles– Practices
• Characterisitics of Agile Models
• Agile Modeling Sessions
• Applying Agile Modeling: XP
• Conclusions
May 9 2008 Agile Modeling
Technische Universität München
26
Practices
• Iterative and incremental modeling
• Teamwork
• Simplicity
• Validation
May 9 2008 Agile Modeling
Technische Universität München
27
Iterative and Incremental Modeling
• Apply the right artifacts
Enroll in Seminar
•Student chooses a
seminar to
enroll in
•System ch
ecks that th
e student c
an
enroll in th
at seminar
•System ca
lculates f
ees
•Student pays f
ees and is
enrolled
May 9 2008 Agile Modeling
Technische Universität München
28
Iterative and Incremental Modeling
• Apply the right artifacts
May 9 2008 Agile Modeling
Technische Universität München
29
Iterative and Incremental Modeling
• Apply the right artifacts
• Create several models in parallel
May 9 2008 Agile Modeling
Technische Universität München
30
Iterative and Incremental Modeling
• Apply the right artifacts
• Create several models in parallel
• Iterate to another artifact
May 9 2008 Agile Modeling
Technische Universität München
31
Iterative and Incremental Modeling
• Apply the right artifacts
• Create several models in parallel
• Iterate to another artifact
• Modell in small increments
May 9 2008 Agile Modeling
Technische Universität München
32
Teamwork
• Model with others
– Improve communication
– Build common vocabulary
– Provide opportunity to learn from each other
Two heads are better than one!
May 9 2008 Agile Modeling
Technische Universität München
33
Teamwork
• Model with others
• Active stakeholder participation
May 9 2008 Agile Modeling
Technische Universität München
34
Teamwork
• Model with others
• Active stakeholder participation
• Collective ownership– Promotes communication– Reduces documentation– Reduces dependancy on one single person– Better understanding of the system– Rapid feedback
May 9 2008 Agile Modeling
Technische Universität München
35
Teamwork
• Model with others
• Active stakeholder participation
• Collective ownership
• Display models publicly
May 9 2008 Agile Modeling
Technische Universität München
36
Simplicity
• Create simple content
May 9 2008 Agile Modeling
Technische Universität München
37
Simplicity
• Create simple content
• Depict models simply
May 9 2008 Agile Modeling
Technische Universität München
38
Simplicity
• Create simple content
• Depict models simply
• Use the simplest tools
May 9 2008 Agile Modeling
Technische Universität München
39
Validation
• Consider testability
– How should the software be tested?
– Test often and test early
May 9 2008 Agile Modeling
Technische Universität München
40
Validation
• Consider testability
• Prove it with code
May 9 2008 Agile Modeling
Technische Universität München
41
Agenda
• Introduction to Agile Modeling– Definiton– Values– Principles– Practices
• Characterisitics of Agile Models
• Agile Modeling Sessions
• Applying Agile Modeling: XP
• Conclusions
May 9 2008 Agile Modeling
Technische Universität München
42
Characteristics of Agile Models
• Fulfill its purpose
May 9 2008 Agile Modeling
Technische Universität München
43
Characteristics of Agile Models
• Fulfill its purpose
• Understandable
May 9 2008 Agile Modeling
Technische Universität München
44
Characteristics of Agile Models
• Fulfill its purpose
• Understandable
• Sufficiently accurate
May 9 2008 Agile Modeling
Technische Universität München
45
Characteristics of Agile Models
• Fulfill its purpose
• Understandable
• Sufficiently accurate
• Sufficiently consistent
May 9 2008 Agile Modeling
Technische Universität München
46
Characteristics of Agile Models
• Fulfill its purpose
• Understandable
• Sufficiently accurate
• Sufficiently consistent
• Sufficiently detailed
May 9 2008 Agile Modeling
Technische Universität München
47
Characteristics of Agile Models
• Fulfill its purpose
• Understandable
• Sufficiently accurate
• Sufficiently consistent
• Sufficiently detailed
• Provide positive value
May 9 2008 Agile Modeling
Technische Universität München
48
Characteristics of Agile Models
• Fulfill its purpose
• Understandable
• Sufficiently accurate
• Sufficiently consistent
• Sufficiently detailed
• Provide positive value
• As simple as possible
May 9 2008 Agile Modeling
Technische Universität München
49
Agenda
• Introduction to Agile Modeling– Definiton– Values– Principles– Practices
• Characterisitics of Agile Models
• Agile Modeling Sessions
• Applying Agile Modeling: XP
• Conclusions
May 9 2008 Agile Modeling
Technische Universität München
50
Agile Modeling Sessions
• Duration:
– At the beginning of a project: hours or daysMore than 2 or 3 days put your product at risk.
– During the construction of the projectBrainstorm Sessions: 10 to 20 minutes.
May 9 2008 Agile Modeling
Technische Universität München
51
Agile Modeling Sessions
• 3 Key rules:
– Create several models in the same session with different artifacts.
– Just enough people.
– Just formal enough.
May 9 2008 Agile Modeling
Technische Universität München
52
Brainstorm Sessions
• Stand-up meetings around a whiteboard or a table preferred.
• Focused on a single topic (a small chunk of requirements)
• Stop modeling once goal is fulfilled.
May 9 2008 Agile Modeling
Technische Universität München
53
Agenda• Introduction to Agile Modeling
– Definiton– Values– Principles– Practices
• Characterisitics of Agile Models
• Agile Modeling Sessions
• Applying Agile Modeling: XP
• Conclusions
May 9 2008 Agile Modeling
Technische Universität München
54
Applying Agile Modeling: XP
• Exploration Phase
XP concentrates on System Metaphores, but that does not mean that other diagrams can not be created
May 9 2008 Agile Modeling
Technische Universität München
55
Applying Agile Modeling: XP
• Planning Phase
Team and customers agree on date in which the smallest implementation will be done-brainstorm of tasks
Task cardsSketches of logic of taskUser Interface
May 9 2008 Agile Modeling
Technische Universität München
56
Applying Agile Modeling: XP
• Iteration to release Phase
Stand up meetings: developers discuss problems around a whiteboard, drawing sketches to enhance communicationModeling!
May 9 2008 Agile Modeling
Technische Universität München
57
Applying Agile Modeling: XP
• Productionizing Phase
AM done when errors are discovering and Modeling has to be done to work through the problem.
May 9 2008 Agile Modeling
Technische Universität München
58
Agenda• Introduction to Agile Modeling
– Definiton– Values– Principles– Practices
• Characterisitics of Agile Models
• Agile Modeling Sessions
• Applying Agile Modeling: XP
• Conclusions
May 9 2008 Agile Modeling
Technische Universität München
59
Conclusions
• Agile Modeling can be used in a software process in order to enhance modeling.
• In order to say you are Agile Modeling you need to follow all of the Principles and Practices of Agile Modeling.
May 9 2008 Agile Modeling
Technische Universität München
60
References
• www.agilemodeling.com.
• Agile Modeling. Scott Ambler. Wiley Computer Publishing.
• www.extremeprogramming.org
Agile Modeling
Technische Universität München
Thank you for your attention!
?
Agile Modeling
Technische Universität München
Exercise
May 9 2008 Agile Modeling
Technische Universität München
63
System Metaphor
May 9 2008 Agile Modeling
Technische Universität München
64
System Architecture
May 9 2008 Agile Modeling
Technische Universität München
65
Exercise: Reminder
• Flow charts
May 9 2008 Agile Modeling
Technische Universität München
66
Exercise: Reminder
• CRC Cards
What a class knows or doesHelp with the class
responsabilities
May 9 2008 Agile Modeling
Technische Universität München
67
Exercise: Reminder
• Use Cases
Actor
Action that provides a measurable value
Association
May 9 2008 Agile Modeling
Technische Universität München
68
Exercise: Reminder
• CRC Model
May 9 2008 Agile Modeling
Technische Universität München
69
Reminder: Exercise
• User Interfaces
top related