Better Software - June 2008 - (Page 24) even though they’re not directly talking about it. For example, a lot of agilists like to talk about treating requirements like a prioritized stack that is created with initial requirements modeling at the beginning of the project. A recent survey [6] asked several questions pertaining to modeling in an effort to discover what is actually going on out there. The survey found that 77.7 percent of agile teams are doing initial requirements modeling and 77.2 percent do initial architecture modeling. It also found that 92.7 percent do whiteboard modeling, 65.9 percent do paper-based modeling (index cards, sticky notes, etc.), and 47 percent are using some sort of drawing tool or modeling tool. use the siMplest tools One of the practices of AM is to use the simplest tools. Figure 2 shows three modeling styles from the point of view of tool usage—any given project team will use one or more of these approaches throughout its lifecycle. A common theme is that regardless of your approach, you are likely at some point to use inclusive modeling tools such as whiteboards and paper to facilitate communication with both your stakeholders and with other team members. There will always be some sort of “skilled transformation” of the information identified by your inclusive modeling efforts to capture it in your tools, which are used to create working software. Furthermore, depending on tool availability and the skill sets of your team members, you might use more complex, software-based modeling tools. Agile MoDeling in prActice In this example, we chose to use the “Close to the Metal” strategy, as it best illustrates the advantages of a modeling tool without requiring as much customization as the “Agile MDA” strategy. We are developing an auction application for a company that will allow its employees, who are spread out around the world, to buy logo merchandise from its intranet as well as from the Internet. The project team is dispersed across several locations. The main team is in Toronto, including the team lead, three Web developers, and the product owner. Four developers with auction expertise are located in Bangalore, and business stakeholders are located throughout the world. We start our modeling with some initial requirements envisioning done in collaboration with the product owner and the business stakeholders. One of the most efficient approaches to describe requirements is to use a scenario-based approach with user stories, use cases, or usage scenarios. We’ll be creating use cases. From our working sessions we drew the following initial use case diagram of figure 3 (simplified for this article), where the “Place a Bid,” “Bill Buyer,” and “Ship Item” use cases have been identified as the most critical. This diagram and the underlying use cases will evolve throughout the project. Remember, the goal is to understand the scope at this point in the project; detailing the requirements will come out during the project iterations. While identifying the initial set of use cases, we also identified a starting set of non-functional, qualityof-service requirements, such as security (the application will be accessed from the Internet) and performance (the employees are all around the world). The architecture envisioning oc- Figure 1: The lifecycle of agile model-driven development Figure 2: Three tool strategies for AMDD 24 BETTER SOFTWARE JUNE 2008 www.StickyMinds.com http://www.StickyMinds.com
Table of Contents Feed for the Digital Edition of Better Software - June 2008 Better Software - June 2008 Contents Mark Your Calendar Contributors Technically Speaking eLightenment Code Craft Test Connection Management Chronicles Agile Model-Driven Development The Myth of Risk Management Stop the Insanity! Product Announcements 10 Things You Might Not Know About … The Last Word Ad Index Better Software - June 2008 Better Software - June 2008 - (Page Intro) Better Software - June 2008 - Better Software - June 2008 (Page Cover1) Better Software - June 2008 - Better Software - June 2008 (Page Cover2) Better Software - June 2008 - Better Software - June 2008 (Page 1) Better Software - June 2008 - Better Software - June 2008 (Page 2) Better Software - June 2008 - Contents (Page 3) Better Software - June 2008 - Mark Your Calendar (Page 4) Better Software - June 2008 - Mark Your Calendar (Page 5) Better Software - June 2008 - Mark Your Calendar (Page 6) Better Software - June 2008 - Mark Your Calendar (Page 7) Better Software - June 2008 - Contributors (Page 8) Better Software - June 2008 - Contributors (Page Telelogic1) Better Software - June 2008 - Contributors (Page Telelogic2) Better Software - June 2008 - Contributors (Page 9) Better Software - June 2008 - Contributors (Page 10) Better Software - June 2008 - Technically Speaking (Page 11) Better Software - June 2008 - eLightenment (Page 12) Better Software - June 2008 - eLightenment (Page 13) Better Software - June 2008 - Code Craft (Page 14) Better Software - June 2008 - Code Craft (Page 15) Better Software - June 2008 - Code Craft (Page 16) Better Software - June 2008 - Code Craft (Page COD1) Better Software - June 2008 - Code Craft (Page COD2) Better Software - June 2008 - Code Craft (Page COD3) Better Software - June 2008 - Code Craft (Page COD4) Better Software - June 2008 - Code Craft (Page 17) Better Software - June 2008 - Test Connection (Page 18) Better Software - June 2008 - Test Connection (Page 19) Better Software - June 2008 - Management Chronicles (Page 20) Better Software - June 2008 - Management Chronicles (Page 21) Better Software - June 2008 - Agile Model-Driven Development (Page 22) Better Software - June 2008 - Agile Model-Driven Development (Page 23) Better Software - June 2008 - Agile Model-Driven Development (Page 24) Better Software - June 2008 - Agile Model-Driven Development (Page 25) Better Software - June 2008 - Agile Model-Driven Development (Page 26) Better Software - June 2008 - Agile Model-Driven Development (Page 27) Better Software - June 2008 - Agile Model-Driven Development (Page 28) Better Software - June 2008 - Agile Model-Driven Development (Page 29) Better Software - June 2008 - The Myth of Risk Management (Page 30) Better Software - June 2008 - The Myth of Risk Management (Page 31) Better Software - June 2008 - The Myth of Risk Management (Page 32) Better Software - June 2008 - The Myth of Risk Management (Page 33) Better Software - June 2008 - The Myth of Risk Management (Page 34) Better Software - June 2008 - The Myth of Risk Management (Page 35) Better Software - June 2008 - Stop the Insanity! (Page 36) Better Software - June 2008 - Stop the Insanity! (Page 37) Better Software - June 2008 - Stop the Insanity! (Page 38) Better Software - June 2008 - Stop the Insanity! (Page 39) Better Software - June 2008 - Stop the Insanity! (Page 40) Better Software - June 2008 - Stop the Insanity! (Page 41) Better Software - June 2008 - Stop the Insanity! (Page 42) Better Software - June 2008 - Stop the Insanity! (Page 43) Better Software - June 2008 - Product Announcements (Page 44) Better Software - June 2008 - Product Announcements (Page 45) Better Software - June 2008 - 10 Things You Might Not Know About … (Page 46) Better Software - June 2008 - The Last Word (Page 47) Better Software - June 2008 - Ad Index (Page 48) Better Software - June 2008 - Ad Index (Page Cover3) Better Software - June 2008 - Ad Index (Page Cover4)
For optimal viewing of this digital publication, please enable JavaScript and then refresh the page. If you would like to try to load the digital publication without using Flash Player detection, please click here.