The table below is large, sorry about that, and it
may not contain everything that you need (such as a
detailed description of the notation) which is why I
include links to good references that describe the
technique. For now you may want to refer to the
Agile
Models Distilled pages. Artifacts are listed in alphabetical order,
links to detailed descriptions of each artifact are
provided, and an explanation
of the columns are at the bottom of the page.
You may also want to refer to the article
Be Realistic About the UML.
How does this
chart support Agile Modeling (AM)? The
principles Multiple Models indicates that you
potentially need a wide range of models available to you, Know Your
Models advises that you need to
understand the strengths and weaknesses of each
technique to apply them appropriately, and Content is
More Important Than Representation implies that many
artifacts have alternates that may be applicable for
your situation. The
practices Create Several Models in Parallel and Iterate
to Another Artifact also require you to understand
when and when not to apply a modeling technique, and Discard
Temporary Models requires advice pertaining to when
you should keep an artifact.
|
Artifact
|
Common Applications
|
Common Misapplications
|
Iterate To
|
Suggested Media
|
When to Keep It
|
Likely Value as Keeper
|
Alternate/Similar Artifact
|
Also Known As
|
References
|
|
Activity Diagram (UML)
|
Analysis or design of a
business process or
business rule
Design of the logic flow of a
complex operation
|
-
|
Class diagram
Essential use case
Organization chart
Source code
System use case
Usage scenario
Use case diagram
User story
|
Hand-drawn sketch
Drawing tool
CASE tool
|
To provide a high-level
overview of the logic for a business process
|
Low
|
Data
flow diagram
Flow chart
Specification
language
Workflow
diagram
|
-
|
UML
Activity diagram style guidelines
|
|
Business Rule Definition
|
Requirements identification
|
Documentation of technical
requirements
|
Source code
Class diagram
CRC model
Essential use case
Flow chart
System use case
Usage scenario
Workflow diagram
|
Index card
Word processor
|
When exact definition of
business rules are required in a
stakeholder-readable format.
|
Medium
|
User story
Source code
|
Shall statement
|

www.businessrulesgroup.org
www.brcommunity.com
|
|
Change Case
|
Exploration of future
potential requirements
|
Justification to overbuild
software to meet "potential"
requirements
|
Constraint
CRC model
Technical requirement
Usage scenario
Use case
User story
Workflow diagram
|
Index card
Word processor
|
When you need to justify
design or architecture decisions to project
stakeholders AND they require documentation
|
Low
|
-
|
Future requirements
Architectural requirements
|

|
|
Class Diagram (UML)
|
Conceptual modeling
Domain modeling
Exploration of the structure
of object-oriented software
|
Physical database modeling
Domain model documentation
for users
Only design diagram for OO
software
|
Activity diagram
Collaboration diagram
Component diagram
CRC model
Data model
Sequence diagram
Source code
State chart diagram
Usage scenario
User story
|
Hand-drawn sketch
CASE tool
|
You need to communicate the
internal structure of your software to others.
|
Low
|
Class Responsibility
Collaborator (CRC) Model
|
Object model
|

UML
Class diagram style guidelines
|
|
Class Responsibility
Collaborator (CRC) Model
|
Domain modeling
Conceptual modeling
Exploration of the design of
the structure
of object-oriented software
|
-
|
Business rule
Change case
Constraint
Class diagram
Essential use case
Organization chart
System use case
Usage scenario
Use case diagram
User story
|
Index card
|
Typically discarded after
use.
|
Very Low
|
Class diagram
|
CRC cards
Index cards
|
C2
Wiki Web Description of CRC Cards
|
|
Communication Diagram (UML)
|
Exploration of the dynamic
nature of complex object interactions
|
-
|
Class diagram
Component diagram
Deployment diagram
Robustness diagram
Source code
System use case
Usage scenario
User interface flow diagram
User interface prototype
User story
|
Hand-drawn sketch
CASE tool
|
Typically discarded after use
May be kept to show design of
a complex portion of software
|
Very Low
|
Sequence Diagram
|
Interaction diagram
|

UML
Communication diagram style guidelines
|
|
Component Diagram (UML)
|
Logical business architecture modeling
Physical architectural modeling of a
component-based software system
|
|
Class diagram
Deployment diagram
Sequence diagram
|
Hand-drawn sketch
CASE tool
|
Often kept to depict high-level architecture
|
High
|
-
|
-
|
 
