SlideShare a Scribd company logo
1 of 44
Download to read offline
Agile Companies Models and
Implementation
Amir Moghimi
One of the greatest pains to
human nature is the pain of a
new idea
Walter Bagehot
2
successful agile programs
can
Increase productivity per developer by 27%
Reduce launch delays by 30%
Decrease defects in production by a factor of
3x
3
The three levels of successful
agile implementation
4
To deploy agile development at scale,
companies will need to alter their operating
models and organizational structures
5
Agile Modeling (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
6
The Core of AM You Need to
Adopt at Least the Core
•
•
•
•
•
•
•
•
•
•
•
Core Principles
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
•
•
•
•
•
•
•
•
•
•
•
•
•
Core Practices
Active Stakeholder Participation
Apply the Right Artifact(s)
Collective Ownership
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
Single Source Information
Use the Simplest Tools
7
How the AM Practices Fit
Together?
AM’s core practices are organized into four
categories:
1. Teamwork
2. Iterative and Incremental
3. Simplicity
4. Validation
8
How AM’s practices relate to one another
9
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!
10
Agile Models
11
Modeling is similar to planning
most of the value is in the act of
modeling, not the model itself
12
Feedback
The only way that you can determine whether your
work is correct is to obtain feedback, and that
includes feedback regarding your models.
Develop the model as a team
Review the model with your target audience
Implement the model
Acceptance testing
13
Tests as Primary Artifacts
Reduce Documentation by Single Sourcing Information
14
Agile Documentation
Travel light – You need far less documentation than you think
Agile documents:
Maximize stakeholder investment
Are concise
Fulfill a purpose
Describe information that is less likely to change
Describe “good things to know”
Have a specific customer and facilitate the work efforts of that customer
Are sufficiently accurate, consistent, and detailed
Are sufficiently indexed
Valid reasons to document:
Your project stakeholders require it
To define a contract model
To support communication with an external group
To think something through
15
Agile Modeling Values
Communication
Simplicity
Feedback
Courage
Humility
16
Communication Modes
Always Strive to Use the Most Effective Approach
17
Communication and Agile Modeling
18
Nurturing an Agile Culture
Overcome the misconceptions that surround
modeling
Think small
Loosen up a bit
Rigidly support project stakeholder rights and
responsibilities
Rethink presentations to stakeholders
19
The Cons and Pros of Simple Tools
Simple tools are inclusive
Simple tools provide tactile feedback
Simple tools are inexpensive
Simple tools are non-threatening to users
Simple tools are quick to use
Simple tools are portable
Simple tools can be used in combination with more complex ones
Simple tools promote iterative and incremental development
Simple tools aren’t acceptable to many people
Simple tools are limited
Simple tools do not support distributed teams easily
20
Rigidly Support Rights and
Responsibilities
Minimize the number of presentations that you give
Try to find an alternative
Turn the presentation into a working session
Make project stakeholders aware of the costs
Project stakeholders decide whether they wish to have a
presentation
Keep it simple
Minimize the number of people involved in preparation
Minimize the number of people that attend the presentation
21
Agile Documentation
Why do people document?
When does a model become a document?
What are the trade-offs associated with documentation?
What does it mean to travel light?
When is a document agile?
What type of documents do you need?
Effective hand-offs
Strategies for increasing the agility of documentation
22
UML state chart that depicts the lifecycle of an agile model
23
Strategies for Increasing the
Agility of Documentation
Focus on the customer(s)
Keep it just simple enough, but not too simple
The customer determines sufficiency
Document with a purpose
Prefer other forms of communication to documentation
Put the documentation in the most appropriate place
Wait for what you are documenting to stabilize
Display models publicly
Start with models you actually keep current
Require people to justify documentation requests
Write the fewest documents with least overlap
24
Critical Points regarding Agile
Documentation
1. The fundamental issue is effective communication, not documentation.
2. Documentation should be ”lean and mean.”
3. Travel as light as you possibly can.
4. Documentation should be just good enough.
5. Models are not necessarily documents, and documents are not necessarily
models.
6. Documentation is as much a part of the system as the source code.
7. Your team’s primary goal is to develop software; its secondary goal is to
enable your next effort.
8. The benefit of having documentation must be greater than the cost of
creating and maintaining it.
25
Critical Points Regarding Agile
Documentation
9. Never trust the documentation.
10. Each system has its own unique documentation needs; one
size does not fit all.
11. Ask whether you NEED the documentation, and why you
believe you NEED the documentation, not whether you want it.
12. The investment in system documentation is a business
decision, not a technical one.
13. Create documentation only when you need it—Don’t create
documentation for the sake of documentation.
14. Update documentation only when it hurts.
15. The customer, not the developer, determines whether
documentation is sufficient.
26
Agile Modeling Throughout
the XP Lifecycle
27
Typical XP developer’s day
28
The Modeling Disciplines
1. Business Modeling
2. Requirements
3. Analysis and Design
4. Infrastructure Management
29
Non-Modeling Disciplines
Implementation
Test
Project Management
Configuration and Change Management
Environment
Deployment
Operations and Support
30
Agile Analysis and Design
1.
2.
3.
4.
5.
Architectural Modeling
Logical view
Process view
Development view
Physical view
Scenario (use case) view
31
Infrastructure Models
1- Enterprise requirements model. This model
reflects your organization’s high level requirements
(Jacobson, Griss, and Jonsson 1997)
2- Domain architecture model. This model depicts
the high-level business structure of your systems
that depicts the shared components or services
available to your organization’s business systems
3- Technical architecture model. This model
depicts the high-level technical infrastructure that
supports your business
32
Scaling AM with Core
Architecture Teams




Recognize that it is very difficult to make
this discipline work effectively
Don’t blur roles between enterprise teams
and development teams
Educate, educate, educate
Recognize that you likely need to change
33
How to overcome Organizational
and Cultural Challenges?
Skeptical developers
Overzealous process police
Paper pushers with power
Cookbook philosophy
Inability to accept blame
Excessive documentation due to fear of
losing everyone
34
Agile Software Requirements Management
Changing Requirements Are a Competitive Advantage if You Can Act
on Them
35
Model With Others
The modeling equivalent of pair
programming
You are fundamentally at risk
whenever someone works on
something by themselves
Several heads are better than one
36
Effectiveness of Requirements
Gathering Techniques
37
Relative Effectiveness of User
Representatives
A c tu a l S ta k e h o ld e r
P ro d u c t M a n a g e r
B u s in e s s  A n a ly s t a s  U s e r
P e rs o n a s
Effectiveness
C o p yr ig h t 2 0 0 5  S co tt W . A m b le r
38
Factors to Determine If You’re Not
Engaged in Agile Modeling
39
Glossary of Definitions and Abbreviations
Agile model A model that is just barely good enough. This
means that it fulfills its 'purpose and no more; is
understandable to its intended audience; is simple,
sufficiently accurate, consistent, and detailed; and
investment in its creation and maintenance provides positive
value to your project.
Agile Modeling (AM) A chaordic, practice-based methodology
for effectively modeling software-based systems.
Analyst A developer responsible for working directly with
project stakeholders to potentially gather/elicit information
from them, document that information, and/or validate that
information.
Artifact A deliverable or work product
CASE Computer-aided system engineering
Chaordic The behavior of a self-governing organism,
organization, or system that harmoniously blends chaos and
order
40
Glossary of Definitions and Abbreviations
Class Responsibility Collaborator (CRC) card A standard index card
that has been divided into three sections, one indicating the name of
the class that the card represents, one listing the responsibilities of
the class, and the third listing the names of the other classes that this
one collaborates with to fulfill its responsibilities.
Documentation handoff This occurs when one group or person
provides documentation to another group or person
IDE Integrated Development Environment
Model An abstraction that describes one or more aspects of a
problem or a potential solution to that problem. Traditionally, models
are thought of as zero or more diagrams plus any corresponding
documentation. However, non-visual artifacts such as collections of
CRC cards, a textual description of one or more business rules, or the
structured English description of a business process are also
considered to be models.
41
Agile Modeling Resources
The Agile Modeling Web site
www.agilemodeling.com
The Agile Modeling mailing list
www.agilemodeling.com/feedback.htm
The Agile Modeling Workshop
www.ronin-intl.com/services/agileModeling.htm
42
References
Ambler, S.W. (2002). Agile Modeling: Effective Practices for XP and the UP. New York:
John Wiley & Sons.
Ambler, S.W. (2003). Agile Database Techniques. New York: John Wiley & Sons.
Ambler, S.W. (2004). The Object Primer 3rd Edition: AMDD with UML 2. New York:
Cambridge University Press.
Ambler, S.W. (2005). The Elements of UML 2.0 Style. New York: Cambridge University
Press.
Beck, K. (2000). Extreme Programming Explained – Embrace Change. Reading, MA:
Addison Wesley Longman, Inc.
Beck, K. & Fowler, M. (2001). Planning Extreme Programming. Reading, MA: Addison
Wesley Longman, Inc.
Constantine, L.L. & Lockwood, L.A.D. (1999). Software For Use: A Practical Guide to the
Models and Methods of Usage-Centered Design. New York: ACM Press.
Digital McKinsey, Agile Compendium, August 2016.
Fowler, M. (1997). Analysis Patterns: Reusable Object Models. Menlo Park, California:
Addison Wesley Longman, Inc.
Larman, C. (2004). Agile and Iterative Development: A Manager’s Guide. Reading, MA:
Addison Wesley Longman, Inc.
Palmer, S.R. & Felsing, J.M. (2002). A Practical Guide to Feature Driven Development.
Upper Saddle River, NJ: Prentice Hall PTR. 43
Online Resources
www.agilemodeling.com
www.agilealliance.org
www.controlchaos.com
www.ambysoft.com
www.agiledata.org
www.enterpriseunifiedprocess.com
www.mckinsey.com
44

More Related Content

What's hot

Agile software development
Agile software developmentAgile software development
Agile software developmentRajesh Piryani
 
Rational Unified Process
Rational Unified ProcessRational Unified Process
Rational Unified ProcessKumar
 
What is Agile Methodology?
What is Agile Methodology?What is Agile Methodology?
What is Agile Methodology?QA InfoTech
 
Requirements prioritization
Requirements prioritizationRequirements prioritization
Requirements prioritizationSyed Zaid Irshad
 
Software Architecture and Design Introduction
Software Architecture and Design IntroductionSoftware Architecture and Design Introduction
Software Architecture and Design IntroductionUsman Khan
 
Agile process (Scrum Framework)
Agile process (Scrum Framework)Agile process (Scrum Framework)
Agile process (Scrum Framework)Jakir Hosen Khan
 
What is agile model?Working of agile model
What is agile model?Working of agile modelWhat is agile model?Working of agile model
What is agile model?Working of agile modelzoomers
 
Agile Manufacturing Information System
Agile Manufacturing Information System Agile Manufacturing Information System
Agile Manufacturing Information System SunilKr94
 
Agile software development and extreme Programming
Agile software development and extreme Programming  Agile software development and extreme Programming
Agile software development and extreme Programming Fatemeh Karimi
 
Requirements Engineering Process Improvement
Requirements Engineering Process ImprovementRequirements Engineering Process Improvement
Requirements Engineering Process ImprovementIan Sommerville
 
Agile Testing Process
Agile Testing ProcessAgile Testing Process
Agile Testing ProcessIntetics
 
Introduction To Agile
Introduction To AgileIntroduction To Agile
Introduction To AgileKnoldus Inc.
 
Requirements Engineering @ Agile
Requirements Engineering @ AgileRequirements Engineering @ Agile
Requirements Engineering @ AgileGirish Khemani
 
Agile Testing Strategy
Agile Testing StrategyAgile Testing Strategy
Agile Testing Strategytharindakasun
 
Introduction agile scrum methodology
Introduction agile scrum methodologyIntroduction agile scrum methodology
Introduction agile scrum methodologyAmit Verma
 

What's hot (20)

Agile software development
Agile software developmentAgile software development
Agile software development
 
Rational Unified Process
Rational Unified ProcessRational Unified Process
Rational Unified Process
 
What is Agile Methodology?
What is Agile Methodology?What is Agile Methodology?
What is Agile Methodology?
 
Requirements prioritization
Requirements prioritizationRequirements prioritization
Requirements prioritization
 
Agile Teams
Agile TeamsAgile Teams
Agile Teams
 
Software Architecture and Design Introduction
Software Architecture and Design IntroductionSoftware Architecture and Design Introduction
Software Architecture and Design Introduction
 
Scrum ppt
Scrum pptScrum ppt
Scrum ppt
 
Agile process (Scrum Framework)
Agile process (Scrum Framework)Agile process (Scrum Framework)
Agile process (Scrum Framework)
 
Agile
AgileAgile
Agile
 
What is agile model?Working of agile model
What is agile model?Working of agile modelWhat is agile model?Working of agile model
What is agile model?Working of agile model
 
Agile
AgileAgile
Agile
 
Agile Manufacturing Information System
Agile Manufacturing Information System Agile Manufacturing Information System
Agile Manufacturing Information System
 
Agile software development and extreme Programming
Agile software development and extreme Programming  Agile software development and extreme Programming
Agile software development and extreme Programming
 
Requirements Engineering Process Improvement
Requirements Engineering Process ImprovementRequirements Engineering Process Improvement
Requirements Engineering Process Improvement
 
Agile Testing Process
Agile Testing ProcessAgile Testing Process
Agile Testing Process
 
Introduction To Agile
Introduction To AgileIntroduction To Agile
Introduction To Agile
 
Requirements Engineering @ Agile
Requirements Engineering @ AgileRequirements Engineering @ Agile
Requirements Engineering @ Agile
 
Product backlog
Product backlogProduct backlog
Product backlog
 
Agile Testing Strategy
Agile Testing StrategyAgile Testing Strategy
Agile Testing Strategy
 
Introduction agile scrum methodology
Introduction agile scrum methodologyIntroduction agile scrum methodology
Introduction agile scrum methodology
 

Similar to Agile modeling

System Development Overview Assignment 3
System Development Overview Assignment 3System Development Overview Assignment 3
System Development Overview Assignment 3Ashley Fisher
 
Strengths And Weaknesses Of Software Development
Strengths And Weaknesses Of Software DevelopmentStrengths And Weaknesses Of Software Development
Strengths And Weaknesses Of Software DevelopmentBrianna Johnson
 
Chapter1 Advanced Software Engineering overview
Chapter1 Advanced Software Engineering overviewChapter1 Advanced Software Engineering overview
Chapter1 Advanced Software Engineering overviewBule Hora University
 
Agile Project Management Methods of ERP
Agile Project Management Methods of ERPAgile Project Management Methods of ERP
Agile Project Management Methods of ERPlisa_yogi
 
Documentation Workbook Series. Step 3 Presenting Information (Visual Document...
Documentation Workbook Series. Step 3 Presenting Information (Visual Document...Documentation Workbook Series. Step 3 Presenting Information (Visual Document...
Documentation Workbook Series. Step 3 Presenting Information (Visual Document...Adrienne Bellehumeur
 
Design thinking in IT Industries.pptx
Design thinking in IT Industries.pptxDesign thinking in IT Industries.pptx
Design thinking in IT Industries.pptx1sv09me054
 
Different Methodologies Used By Programming Teams
Different Methodologies Used By Programming TeamsDifferent Methodologies Used By Programming Teams
Different Methodologies Used By Programming TeamsNicole Gomez
 
Sjaak Brinkkemper: Visual Business Modeling Techniques for the Software Industry
Sjaak Brinkkemper: Visual Business Modeling Techniques for the Software IndustrySjaak Brinkkemper: Visual Business Modeling Techniques for the Software Industry
Sjaak Brinkkemper: Visual Business Modeling Techniques for the Software IndustryCBOD ANR project U-PSUD
 
Modern software architect post the agile wave
Modern software architect post the agile waveModern software architect post the agile wave
Modern software architect post the agile waveNiels Bech Nielsen
 
Project Requriement Management Vs Agile software development
Project Requriement Management Vs  Agile software developmentProject Requriement Management Vs  Agile software development
Project Requriement Management Vs Agile software developmentbizpresenter
 
Welingkar First Year Project- ProjectWeLike
Welingkar First Year Project- ProjectWeLikeWelingkar First Year Project- ProjectWeLike
Welingkar First Year Project- ProjectWeLikePrinceTrivedi4
 
What is Rational CLM?
What is Rational CLM?What is Rational CLM?
What is Rational CLM?IBM Danmark
 
Unit_1_Agile development.pdf about the script of software
Unit_1_Agile development.pdf about the script of softwareUnit_1_Agile development.pdf about the script of software
Unit_1_Agile development.pdf about the script of softwarezeelp3114
 
Agile intro resources
Agile intro resourcesAgile intro resources
Agile intro resourcesAnwar Sadat
 
SDA - 6 -Chapter Six.pdf
SDA - 6 -Chapter Six.pdfSDA - 6 -Chapter Six.pdf
SDA - 6 -Chapter Six.pdfKokebe2
 
Managing Software Project
Managing Software ProjectManaging Software Project
Managing Software ProjectAnas Bilal
 

Similar to Agile modeling (20)

System Development Overview Assignment 3
System Development Overview Assignment 3System Development Overview Assignment 3
System Development Overview Assignment 3
 
A littlebook about agile
A littlebook about agileA littlebook about agile
A littlebook about agile
 
Strengths And Weaknesses Of Software Development
Strengths And Weaknesses Of Software DevelopmentStrengths And Weaknesses Of Software Development
Strengths And Weaknesses Of Software Development
 
Chapter1 Advanced Software Engineering overview
Chapter1 Advanced Software Engineering overviewChapter1 Advanced Software Engineering overview
Chapter1 Advanced Software Engineering overview
 
Agile Project Management Methods of ERP
Agile Project Management Methods of ERPAgile Project Management Methods of ERP
Agile Project Management Methods of ERP
 
Documentation Workbook Series. Step 3 Presenting Information (Visual Document...
Documentation Workbook Series. Step 3 Presenting Information (Visual Document...Documentation Workbook Series. Step 3 Presenting Information (Visual Document...
Documentation Workbook Series. Step 3 Presenting Information (Visual Document...
 
Design thinking in IT Industries.pptx
Design thinking in IT Industries.pptxDesign thinking in IT Industries.pptx
Design thinking in IT Industries.pptx
 
Different Methodologies Used By Programming Teams
Different Methodologies Used By Programming TeamsDifferent Methodologies Used By Programming Teams
Different Methodologies Used By Programming Teams
 
Sjaak Brinkkemper: Visual Business Modeling Techniques for the Software Industry
Sjaak Brinkkemper: Visual Business Modeling Techniques for the Software IndustrySjaak Brinkkemper: Visual Business Modeling Techniques for the Software Industry
Sjaak Brinkkemper: Visual Business Modeling Techniques for the Software Industry
 
Modern software architect post the agile wave
Modern software architect post the agile waveModern software architect post the agile wave
Modern software architect post the agile wave
 
Project Requriement Management Vs Agile software development
Project Requriement Management Vs  Agile software developmentProject Requriement Management Vs  Agile software development
Project Requriement Management Vs Agile software development
 
Km2
Km2Km2
Km2
 
Welingkar First Year Project- ProjectWeLike
Welingkar First Year Project- ProjectWeLikeWelingkar First Year Project- ProjectWeLike
Welingkar First Year Project- ProjectWeLike
 
Innovate session-2333
Innovate session-2333Innovate session-2333
Innovate session-2333
 
What is Rational CLM?
What is Rational CLM?What is Rational CLM?
What is Rational CLM?
 
Agile vs Len Methodology
Agile vs Len MethodologyAgile vs Len Methodology
Agile vs Len Methodology
 
Unit_1_Agile development.pdf about the script of software
Unit_1_Agile development.pdf about the script of softwareUnit_1_Agile development.pdf about the script of software
Unit_1_Agile development.pdf about the script of software
 
Agile intro resources
Agile intro resourcesAgile intro resources
Agile intro resources
 
SDA - 6 -Chapter Six.pdf
SDA - 6 -Chapter Six.pdfSDA - 6 -Chapter Six.pdf
SDA - 6 -Chapter Six.pdf
 
Managing Software Project
Managing Software ProjectManaging Software Project
Managing Software Project
 

Recently uploaded

The Role of Histograms in Exploring Data Insights
The Role of Histograms in Exploring Data InsightsThe Role of Histograms in Exploring Data Insights
The Role of Histograms in Exploring Data InsightsCIToolkit
 
Hajra Karrim: Transformative Leadership Driving Innovation and Efficiency in ...
Hajra Karrim: Transformative Leadership Driving Innovation and Efficiency in ...Hajra Karrim: Transformative Leadership Driving Innovation and Efficiency in ...
Hajra Karrim: Transformative Leadership Driving Innovation and Efficiency in ...dsnow9802
 
Operations Management -- Sustainability and Supply Chain Management.pdf
Operations Management -- Sustainability and Supply Chain Management.pdfOperations Management -- Sustainability and Supply Chain Management.pdf
Operations Management -- Sustainability and Supply Chain Management.pdfcoolsnoopy1
 
Shaping Organizational Culture Beyond Wishful Thinking
Shaping Organizational Culture Beyond Wishful ThinkingShaping Organizational Culture Beyond Wishful Thinking
Shaping Organizational Culture Beyond Wishful ThinkingGiuseppe De Simone
 
Management 11th Edition - Chapter 11 - Adaptive Organizational Design
Management 11th Edition - Chapter 11 - Adaptive Organizational DesignManagement 11th Edition - Chapter 11 - Adaptive Organizational Design
Management 11th Edition - Chapter 11 - Adaptive Organizational Designshakkardaddy
 
The Final Activity in Project Management
The Final Activity in Project ManagementThe Final Activity in Project Management
The Final Activity in Project ManagementCIToolkit
 
Adapting to Change: Using PEST Analysis for Better Decision-Making
Adapting to Change: Using PEST Analysis for Better Decision-MakingAdapting to Change: Using PEST Analysis for Better Decision-Making
Adapting to Change: Using PEST Analysis for Better Decision-MakingCIToolkit
 
Mind Mapping: A Visual Approach to Organize Ideas and Thoughts
Mind Mapping: A Visual Approach to Organize Ideas and ThoughtsMind Mapping: A Visual Approach to Organize Ideas and Thoughts
Mind Mapping: A Visual Approach to Organize Ideas and ThoughtsCIToolkit
 
Advancing Enterprise Risk Management Practices- A Strategic Framework by Naga...
Advancing Enterprise Risk Management Practices- A Strategic Framework by Naga...Advancing Enterprise Risk Management Practices- A Strategic Framework by Naga...
Advancing Enterprise Risk Management Practices- A Strategic Framework by Naga...Nagarjuna Reddy Aturi
 
Choosing the best strategy qspm matrix.pptx
Choosing the best strategy qspm matrix.pptxChoosing the best strategy qspm matrix.pptx
Choosing the best strategy qspm matrix.pptxMadan Karki
 
HOTEL MANAGEMENT SYSTEM PPT PRESENTATION
HOTEL MANAGEMENT SYSTEM PPT PRESENTATIONHOTEL MANAGEMENT SYSTEM PPT PRESENTATION
HOTEL MANAGEMENT SYSTEM PPT PRESENTATIONsivani14565220
 
Paired Comparison Analysis: A Practical Tool for Evaluating Options and Prior...
Paired Comparison Analysis: A Practical Tool for Evaluating Options and Prior...Paired Comparison Analysis: A Practical Tool for Evaluating Options and Prior...
Paired Comparison Analysis: A Practical Tool for Evaluating Options and Prior...CIToolkit
 
Better SAFe than sorry - Why scaled agile frameworks do not necessarily impro...
Better SAFe than sorry - Why scaled agile frameworks do not necessarily impro...Better SAFe than sorry - Why scaled agile frameworks do not necessarily impro...
Better SAFe than sorry - Why scaled agile frameworks do not necessarily impro...Conny Dethloff
 
From Red to Green: Enhancing Decision-Making with Traffic Light Assessment
From Red to Green: Enhancing Decision-Making with Traffic Light AssessmentFrom Red to Green: Enhancing Decision-Making with Traffic Light Assessment
From Red to Green: Enhancing Decision-Making with Traffic Light AssessmentCIToolkit
 
Effective learning in the Age of Hybrid Work - Agile Saturday Tallinn 2024
Effective learning in the Age of Hybrid Work - Agile Saturday Tallinn 2024Effective learning in the Age of Hybrid Work - Agile Saturday Tallinn 2024
Effective learning in the Age of Hybrid Work - Agile Saturday Tallinn 2024Giuseppe De Simone
 
Management 11th Edition - Chapter 9 - Strategic Management
Management 11th Edition - Chapter 9 - Strategic ManagementManagement 11th Edition - Chapter 9 - Strategic Management
Management 11th Edition - Chapter 9 - Strategic Managementshakkardaddy
 
Exploring Variable Relationships with Scatter Diagram Analysis
Exploring Variable Relationships with Scatter Diagram AnalysisExploring Variable Relationships with Scatter Diagram Analysis
Exploring Variable Relationships with Scatter Diagram AnalysisCIToolkit
 
How Technologies will change the relationship with Human Resources
How Technologies will change the relationship with Human ResourcesHow Technologies will change the relationship with Human Resources
How Technologies will change the relationship with Human ResourcesMassimo Canducci
 
BoSUSA23 | Chris Spiek & Justin Dickow | Autobooks Product & Engineering
BoSUSA23 | Chris Spiek & Justin Dickow | Autobooks Product & EngineeringBoSUSA23 | Chris Spiek & Justin Dickow | Autobooks Product & Engineering
BoSUSA23 | Chris Spiek & Justin Dickow | Autobooks Product & EngineeringBusiness of Software Conference
 
Management 11th Edition - Chapter 13 - Managing Teams
Management 11th Edition - Chapter 13 - Managing TeamsManagement 11th Edition - Chapter 13 - Managing Teams
Management 11th Edition - Chapter 13 - Managing Teamsshakkardaddy
 

Recently uploaded (20)

The Role of Histograms in Exploring Data Insights
The Role of Histograms in Exploring Data InsightsThe Role of Histograms in Exploring Data Insights
The Role of Histograms in Exploring Data Insights
 
Hajra Karrim: Transformative Leadership Driving Innovation and Efficiency in ...
Hajra Karrim: Transformative Leadership Driving Innovation and Efficiency in ...Hajra Karrim: Transformative Leadership Driving Innovation and Efficiency in ...
Hajra Karrim: Transformative Leadership Driving Innovation and Efficiency in ...
 
Operations Management -- Sustainability and Supply Chain Management.pdf
Operations Management -- Sustainability and Supply Chain Management.pdfOperations Management -- Sustainability and Supply Chain Management.pdf
Operations Management -- Sustainability and Supply Chain Management.pdf
 
Shaping Organizational Culture Beyond Wishful Thinking
Shaping Organizational Culture Beyond Wishful ThinkingShaping Organizational Culture Beyond Wishful Thinking
Shaping Organizational Culture Beyond Wishful Thinking
 
Management 11th Edition - Chapter 11 - Adaptive Organizational Design
Management 11th Edition - Chapter 11 - Adaptive Organizational DesignManagement 11th Edition - Chapter 11 - Adaptive Organizational Design
Management 11th Edition - Chapter 11 - Adaptive Organizational Design
 
The Final Activity in Project Management
The Final Activity in Project ManagementThe Final Activity in Project Management
The Final Activity in Project Management
 
Adapting to Change: Using PEST Analysis for Better Decision-Making
Adapting to Change: Using PEST Analysis for Better Decision-MakingAdapting to Change: Using PEST Analysis for Better Decision-Making
Adapting to Change: Using PEST Analysis for Better Decision-Making
 
Mind Mapping: A Visual Approach to Organize Ideas and Thoughts
Mind Mapping: A Visual Approach to Organize Ideas and ThoughtsMind Mapping: A Visual Approach to Organize Ideas and Thoughts
Mind Mapping: A Visual Approach to Organize Ideas and Thoughts
 
Advancing Enterprise Risk Management Practices- A Strategic Framework by Naga...
Advancing Enterprise Risk Management Practices- A Strategic Framework by Naga...Advancing Enterprise Risk Management Practices- A Strategic Framework by Naga...
Advancing Enterprise Risk Management Practices- A Strategic Framework by Naga...
 
Choosing the best strategy qspm matrix.pptx
Choosing the best strategy qspm matrix.pptxChoosing the best strategy qspm matrix.pptx
Choosing the best strategy qspm matrix.pptx
 
HOTEL MANAGEMENT SYSTEM PPT PRESENTATION
HOTEL MANAGEMENT SYSTEM PPT PRESENTATIONHOTEL MANAGEMENT SYSTEM PPT PRESENTATION
HOTEL MANAGEMENT SYSTEM PPT PRESENTATION
 
Paired Comparison Analysis: A Practical Tool for Evaluating Options and Prior...
Paired Comparison Analysis: A Practical Tool for Evaluating Options and Prior...Paired Comparison Analysis: A Practical Tool for Evaluating Options and Prior...
Paired Comparison Analysis: A Practical Tool for Evaluating Options and Prior...
 
Better SAFe than sorry - Why scaled agile frameworks do not necessarily impro...
Better SAFe than sorry - Why scaled agile frameworks do not necessarily impro...Better SAFe than sorry - Why scaled agile frameworks do not necessarily impro...
Better SAFe than sorry - Why scaled agile frameworks do not necessarily impro...
 
From Red to Green: Enhancing Decision-Making with Traffic Light Assessment
From Red to Green: Enhancing Decision-Making with Traffic Light AssessmentFrom Red to Green: Enhancing Decision-Making with Traffic Light Assessment
From Red to Green: Enhancing Decision-Making with Traffic Light Assessment
 
Effective learning in the Age of Hybrid Work - Agile Saturday Tallinn 2024
Effective learning in the Age of Hybrid Work - Agile Saturday Tallinn 2024Effective learning in the Age of Hybrid Work - Agile Saturday Tallinn 2024
Effective learning in the Age of Hybrid Work - Agile Saturday Tallinn 2024
 
Management 11th Edition - Chapter 9 - Strategic Management
Management 11th Edition - Chapter 9 - Strategic ManagementManagement 11th Edition - Chapter 9 - Strategic Management
Management 11th Edition - Chapter 9 - Strategic Management
 
Exploring Variable Relationships with Scatter Diagram Analysis
Exploring Variable Relationships with Scatter Diagram AnalysisExploring Variable Relationships with Scatter Diagram Analysis
Exploring Variable Relationships with Scatter Diagram Analysis
 
How Technologies will change the relationship with Human Resources
How Technologies will change the relationship with Human ResourcesHow Technologies will change the relationship with Human Resources
How Technologies will change the relationship with Human Resources
 
BoSUSA23 | Chris Spiek & Justin Dickow | Autobooks Product & Engineering
BoSUSA23 | Chris Spiek & Justin Dickow | Autobooks Product & EngineeringBoSUSA23 | Chris Spiek & Justin Dickow | Autobooks Product & Engineering
BoSUSA23 | Chris Spiek & Justin Dickow | Autobooks Product & Engineering
 
Management 11th Edition - Chapter 13 - Managing Teams
Management 11th Edition - Chapter 13 - Managing TeamsManagement 11th Edition - Chapter 13 - Managing Teams
Management 11th Edition - Chapter 13 - Managing Teams
 

Agile modeling

  • 1. Agile Companies Models and Implementation Amir Moghimi
  • 2. One of the greatest pains to human nature is the pain of a new idea Walter Bagehot 2
  • 3. successful agile programs can Increase productivity per developer by 27% Reduce launch delays by 30% Decrease defects in production by a factor of 3x 3
  • 4. The three levels of successful agile implementation 4
  • 5. To deploy agile development at scale, companies will need to alter their operating models and organizational structures 5
  • 6. Agile Modeling (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 6
  • 7. The Core of AM You Need to Adopt at Least the Core • • • • • • • • • • • Core Principles 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 • • • • • • • • • • • • • Core Practices Active Stakeholder Participation Apply the Right Artifact(s) Collective Ownership 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 Single Source Information Use the Simplest Tools 7
  • 8. How the AM Practices Fit Together? AM’s core practices are organized into four categories: 1. Teamwork 2. Iterative and Incremental 3. Simplicity 4. Validation 8
  • 9. How AM’s practices relate to one another 9
  • 10. 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! 10
  • 12. Modeling is similar to planning most of the value is in the act of modeling, not the model itself 12
  • 13. Feedback The only way that you can determine whether your work is correct is to obtain feedback, and that includes feedback regarding your models. Develop the model as a team Review the model with your target audience Implement the model Acceptance testing 13
  • 14. Tests as Primary Artifacts Reduce Documentation by Single Sourcing Information 14
  • 15. Agile Documentation Travel light – You need far less documentation than you think Agile documents: Maximize stakeholder investment Are concise Fulfill a purpose Describe information that is less likely to change Describe “good things to know” Have a specific customer and facilitate the work efforts of that customer Are sufficiently accurate, consistent, and detailed Are sufficiently indexed Valid reasons to document: Your project stakeholders require it To define a contract model To support communication with an external group To think something through 15
  • 17. Communication Modes Always Strive to Use the Most Effective Approach 17
  • 18. Communication and Agile Modeling 18
  • 19. Nurturing an Agile Culture Overcome the misconceptions that surround modeling Think small Loosen up a bit Rigidly support project stakeholder rights and responsibilities Rethink presentations to stakeholders 19
  • 20. The Cons and Pros of Simple Tools Simple tools are inclusive Simple tools provide tactile feedback Simple tools are inexpensive Simple tools are non-threatening to users Simple tools are quick to use Simple tools are portable Simple tools can be used in combination with more complex ones Simple tools promote iterative and incremental development Simple tools aren’t acceptable to many people Simple tools are limited Simple tools do not support distributed teams easily 20
  • 21. Rigidly Support Rights and Responsibilities Minimize the number of presentations that you give Try to find an alternative Turn the presentation into a working session Make project stakeholders aware of the costs Project stakeholders decide whether they wish to have a presentation Keep it simple Minimize the number of people involved in preparation Minimize the number of people that attend the presentation 21
  • 22. Agile Documentation Why do people document? When does a model become a document? What are the trade-offs associated with documentation? What does it mean to travel light? When is a document agile? What type of documents do you need? Effective hand-offs Strategies for increasing the agility of documentation 22
  • 23. UML state chart that depicts the lifecycle of an agile model 23
  • 24. Strategies for Increasing the Agility of Documentation Focus on the customer(s) Keep it just simple enough, but not too simple The customer determines sufficiency Document with a purpose Prefer other forms of communication to documentation Put the documentation in the most appropriate place Wait for what you are documenting to stabilize Display models publicly Start with models you actually keep current Require people to justify documentation requests Write the fewest documents with least overlap 24
  • 25. Critical Points regarding Agile Documentation 1. The fundamental issue is effective communication, not documentation. 2. Documentation should be ”lean and mean.” 3. Travel as light as you possibly can. 4. Documentation should be just good enough. 5. Models are not necessarily documents, and documents are not necessarily models. 6. Documentation is as much a part of the system as the source code. 7. Your team’s primary goal is to develop software; its secondary goal is to enable your next effort. 8. The benefit of having documentation must be greater than the cost of creating and maintaining it. 25
  • 26. Critical Points Regarding Agile Documentation 9. Never trust the documentation. 10. Each system has its own unique documentation needs; one size does not fit all. 11. Ask whether you NEED the documentation, and why you believe you NEED the documentation, not whether you want it. 12. The investment in system documentation is a business decision, not a technical one. 13. Create documentation only when you need it—Don’t create documentation for the sake of documentation. 14. Update documentation only when it hurts. 15. The customer, not the developer, determines whether documentation is sufficient. 26
  • 27. Agile Modeling Throughout the XP Lifecycle 27
  • 29. The Modeling Disciplines 1. Business Modeling 2. Requirements 3. Analysis and Design 4. Infrastructure Management 29
  • 30. Non-Modeling Disciplines Implementation Test Project Management Configuration and Change Management Environment Deployment Operations and Support 30
  • 31. Agile Analysis and Design 1. 2. 3. 4. 5. Architectural Modeling Logical view Process view Development view Physical view Scenario (use case) view 31
  • 32. Infrastructure Models 1- Enterprise requirements model. This model reflects your organization’s high level requirements (Jacobson, Griss, and Jonsson 1997) 2- Domain architecture model. This model depicts the high-level business structure of your systems that depicts the shared components or services available to your organization’s business systems 3- Technical architecture model. This model depicts the high-level technical infrastructure that supports your business 32
  • 33. Scaling AM with Core Architecture Teams     Recognize that it is very difficult to make this discipline work effectively Don’t blur roles between enterprise teams and development teams Educate, educate, educate Recognize that you likely need to change 33
  • 34. How to overcome Organizational and Cultural Challenges? Skeptical developers Overzealous process police Paper pushers with power Cookbook philosophy Inability to accept blame Excessive documentation due to fear of losing everyone 34
  • 35. Agile Software Requirements Management Changing Requirements Are a Competitive Advantage if You Can Act on Them 35
  • 36. Model With Others The modeling equivalent of pair programming You are fundamentally at risk whenever someone works on something by themselves Several heads are better than one 36
  • 38. Relative Effectiveness of User Representatives A c tu a l S ta k e h o ld e r P ro d u c t M a n a g e r B u s in e s s  A n a ly s t a s  U s e r P e rs o n a s Effectiveness C o p yr ig h t 2 0 0 5  S co tt W . A m b le r 38
  • 39. Factors to Determine If You’re Not Engaged in Agile Modeling 39
  • 40. Glossary of Definitions and Abbreviations Agile model A model that is just barely good enough. This means that it fulfills its 'purpose and no more; is understandable to its intended audience; is simple, sufficiently accurate, consistent, and detailed; and investment in its creation and maintenance provides positive value to your project. Agile Modeling (AM) A chaordic, practice-based methodology for effectively modeling software-based systems. Analyst A developer responsible for working directly with project stakeholders to potentially gather/elicit information from them, document that information, and/or validate that information. Artifact A deliverable or work product CASE Computer-aided system engineering Chaordic The behavior of a self-governing organism, organization, or system that harmoniously blends chaos and order 40
  • 41. Glossary of Definitions and Abbreviations Class Responsibility Collaborator (CRC) card A standard index card that has been divided into three sections, one indicating the name of the class that the card represents, one listing the responsibilities of the class, and the third listing the names of the other classes that this one collaborates with to fulfill its responsibilities. Documentation handoff This occurs when one group or person provides documentation to another group or person IDE Integrated Development Environment Model An abstraction that describes one or more aspects of a problem or a potential solution to that problem. Traditionally, models are thought of as zero or more diagrams plus any corresponding documentation. However, non-visual artifacts such as collections of CRC cards, a textual description of one or more business rules, or the structured English description of a business process are also considered to be models. 41
  • 42. Agile Modeling Resources The Agile Modeling Web site www.agilemodeling.com The Agile Modeling mailing list www.agilemodeling.com/feedback.htm The Agile Modeling Workshop www.ronin-intl.com/services/agileModeling.htm 42
  • 43. References Ambler, S.W. (2002). Agile Modeling: Effective Practices for XP and the UP. New York: John Wiley & Sons. Ambler, S.W. (2003). Agile Database Techniques. New York: John Wiley & Sons. Ambler, S.W. (2004). The Object Primer 3rd Edition: AMDD with UML 2. New York: Cambridge University Press. Ambler, S.W. (2005). The Elements of UML 2.0 Style. New York: Cambridge University Press. Beck, K. (2000). Extreme Programming Explained – Embrace Change. Reading, MA: Addison Wesley Longman, Inc. Beck, K. & Fowler, M. (2001). Planning Extreme Programming. Reading, MA: Addison Wesley Longman, Inc. Constantine, L.L. & Lockwood, L.A.D. (1999). Software For Use: A Practical Guide to the Models and Methods of Usage-Centered Design. New York: ACM Press. Digital McKinsey, Agile Compendium, August 2016. Fowler, M. (1997). Analysis Patterns: Reusable Object Models. Menlo Park, California: Addison Wesley Longman, Inc. Larman, C. (2004). Agile and Iterative Development: A Manager’s Guide. Reading, MA: Addison Wesley Longman, Inc. Palmer, S.R. & Felsing, J.M. (2002). A Practical Guide to Feature Driven Development. Upper Saddle River, NJ: Prentice Hall PTR. 43