ambler agile modeling and agile data

15
1 Copyright 2001-2002 Scott W. Ambler 1 Introduction to and Scott W. Ambler [email protected] Copyright 2001-2002 Scott W. Ambler 2 Source Documents ? www.agilemodeling.com ? The Agile Modeling Workshop Course Notes (www.ronin-intl.com ) ? www.agiledata.org ? www.modelingstyle.info

Upload: others

Post on 22-Jul-2022

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Ambler Agile Modeling and Agile Data

1

Copyright 2001-2002 Scott W. Ambler 1

Introduction to

and

Scott W. [email protected]

Copyright 2001-2002 Scott W. Ambler 2

Source Documents? www.agilemodeling.com? The Agile Modeling Workshop Course Notes

(www.ronin-intl.com)? www.agiledata.org? www.modelingstyle.info

Page 2: Ambler Agile Modeling and Agile Data

2

Copyright 2001-2002 Scott W. Ambler 3

Overview? Agile Modeling

? What is Agile Modeling?? What are Agile Models? ? Values of Agile Modeling? Principles of Agile Modeling? Practices of Agile Modeling? Agile Modeling & Other Processes

? Agile Data? What is the Agile Data Method?? Philosophies? Roles of Agile Data

? Making it Work in Practice

Copyright 2001-2002 Scott W. Ambler 4

Agile Modeling (AM)

Page 3: Ambler Agile Modeling and Agile Data

3

Copyright 2001-2002 Scott W. Ambler 5

What is AM?? AM is a chaordic, practices-based process for

modeling and documentation.? AM is a collection of practices based on

several values and proven software engineering principles

? AM is a light-weight approach for enhancing modeling and documentation efforts for other software processes such as XP and RUP

Copyright 2001-2002 Scott W. Ambler 6

Scope of AM

YourProcessBase Software Process

(XP, UP, DSDM, ...)

Agile Modeling (AM)

Page 4: Ambler Agile Modeling and Agile Data

4

Copyright 2001-2002 Scott W. Ambler 7

What Are Agile Models? ? Agile models:

? Fulfill their purpose? Are understandable? Are sufficiently accurate? Are sufficiently consistent? Are sufficiently detailed? Provide positive value? Are as simple as possible

? Agile models are just barely enough!

Copyright 2001-2002 Scott W. Ambler 8

This is an Agile Model

Page 5: Ambler Agile Modeling and Agile Data

5

Copyright 2001-2002 Scott W. Ambler 9

So Is This…

Copyright 2001-2002 Scott W. Ambler 10

And this…

Page 6: Ambler Agile Modeling and Agile Data

6

Copyright 2001-2002 Scott W. Ambler 11

And this…

Shipping<<application>>

Online Ordering<<application>>

Order

Customer

Security<<infrastructure>>

Persistence<<infrastructure>>

XML

ICustomer

XML

IOrder

IPersistence

IEncryption

IAccessControl

Corporate DB<<database>>

JDBC

Apache Struts<<framework>>

Copyright 2001-2002 Scott W. Ambler 12

And this

# CUST_NO: integer CUST_SOCIAL_SECURITY_NO: char(10) CUST_FIRST_NAME: char(20) CUST_SURNAME: char(20) CUST_SALUTATION: char (5) CUST_PHONE_NO: char(20)

TCUSTOMER

# CUST_NO: integer # ADDR_ID: integer ADDR_USAGE_CODE: char(2)

TCUSTOMER_ADDRESS # ADDR_ID: integer ADDR_STREET char(40) ADDR_CITY: char(20) ADDR_ZIP: char(20) ADDR_STATE_CODE: char(2) ADDR_COUNTRY_CODE: char(3)

TADDRESS

Page 7: Ambler Agile Modeling and Agile Data

7

Copyright 2001-2002 Scott W. Ambler 13

Values of AM

? Communication? Simplicity? Feedback? Courage? Humility

Copyright 2001-2002 Scott W. Ambler 14

Principles of AMCore? Assume Simplicity? Embrace Change? Enabling the Next Effort is Your

Secondary Goal? Incremental Change? Model With a Purpose? Multiple Models? Maximize Stakeholder Investment? Quality Work? Rapid Feedback? Software Is Your Primary Goal? Travel Light

Supplementary? Content is More Important Than

Representation? Everyone Can Learn From Everyone

Else? Know Your Models? Know Your Tools? Local Adaptation? Open and Honest Communication? Work With People’s Instincts

Page 8: Ambler Agile Modeling and Agile Data

8

Copyright 2001-2002 Scott W. Ambler 15

Practices of AMCore? Active Stakeholder Participation? Apply the Right Artifact(s)? Collective Ownership? Consider Testability? Create Several Models in Parallel? Create Simple Content? Depict Models Simply? Display Models Publicly? Iterate to Another Artifact? Model in Small Increments? Model With Others? Prove it With Code? Use the Simplest Tools

Supplementary? Apply Modeling Standards? Apply Patterns Gently? Discard Temporary Models? Formalize Contract Models? Model to Communicate? Model to Understand? Reuse Existing Artifacts? Update Only When It Hurts

Copyright 2001-2002 Scott W. Ambler 16

Observation: There is more to modeling than the UML

EssentialUse Case

Model-or-

User Stories

Change Cases

Business Rules

Non-FunctionalRequirements

CRC Model

EssentialUser Interface