UML
Component diagram style guidelines
|
|
Constraint Definition
|
Definition of a business or
technical constraint
|
Definition of a
Business rule
Definition of a technical
requirement
NOTE: There's a fuzzy line
between constraints and
business rules as well as
with technical requirements
|
Change case
CRC model
Deployment diagram
Essential use case
System use case
Technical requirement
Usage scenario
Workflow diagram
|
Index card
Word processor
|
Kept as part of official
definition of requirements
|
Medium
|
User Story
|
Shall statement
|
 
|
|
Data Flow Diagram (DFD)
|
Analysis of existing business
processes
Design of new or updated
business processes
|
Over specification of a
system by "drilling down" into sub
processes with more DFDs.
Significant effort to level
balance between a DFD and its sub-DFDs
|
Change case
Constraint
Data model
Deployment diagram
Organization chart
Structure diagram
System Use case
Usage scenario
Use case diagram
User story
Workflow diagram
|
Hand-drawn sketch
Drawing tool
CASE tool
|
To communicate overall design
of a process-intensive system
|
Low
|
Activity diagram
Workflow diagram
|
Process model
|
 
|
|
Data Model
|
Physical database design
Conceptual or domain modeling
for a
data warehouse
Explore relationships between
a handful of entities
|
Conceptual modeling of OO
software
Domain modeling for OO
software
Exploration of structure of
OO software
A primary driver of the
structure of a
Class diagram
|
Class diagram
Data flow diagram
Deployment diagram
Source code
System use case
Usage scenario
User story
Workflow
diagram
|
Hand-drawn sketch
CASE tool
|
To document physical database
design
As a contract model between
the database owners and other systems accessing
the database
|
Very High
|
-
|
Persistence Model
Entity-Relationship Diagram
|

Data Modeling 101: An Agile Data Article
A
UML Profile for Data Modeling
The
Process of Database Refactoring
Catalog
of Database Refactorings
|
|
Deployment Diagram (UML)
|
Identification of physical
architecture for a system
Identification of how
software components are and/or will be deployed to
physical architecture
|
?
|
Activity diagram
Collaboration diagram
Component model
Constraint
Data model
External interface
specification
Sequence diagram
Usage scenario
User story
Workflow diagram
|
Hand-drawn sketch
CASE tool
|
To document technical
architecture of your system
|
Medium
|
Network Diagram
|
-
|

UML
Deployment diagram style guidelines
|
|
Essential Use Case
|
Identification of usage
requirements for a system
Identification of
enterprise-level requirements for an organization
|
-
|
Change case
Constraint
Essential user interface flow
prototype
Robustness diagram
System use case
Technical requirement
|
Word processor
CASE tool
|
Part of official requirements
documentation for a system
|
Medium
|
Usage scenario
User Story
|
Business use case |

|
|
Essential User Interface
Prototype
|
Exploration of the
requirements for the user interface of a system
|
-
|
Business rule
Constraint
Essential use case
User interface flow diagram
User interface prototype
|
Paper (including Post-It notes)
Hand-drawn sketch
|
Typically discarded
|
Very Low
|
-
|
Abstract prototype
Low-Fidelity Prototype
|
|
|
External Interface Specification (Contract
Model) |
Definition of interface (via an API, data feed,
...) to an external system
|
?
|
Data flow diagram
Data model
Deployment diagram
Workflow diagram
|
Word processor
CASE tool
|
As a contract model between your system and an
external one
|
Very High
|
|
|
?
|
|
Features
|
Exploration of requirements
|
?
|
Acceptance test case
Business rule definition
Class diagram
Class Responsibility
Collaborator (CRC) model
Collaboration diagram
Constraint definition
Essential user interface
prototype
Glossary
Source code
User interface prototype
|
Index card
Word processor
|
When you need a feature list describing your
system
|
Medium
|
Business rule
Constraint
Technical requirement
User story
|
Shall statement
|
 |
|
Flow Chart
|
Definition of complex logic
|
Over specification of
logic when source code or specification language
would do just as well
|
Class diagram
Collaboration diagram
Sequence diagram
System use case
Usage scenario
User story
|
Hand-drawn sketch
Drawing tool
CASE tool
|
Typically discarded
|
Low
|
Activity diagram
Specification
language
|
-
|

