Instead of a whole new set of modeling techniques, agile development requires a new way of applying good modeling methods like UML, ER, and UCD, in an incremental, iterative, and evolutionary (Agile) manner. This tutorial introduces an agile software modeling process that strikes the right sufficient-up-front and just-in-time balance. Participants are introduced to a blend of domain modeling, usability modeling, data modeling, and architectural design. We will utilize appropriate UML, ER, and UCD methods in an agile fashion to help limit technical debt, and increase design quality.
How can mock objects help you design your system better? Want to know how mocking saved hours of work? We focus on establishing best practices based on examples with mock objects. We cover design of classes, using mock objects to understand and test interaction between objects of the system. By the end of the session it should become clear how mocking,when applied correctly helps with system design, improves testability by reducing cost of change. An explicit part of this session is dedicated to the Mocking top offenders. We talk with examples about bad usage of Mocks, and its consequences.