technische universität münchen agile modeling emitzá guzmán

Post on 27-Mar-2015

227 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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