|
|
Glossary |
Definition of common terms |
To much focus on getting it perfect. |
Class diagram
Data model
System use case
Usage scneario |
Word processor |
Official definitions of terms. |
Medium |
- |
Definitions |
 |
|
Network
Diagram |
Analysis of
existing technical infrastructure
Design of proposed technical infrastructure
|
- |
Component
diagram
System use case
Workflow diagram
|
Hand-drawn sketch
Drawing tool
CASE tool
|
Official
description of technical infrastructure for your
system or organization |
High |
Deployment
diagram |
Technical
Architecture Diagram |
 |
|
Object Role Model (ORM) Diagram |
Exploring
domain concepts with stakeholders
Conceptual
modeling |
- |
Data model
UML
Class diagram |
Hand-drawn sketch |
Official
conceptual model for your system |
Low |
CRC model
Data model
UML Class Diagram |
- |
 
www.orm.net
Object Role Model (ORM) Diagram Overview |
|
Organization Chart
|
Depiction of existing or proposed organization
structure
|
-
|
Activity diagram
Class Responsibility Collaborator Model
Data flow diagram
Use case diagram
Workflow diagram
|
Index cards & string
Hand-drawn sketch
Drawing tool
|
Official description of the organization structure
of your enterprise or portion thereof
|
Medium
|
None
|
None
|
?
|
|
Package Diagram (UML)
|
High-level overview diagram that depicts the
logical organization of requirements or a domain
model
High-level overview diagram depicting the
physical organization of classes into packages
To organize work, such as the assignment of
requirements to specific subteams
|
-
|
Class diagram
Use case diagram
|
CASE tool
Index cards
Hand-drawn sketch
|
When a CASE tool diagram is used to generate code
into specific packages
As an overview diagram depicting the
organization of requirements
|
Medium
|
Component diagram
|
Logical Package Diagram
|
 Robert
Martin's Papers on Granularity, Stability, and OO
Quality Metrics.
Kirk
Knoernschild's papers on package dependency and
the Acyclic Dependency principle.
Package
diagram style guidelines
|
|
Physical Prototype
|
Explore ergonomic issues of a system
|
-
|
Activity diagram
Deployment diagram
Network diagram
System use case
Usage scenario
User story
Workflow diagram
|
-
|
Typically discarded
|
Very low
|
-
|
-
|
?
|
|
Robustness Diagram
|
Analyze use cases to identify
candidate classes and major user interface
elements (screens, reports, ...)
|
To design user interface flow
for a system
To design static structure of
OO software
|
Collaboration diagram
Sequence diagram
System use case
Usage scenario
User interface flow diagram
User interface prototype
User story
|
Hand-drawn sketch
CASE tool
|
Typically discarded
|
Low
|
-
|
-
|

www.iconixsw.com
Robustness Diagram
Overview
|
|
Role Play
|
Exploration of the usage requirements for a system
Verification that a system design will meet the
needs of its users
|
-
|
Business rule
Change case
Constraint
Essential use case
System use case
Technical requirement
Usage scenario
User interface flow diagram
User interface prototype
User story
|
-
|
N/A
|
N/A
|
-
|
Play acting
|
?
|
|
Sequence Diagram (UML)
|
Modeling the logic of a usage
scenario or a path though one or more use cases
(or part(s) thereof)
|
Modeling of the logic for
every single path through all the usage
requirements for your system
|
Class diagram
Robustness diagram
System use case
Usage scenario
User story
|
Hand-drawn sketch
CASE tool
|
Typically discarded
|
Very low
|
Collaboration Diagram
|
Interaction diagram
|

UML
Sequence diagram style guidelines
|
|
Specification Language (e.g. OCL)
|
Define precise logic of a process, operation,
constraint, or
business rule
|
Over specification on diagrams
Detailed documentation for project stakeholders
that likely don't understand the language
|
Business rule
Class diagram
Collaboration diagram
Component diagram
Dataflow diagram
Workflow diagram
|
CASE tool
Word processor
|
Part of your official definition of requirements
|
Medium
|
Activity diagram
Flow chart
|
-
|
|
|
State
Machine Diagram (UML)
|
Design the behavior of a
complex class
Analyze a complex business
process
|
Design the behavior of
several classes
Model process flow
Design the behavior of a
simple class and/or one without interesting
behavior based on state
|
Business rule
Class diagram
Source code
System use case
Usage scenario
Table
|
Hand-drawn sketch
CASE tool
|
May be kept as part of your
design documentation for complex class or process
|
Low
|
-
|
State diagram
Statechart
State
transition diagram
Petri
nets
|

