Wiley
Wiley.com
Print this page Share

Agile Modeling: Effective Practices for eXtreme Programming and the Unified Process

ISBN: 978-0-471-20282-0
400 pages
April 2002
Agile Modeling: Effective Practices for eXtreme Programming and the Unified Process (0471202827) cover image

Description

The first book to cover Agile Modeling, a new modeling technique created specifically for XP projects eXtreme Programming (XP) has created a buzz in the software development community-much like Design Patterns did several years ago. Although XP presents a methodology for faster software development, many developers find that XP does not allow for modeling time, which is critical to ensure that a project meets its proposed requirements. They have also found that standard modeling techniques that use the Unified Modeling Language (UML) often do not work with this methodology. In this innovative book, Software Development columnist Scott Ambler presents Agile Modeling (AM)-a technique that he created for modeling XP projects using pieces of the UML and Rational's Unified Process (RUP). Ambler clearly explains AM, and shows readers how to incorporate AM, UML, and RUP into their development projects with the help of numerous case studies integrated throughout the book.
  • AM was created by the author for modeling XP projects-an element lacking in the original XP design
  • The XP community and its creator have embraced AM, which should give this book strong market acceptance

Companion Web site at www.agilemodeling.com features updates, links to XP and AM resources, and ongoing case studies about agile modeling.

See More

Table of Contents

Foreword xi

Preface xiii

Part One Introduction to Agile Modeling 1

Chapter 1 Introduction 3

Enter Agile Software Development 6

Agile Modeling 8

The SWA Online Case Study 17

A Brief Overview of this Book 18

Chapter 2 Agile Modeling Values 19

Communication 20

Simplicity 21

Feedback 22

Courage 23

Humility 25

Beyond Motherhood and Apple Pie 26

Chapter 3 Core Principles 27

Software Is Your Primary Goal 28

Enabling the Next Effort Is Your Secondary Goal 28

Travel Light 29

Assume Simplicity 29

Embrace Change 30

Incremental Change 31

Model with a Purpose 31

Multiple Models 32

Quality Work 34

Rapid Feedback 35

Maximize Stakeholder Investment 37

Why Core Principles? 37

Chapter 4 Supplementary Principles 38

Content Is More Important Than Representation 38

Everyone Can Learn from Everyone Else 41

Know Your Models 41

Local Adaptation 42

Open and Honest Communication 42

Work with People’s Instincts 42

Benefiting from These Principles 43

Chapter 5 Core Practices 44

Practices for Iterative and Incremental Modeling 45

Practices for Effective Teamwork 52

Practices That Enable Simplicity 56

Practices for Validating Your Work 58

Chapter 6 Supplementary Practices 60

Practices to Improve Your Productivity 61

Practices for Agile Documentation 64

Practices Concerning Your Motivation 68

Really Good Ideas 71

How to Schedule AM Practices on Your Project 72

Chapter 7 Order from Chaos: How the AM Practices Fit Together 73

The Core Practices 73

The Supplementary Practices 76

How the Categories Relate to One Another 77

Chaos and Order: Chaordic 79

Looking Ahead 80

Part Two Agile Modeling in Practice 81

Chapter 8 Communication 83

How Do We Communicate? 84

Factors That Affect Communication 85

Communication and Agile Modeling 86

Effective Communication 87

Chapter 9 Nurturing an Agile Culture 89

Overcome the Misconceptions That Surround Modeling 89

Think Small 95

Loosen Up a Bit 96

Rigidly Support Rights and Responsibilities 97

Rethink Presentations to Project Stakeholders 98

Chapter 10 Using the Simplest Tools Possible? 101

Agile Modeling with Simple Tools? 102

The Evolution of a Model 107

Agile Modeling with CASE Tools 111

Use the Media 115

The Effect of Tools on Models 116

Using the Simplest Tools In Practice 117

Chapter 11 Agile Work Areas 118

Agile Modeling Room 118

Effective Work Areas 122

Making This Work in the Real World 122

Chapter 12 Agile Modeling Teams 124

Recruit a Few Good Developers 124

Recognize That There Is No “I” in Agile 128

Require that Everyone Actively Participates 130

Model in Teams 130

Making This Work in the Real World 132

Chapter 13 Agile Modeling Sessions 134

Modeling Session Duration 134

Types of Modeling Sessions 136

Participants in Modeling Sessions 138

The Formality of Modeling Sessions 140

How to Make This Work in the Real World 142

Chapter 14 Agile Documentation 143

Why Do People Document? 144

When Does a Model Become Permanent? 147

Chapter 15 The UML and Beyond 168