Prototype

Constraints

User InterfaceFlow Diagram

SequenceDiagram

Class Model(Analysis)

Use CaseModel

-or-User Stories

ActivityDiagram

User InterfacePrototype

Class Model(Design)

CollaborationDiagram

State ChartDiagram

PersistenceModel

SourceCode

ComponentDiagram

DeploymentDiagram

ExternalInterface

Specification

Page 9: Ambler Agile Modeling and Agile Data

9

Copyright 2001-2002 Scott W. Ambler 17

The Agile Data (AD)Method

Copyright 2001-2002 Scott W. Ambler 18

What is the (AD) Method?? The Agile Data (AD) method is a collection of

philosophies that will enable IT professionals within your organization to work together effectively when it comes to the data aspects of software-based systems.

? The AD method is based on the values and principles of the Agile Alliance.

? The AD method works well with practices of Agile Modeling (AM) (www.agilemodeling.com)

Page 10: Ambler Agile Modeling and Agile Data

10

Copyright 2001-2002 Scott W. Ambler 19

Philosophies of AD1. Data is one of several important aspects of software-based systems.

2. Development teams must consider and act appropriately regarding enterprise issues.3. Enterprise groups exist to nurture enterprise assets and to support other groups, such

as development teams, within your organization. These enterpris e groups should act in an agile manner that reflects the expectations of their customers and the ways in which their customers work.

4. Each development project is unique, requiring a flexible approach tailored to its needs. One software process does not fit all and therefore the relative importance of data varies based on the nature of the problem being addressed.

5. IT professionals must work together effectively, actively striving to overcome the challenges that make it difficult to do so.

6. You should actively strive to find the “sweet spot” for any issue, avoiding the black and white extremes to find the gray that works best for your overall situation.

Copyright 2001-2002 Scott W. Ambler 20

There is more to modeling than data models!

EssentialUse Case

Model-or-

User Stories

Change Cases

Business Rules

Non-FunctionalRequirements

CRC Model

EssentialUser Interface

Prototype

Constraints

User InterfaceFlow Diagram

SequenceDiagram

Class Model(Analysis)

Use CaseModel

-or-User Stories

ActivityDiagram

User InterfacePrototype

Class Model(Design)

CollaborationDiagram

State ChartDiagram

PersistenceModel

SourceCode

ComponentDiagram

DeploymentDiagram

ExternalInterface

Specification

Page 11: Ambler Agile Modeling and Agile Data

11

Copyright 2001-2002 Scott W. Ambler 21

The Roles of the AD Method

EnterpriseArchitects

AgileDBAs

ApplicationDevelopers

Standards, Guidelines,"Current State"

Guidance

Enterprise Models,Vision For Future

Data-OrientedChange Requests,

Questions

System-OrientedChange Requests,

Questions

Data Design Constraints,Data Models

ApplicationDesign Constraints, Application Models

EnterpriseAdministrators

Development Efforts

Information RegardingCurrent State,

Vision for Future

Enterprise Models,Vision For Future

Copyright 2001-2002 Scott W. Ambler 22

Agile Database Techniques? Database refactoring? Mapping techniques & technologies? Continuous unit testing? Up-to-date migration scripts

You can workiteratively and incrementally

if you choose to!

Page 12: Ambler Agile Modeling and Agile Data

12

Copyright 2001-2002 Scott W. Ambler 23

Making it Work in Practice

Copyright 2001-2002 Scott W. Ambler 24

AM, AD, and XP

Maintenance Phase

ProductionizingPhase

Iterations to ReleasePhase

PlanningPhase

ExplorationPhase

AchitecturalSpike

ReleasePlanning Iteration

AcceptanceTests

Spike

SmallReleases

SystemMetaphor

ReleasePlan

LatestVersion

CustomerApproval

UserStories

Requirements

Test Scenarios

ConfidentEstimates

UncertainEstimates

New User Story,Project Velocity Bugs

NextIteration

Page 13: Ambler Agile Modeling and Agile Data

13

Copyright 2001-2002 Scott W. Ambler 25

AM, AD,and XP

Stand UpMeeting at

9:00

Pair Up -- QuickDesign Session

Test Q&A

Code Refactor

Integrate orToss

Go Home at17:00

Copyright 2001-2002 Scott W. Ambler 26

AM, AD, and the Unified Process

Page 14: Ambler Agile Modeling and Agile Data

14

Copyright 2001-2002 Scott W. Ambler 27

When Will AM & AD Work For You?

? You are taking an agile approach to development? You are working iteratively and incrementally? Uncertain or volatile requirements? Your primary goal is to develop software? You have active stakeholder support and involvement? The development team is in control of its destiny? A true champion for agility exists? You have responsible and motivated developers? You have adequate resources available to you

Copyright 2001-2002 Scott W. Ambler 28

When Won’t AM & AD Work for You?

? One or more of the previous factors isn’t there

? Your organizational culture is geared towards a prescriptive culture

? You have a large and/or distributed team

Page 15: Ambler Agile Modeling and Agile Data

15

Copyright 2001-2002 Scott W. Ambler 29

Resources

? www.agilemodeling.com? www.agiledata.org? www.modelingstyle.info? www.agilealliance.org? www.ronin-intl.com

Copyright 2001-2002 Scott W. Ambler 30

Feel Free to Email Me!

Scott W. Ambler

[email protected]