Modeling With Agility: Just Enough Design

Leader: Ken Collier
Length of workshop:
3 days. This can be extended to five days to become a facilitator-led modeling session of a project of your choice.
General Overview:

Receive an introduction to Agile Modeling (AM) -- a practices-based methodology for effective modeling -- during this 3-day workshop. Agile Modeling is used to enhance full-fledged development processes such as Extreme Programming, the Rational Unified Process, and the Enterprise Unified Process. Experienced agile developers know that what is needed is “sufficient up front design” (SUFD)—enough to galvanize the development team around a shared understanding of the problem domain, technical architecture, expected user experience, and data needs. Fortunately, agile development doesn’t require a whole new set of modeling techniques. Instead, it requires a new way of applying good modeling methods like UML and ER Modeling in an incremental, iterative, and evolutionary fashion.

You and your team will gain a thorough introduction to the values and principles and practices of Agile Modeling, an overview of several common modeling techniques, and you'll get hands-on experience modeling an actual business system. You'll learn how to identify the high-level requirements and the potential architecture for a system, and how to take an agile approach to prioritizing the initial requirements and then working on the prioritized requirements in iterations/cycles. This workshop follows a "lecture a little, work a lot" style.

You'll sharpen your skills at model storming by learning how to evolve your models over time and by experiencing how your design emerges and the corresponding impact changing requirements have on your design. You'll also take turns filling in the role of project stakeholder and you'll receive practical experience by simulating a real business application development project.

Each iteration introduces you and your team to a couple of new modeling techniques. You'll discuss the benefits and challenges of each technique, you'll practice using each of them, and you'll learn how to apply them effectively in real-world situations. The techniques you'll discuss include both those described by Unified Modeling Language UML 2 (UML 2), as well as non-UML techniques -- to provide a full range of models for application development. Students also model together in groups, applying the principles and practices of Agile Modeling as appropriate.

The workshop also includes overviews of leading-edge topics such as Agile Database Techniques, refactoring, and Test-Driven Development (TDD), and how they fit together with Agile Model Driven Development.

Objectives:

By attending this workshop you will gain a solid understanding of leading-edge modeling techniques, how they fit together, and how they may be applied simply and effectively.

Modeling Techniques Overviewed:

  • Business Domain Modeling
  • Class Responsibility Collaborator (CRC) cards
  • Contract/Legacy models
  • Data flow diagrams (DFDs)
  • Use Case Diagrams
  • Use Cases
  • Use Case Scenarios
  • User Stories
  • User Experience Modeling
  • Story Boarding
  • Scribble Frames
  • Features and Capabilities
  • Free-form diagrams
  • Network diagram
  • System use cases
  • UML 2 activity diagram
  • UML 2 class diagram
  • UML 2 communication (collaboration) diagram
  • UML 2 component diagram
  • UML 2 composite structure diagram
  • UML 2 deployment diagram
  • UML 2 interaction overview diagram
  • UML 2 object diagram
  • UML 2 package diagram
  • UML 2 sequence diagram
  • UML 2 state machine (state chart) diagram
  • UML 2 timing diagram
  • UML 2 use case diagram
  • Logical Data Modeling using ER Diagrams
  • Logical Data Modeling using UML 2
Intended Audience:
This workshop is intended for analysts, designers, programmers, and architects.
Modeling With Agility: Just Enough Design

For more details on how we can develop a custom consulting engagement or training curriculum for your organization, browse our engagements by practice area below or contact our team.

Contact Us