The UML Is Not Sufficient 169

The UML Is Too Complex 171

The UML Is Not a Methodology or Process 171

Forget about Executable UML (for Now) 172

Making the UMLWork in Practice 173

Part Three Agile Modeling and eXtreme Programming (XP) 175

Chapter 16 Setting the Record Straight 177

Modeling Is a Part of XP 178

Documentation Happens 179

XP and the UML? 181

And the Verdict Is? 183

Chapter 17 Agile Modeling and eXtreme Programming 184

The Potential Fit between AM and XP 185

Refactoring and AM 185

Test-First Development and AM 188

Which AM Practices Should You Adopt? 189

Chapter 18 Agile Modeling Throughout the XP Lifecycle 190

Exploration Phase 191

Planning Phase 192

Iterations to Release Phase 194

Productionizing 196

Maintenance 197

How Do You Make This Work? 198

Chapter 19 Modeling During the XP Exploration Phase 199

Initial Requirements Up Front (IRUF) 199

Metaphors, Architectures, and Spikes 203

Setting the Foundation for Your Project 206

Chapter 20 Modeling During an XP Iteration: Searching for Items 207

The Task 208

Modeling the Physical Database Schema 209

Observations 212

Chapter 21 Modeling During an XP Iteration: Totaling an Order 214

The Task 214

Requirements Modeling to the Rescue 215

Help from an Outside Expert 217

A Quick Design Session 218

Formalizing a Contract Model 220

What about Changes in the Future? 220

Observations 222

How to Make This Work in the Real World 222

Part Four Agile Modeling and the Unified Process 223

Chapter 22 Agile Modeling and the Unified Process 225

How Modeling Works in the Unified Process 226

How Good Is the Fit? 227

Choose To Be Agile 231

Chapter 23 Agile Modeling throughout the Unified Process Lifecycle 232

The Modeling Disciplines 232

Non-Modeling Disciplines 242

How Do You Make This Work? 245

Chapter 24 Agile Business Modeling 246

A Business/Essential Use Case Model 247

A Simple Business Object Model 248

An Agile Supplementary Business Specification 249

A Business Vision 252

How to Make This Work in Practice 253

Chapter 25 Agile Requirements 254

The Context Model 255

Use Case Model 258

Use Case Story Board 262

Supplementary Specification 265

How to Make This Work in Practice 267

Chapter 26 Agile Analysis and Design 269

Rethinking Analysis and Design Models in the UP 270

Architectural Modeling 272

Creating Use Case Realizations 277

Time to Update Our Use Case? 281

Time to Use a CASE Tool? 284

Design Class Modeling 284

Data Modeling 287

Embracing Change 290

How Does This Work in Practice? 291

Chapter 27 Agile Infrastructure Management 292

Infrastructure Models 293

Infrastructure Modeling 294

Setting Modeling Standards and Guidelines 297

Core Infrastructure Teams 299

Scaling AM with Core Architecture Teams 301

How to Make This Work in the Real World 302

Chapter 28 Adopting AM on an UP Project 304

How Does This Work? 308

Part Five Looking Ahead 309

Chapter 29 Adopting Agile Modeling or Overcoming Adversity 311

Evaluate the Fit 312

Keep It Simple 315

Overcome Organizational and Cultural Challenges 316

Consider Alternatives to Full Adoption of AM 324

How to Make This Work in Practice 324

Chapter 30 Conclusion: Choose to Succeed 325

Common Misconceptions Regarding Agile Modeling 325

When Is(n’t) it Agile Modeling? 326

Agile Modeling Resources 328

A Few Parting Thoughts . . . 329

Appendix A Modeling Techniques 330

Glossary of Definitions and Abbreviations 358

References and Suggested Reading 369

Index 375

See More

Author Information

SCOTT W. AMBLER is President and a senior consultant of Ronin International (www.ronin-intl.com), a software services consulting firm that specializes in software process mentoring and object/component-based software architecture and development. Scott is the author and/or coauthor of numerous books and also coeditor, with Larry Constantine, of the Unified Process series from CMP Books. Scott is a contributing editor with Software Development magazine and a columnist with IBM developerWorks. Scott has spoken at UML World, Software Development, OOPSLA, Object Expo, Java Expo, and Application Development.
See More

Reviews

“…I would not hesitate in recommending this book…” (CVu, October 2004)

“…easy-to-follow…enjoyable writing style…overall the book is impressive…valuable reading…” (Software Testing, Verification & Reliability, March 2003)

See More

Notes

Companion Site
View the companion site.
See More
Back to Top