You are on page 1of 3

Agile Modeling Best Practices

http://www.agilemodeling.com/essays/bestPractices.htm

Agile Modeling Best Practices

Design

Home | AMDD | Best Practices | Architecture | Requirements | Analysis | | Documentation | Models | Modeling Style | Contact Us | Announcements | FAQ In the Autumn of 2000 when work first began on what was to become the Agile Modeling (AM) methodology we focused on defining a collection of values, principles, and practices for modeling and documentation on software development projects. The principles and practices were fairly granular, describing what you do in during the acts of modeling and documentation. Although valuable, many people found these principles and practices to be too difficult to understand, because of their granularity but also because of their vagueness. Then in 2003 the Agile Model Driven Development (AMDD) lifecycle began to coalesce to describe when modeling occurs on projects (or programmes as the case may be), such as architectural envisioning and requirements envisioning at the beginning of a project or model storming on a just-in-time (JIT) basis throughout the project. This in turn revealed higher level AMDD "best practices", overviewed in the pattern language map of Figure 1.

Ads by Google

► Agile It ► Agile Scrum ► Software

Figure 1. The best practices of Agile Modeling.

The best practices of AMDD are: 1. Active Stakeholder Participation. Stakeholders should provide information in a timely manner, make decisions in a timely manner, and be as actively involved in the development process through the use of inclusive tools and techniques. 2. Architecture Envisioning. At the beginning of an agile project you will need to do some initial, high-level architectural modeling to identify a viable technical strategy for your solution. 3. Document Continuously. Write deliverable documentation throughout the lifecycle in parallel to the creation of the rest of the solution. 4. Document Late. Write deliverable documentation as late as possible, avoiding speculative ideas that are likely to change in favor of stable information. 5. Executable Specifications. Specify requirements in the form of executable "customer tests", and your design as executable developer tests, instead of non-executable "static" documentation. 6. Iteration Modeling. At the beginning of each iteration you will do a bit of modeling as part of your iteration planning activities. 7. Just Barely Good Enough (JBGE) artifacts. A model or document needs to be sufficient for the situation at hand and no more. 8. Look Ahead Modeling. Sometimes requirements that are nearing the top of your priority stack are fairly complex, motivating you to invest some effort to explore them before they're popped off the top of the work item stack so as to

1 di 3

26/03/2013 23.46

Rules for Agile Success priocept. to streamline your modeling and documentation efforts. Furthermore. 11. At the beginning of an agile project you will need to invest some time to identify the scope of the project and to create the initial prioritized stack of requirements. Strive to capture information in one place and one place only. or the Agile Unified Process (AUP).agilemodeling. and then just enough code to fulfill that test. Modeling and documentation are important aspects of any software project. Prioritized Requirements.htm reduce overall risk. either at the requirements or design level. describing how to develop 35 types of agile models including all 13 UML 2 diagrams.46 . Try it Selenium Suite testingbot. Each type of model has it's strengths and weaknesses.telerik. legacy analysis. object/relational mapping. TDD is a JIT approach to detailed requirements specification and a confirmatory approach to testing. architect. 14. Write a single test. An effective developer will need a range of models in their intellectual toolkit enabling them to apply the right model in the most appropriate manner for the situation at hand. the Rational Unified Process (RUP). Single Source Information.com Run Your Selenium Suites Online Over 30 Browser/OS Combinations 2 di 3 26/03/2013 23. Throughout an iteration you will model storm on a just-in-time (JIT) basis for a few minutes to explore the details behind a requirement or to think through a design issue. such as XP. Agile Modeling: Effective Practices for Extreme Programming and the Unified Process is the seminal book describing how agile software developers approach modeling and documentation. 12. as defined by their stakeholders.com Read our free report on how to work with agile development partners Software Testing Tools www. so as to provide the greatest return on investment (ROI) possible. Requirements Envisioning. The Object Primer also includes a chapter overviewing the critical database development techniques (database refactoring. The book also shows how to move from your agile models to source code (Java examples are provided) as well as how to succeed at implementation techniques such as refactoring and test-driven development (TDD). 10. and then design your system in an agile manner. 13. Multiple Models. Model Storming.com/software-te… Create Automated Functional Tests with Telerik Test Studio. Recommended Resources Agile Model Driven Development (AMDD) Agile Models Distilled Agile Requirements Best Practices Be Realistic About the UML Best Practices for Agile/Lean Documentation Introduction to the Diagrams of UML 2 Introduction to Object Orientation (OO) and UML UML Data Modeling Profile UML Style Guidelines The Object Primer 3rd Edition: Agile Model Driven Development with UML 2 is an important reference book for agile modelers. It describes principles and practices which you can tailor into your existing software process. Agile teams implement requirements in priority order. Test-Driven Design (TDD). this book describes the techniques of the Full Lifecycle Object Oriented Testing (FLOOT) methodology to give you the fundamental testing skills which you require to succeed at agile software development. and this book describes in detail how to elicit requirements. and database access coding) from my award-winning Agile Database Techniques book.com/essays/bestPractices.Agile Modeling Best Practices http://www. including agile projects. 9.

com/essays/bestPractices.0 Style describes a collection of standards. They are based on sound. A full description of what we do. and how to contact us. consider The Object Primer). can be found at Scott W. Let Us Help We actively work with clients around the world to improve their information technology (IT) practices. Copyright © 2005-2012 Scott W. typically in the role of mentor/coach. and guidelines for creating effective UML diagrams. team lead. The book is a brief 188 pages long and is conveniently pocket-sized so it's easy to carry around. These conventions exist as a collection of simple. 3 di 3 26/03/2013 23.agilemodeling. proven software engineering principles that lead to diagrams that are easier to understand and work with. represent an important first step in increasing your productivity as a modeler. This book is oriented towards intermediate to advanced UML modelers.46 . Ambler This site owned by Ambysoft Inc. concise guidelines that if applied consistently. or trainer. although there are numerous examples throughout the book it would not be a good way to learn the UML (instead. Ambler + Associates.Agile Modeling Best Practices http://www.htm The Elements of UML 2. conventions.