UML
State machine diagram style guidelines
|
|
Structure Diagram
|
Explore the "call" hierarchy within the
design of procedural software
|
Design of object-oriented software
|
Dataflow diagram
Source code
|
Hand-drawn sketch
|
High-level design of structured software
|
Low
|
Collaboration diagram
Sequence diagram
|
Call diagram
Structure chart
|
Jackson
Structure Diagrams
|
|
System Use Case
|
Analysis of usage
requirements
High-level design of
implementation of usage requirements
|
Identification of usage
requirements for a system
The ONLY source of system
specification for a system (e.g. you should avoid use-case
driven [INSERT TERM HERE])
|
Collaboration diagram
Essential use case
Flow chart
Robustness diagram
Sequence diagram
State chart diagram
Usage scenario
Use case diagram
User interface prototype
|
Word processor
CASE tool
|
Part of your design
documentation for your system
|
Low
|
Usage scenario
User Story
|
Traditional Use Case
|
 
|
|
Table
|
Definition of complex
business rules, constraints, or technical
requirements
|
?
|
See
business rules,
constraints, & technical requirements
|
Word processor
|
Part of your official
requirements definition
|
Medium
|
-
|
-
|
?
|
|
Technical Requirement
|
Requirements identification
|
Identification of business
requirements
Identification of "gold
plate" requirements that the technical staff
want to implement
|
Change case
Constraint
Deployment diagram
Network diagram
Workflow diagram
|
Index card
Word processor
|
Part of your official
requirements definition
|
Medium
|
-
|
Non-Functional Requirement
Shall statement
|
|
|
Use Case Diagram (UML)
|
Overview diagram indicating
major usage requirements
Analysis of usage
requirements of an existing system
|
Process diagramming
Diagramming without
supporting use cases
|
Activity diagram
Data flow diagram
Essential use case
Organization chart
System use case
|
Hand-drawn sketch
Drawing tool
CASE tool
|
Overview of your usage
requirements
|
Medium
|
-
|
-
|
  
UML
Use case diagram style guidelines
|
|
Usage Scenario
|
Exploration of the usage of a
system
|
?
|
Activity diagram
Business rule
Constraint
Deployment diagram
Flow chart
Network diagram
System use case
Workflow diagram
|
Index card
Word processor
|
Typically discarded
|
Very low
|
System Use Case
User Story
|
Use case scenario
|

|
|
User Interface Flow Diagram
|
Exploration of user interface
requirements
High-level design of an
application's user interface
|
?
|
Essential use case
Robustness diagram
System use case
User interface prototype
User story
|
Hand-drawn sketch
Drawing tool
CASE tool
|
Part of official design
documentation to provide overview of your user
interface design
|
Medium
|
-
|
Interface flow diagram
User interface navigation
diagram
|

|
|
User Interface Prototype
|
Detailed design of a user
interface
|
ONLY source of system
specification
Identification of user
interface requirements
?
|
Business rule
Constraint
Essential use case
Robustness diagram
Source code
System use case
User interface flow diagram
Workflow diagram
|
Hand-drawn sketch
User interface prototyping tool
|
Typically discarded or
evolved into working system
|
Low
|
-
|
-
|

|
|
User Story
|
Exploration of usage
requirements
Reminder to have a
conversation with a project stakeholder
|
?
|
CRC model
Collaboration diagram
Deployment diagram
Robustness diagram
Sequence diagram
Source code
Workflow diagram
|
Index card
Word processor
|
Typically discarded
|
Very Low
|
Business Rule
Constraint
Essential Use Case
System Use Case
Use Case Scenario
|
-
|

|
|
Workflow Diagram
|
Analysis of existing business process
Design of new business process
|
ONLY source of system specification
?
|
Business rule
Change case
Constraint
Deployment diagram
Organization chart
System use case
Usage scenario
User story
|
Hand-drawn sketch
Drawing tool
CASE tool
|
Part of your design documentation describing the
supported business processes
|
Medium
|
Activity diagram
Dataflow diagram
Control flow diagram
|
Coats-Mellon
Notation
|
?
|