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

Paperback
from $0.00

Author: Scott W. Ambler

ISBN-10: 0471202827

ISBN-13: 9780471202820

Category: Programming Methodology

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...

Search in google:

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. Booknews Agile Modeling (AM) is defined as a practices-based process for effective software development modeling and documentation. Following an introduction to AM methodology, the author treats AM in the practical contexts of its principle of using the simplest tools possible, work areas, modeling teams, eXtreme programming, and barriers to developing an "agile culture." Includes a glossary. A companion Web site is available. Ambler is a computer consultant and contributor to such publications as Software Development magazine. Annotation c. Book News, Inc., Portland, OR

ForewordPrefacePt. 1Introduction to Agile Modeling1Ch. 1Introduction3Ch. 2Agile Modeling Values19Ch. 3Core Principles27Ch. 4Supplementary Principles38Ch. 5Core Practices44Ch. 6Supplementary Practices60Ch. 7Order from Chaos: How the AM Practices Fit Together73Pt. 2Agile Modeling in Practice81Ch. 8Communication83Ch. 9Nurturing an Agile Culture89Ch. 10Using the Simplest Tools Possible?101Ch. 11Agile Work Areas118Ch. 12Agile Modeling Teams124Ch. 13Agile Modeling Sessions134Ch. 14Agile Documentation143Ch. 15The UML and Beyond168Pt. 3Agile Modeling and eXtreme Programming (XP)175Ch. 16Setting the Record Straight177Ch. 17Agile Modeling and eXtreme Programming184Ch. 18Agile Modeling Throughout the XP Lifecycle190Ch. 19Modeling During the XP Exploration Phase199Ch. 20Modeling During an XP Iteration: Searching for Items207Ch. 21Modeling During an XP Iteration: Totaling an Order214Pt. 4Agile Modeling and the Unified Process223Ch. 22Agile Modeling and the Unified Process225Ch. 23Agile Modeling throughout the Unified Process Lifecycle232Ch. 24Agile Business Modeling246Ch. 25Agile Requirements254Ch. 26Agile Analysis and Design269Ch. 27Agile Infrastructure Management292Ch. 28Adopting AM on an UP Project304Pt. 5Looking Ahead309Ch. 29Adopting Agile Modeling or Overcoming Adversity311Ch. 30Conclusion: Choose to Succeed325App. AModeling Techniques330Glossary of Definitions and Abbreviations358References and Suggested Reading369Index375

\ From Barnes & NobleThe Barnes & Noble Review\ Executives talk about creating agile business processes. Developers increasingly talk about using agile methods -- witness the explosion of interest in Extreme Programming (XP), Scrum, Crystal, and other "light" methodologies. But, until recently, there's been no agile equivalent for the folks who model and document software. \ Worse, there's been a widespread perception that careful modeling is the enemy of agility. It needn't be that way. Nor should it be. Even XP creator Kent Beck has written, "Contrary to the claims of some of XP's detractors, you do in fact invest time modeling when taking an XP approach, but only when you have no other choice. Sometimes it is significantly more productive for a developer to draw some bubbles and lines to think through an idea, or to compare several different approaches to solving a problem, than it is to simply start hacking out code."\ Agile Modeling aims to show IT professionals how they can gain the benefits of modeling without losing speed and flexibility. In the book by the same name, Scott Ambler -- author of The Object Primer and co-author of classics like Mastering JavaBeans -- explains exactly what AM is, and isn't.\ AM begins with the core principles and values of the agile development community: communication, simplicity, feedback, courage, and humility. As the Agile Alliance has put it, "Individuals and interactions over processes and tools; working software over comprehensive documentation; customer collaboration over contract negotiation; responding to change over following a plan."\ For the modeler, these values translate in many ways. For instance, simplicity means not over-modeling your system. Model based on your current requirements, and refactor when they change. For those accustomed to conventional modeling, that can definitely take courage.\ Equally important, "Model With a Purpose." Ever encounter a pile of artifacts whose size is matched only by its irrelevance? Ask: Why are you creating that artifact? For whom? How much complexity do they need and want? (Not sure? Ask.) Once your artifact has met its goals, put it aside and move on.\ AM is not a complete replacement for other software processes. It doesn't encompass programming, testing, project management, deployment, system operations, or support. Therefore, folks who implement AM are likely to do so in the context of some other software process. The processes you can use AM with range from XP to behemoths like the Unified Process (UP). In fact, Ambler offers in-depth coverage of integrating AM with both XP and UP.\ Ambler points out that UP is more flexible and agile than it's often given credit for, and that many of AM's principles are already part of AM -- including a reliance on testing, the creation of multiple models in parallel, and an openness to iterative modeling. Other principles can be added easily, assuming that project team members are willing.\ But, he admits, it's all too easy to go overboard with the paperwork. AM users should "...question every single model that the UP suggests creating because it purposely describes a wide variety of artifacts, many of which your project simply doesn't need... the business modeling set includes a business use-case model, business rules, a business architecture document, and a business supplementary specification. Do you actually need all of these things? Likely not. If you do need them, do you need them as formal documentation? Likely not."\ Along the way, Ambler introduces the essential practices of Agile Modeling. Many of these focus on transforming teamwork from talk to reality: modeling with others ("modeling is a group activity"), collective ownership (anyone can work on any model) and publicly displaying all your models. Others focus on staying grounded in reality. "Prove It with Code": think you understand the logic of a complex business rule? Try coding it. "Apply Patterns Gently": Suspect a design pattern applies to your situation? Don't incorporate that pattern's "overhead" until you're more confident (if you're iterating constantly, it won't be long).\ Want agility? Don't want to sacrifice the clarity that modeling can deliver? With AM, you can have both -- and this book is the place to start. (Bill Camarda)\ Bill Camarda is a consultant, writer, and web/multimedia content developer with nearly 20 years' experience in helping technology companies deploy and market advanced software, computing, and networking products and services. He served for nearly ten years as vice president of a New Jersey–based marketing company, where he supervised a wide range of graphics and web design projects. His 15 books include Special Edition Using Word 2000 and Upgrading & Fixing Networks For Dummies®, Second Edition.\ \ \ \ \ \ Agile Modeling (AM) is defined as a practices-based process for effective software development modeling and documentation. Following an introduction to AM methodology, the author treats AM in the practical contexts of its principle of using the simplest tools possible, work areas, modeling teams, eXtreme programming, and barriers to developing an "agile culture." Includes a glossary. A companion Web site is available. Ambler is a computer consultant and contributor to such publications as Software Development magazine. Annotation c. Book News, Inc., Portland, OR\ \