by Allen Holub
Many people who think they’re doing OO aren’t. For example, the dynamic model (which shows how run-time objects interact) should drive the design process; the class diagram is an artifact you build while doing dynamic modeling. If you do the class diagram first, your model will be at best unwieldy, at worst non-functional. It turns out that the design process you use influences both the quality and the basic structure of the design. The process matters.
This class covers an Agile version of the OO-Design process, with an emphasis on how to arrive at an optimal design. We’ll start by looking at Agile methodologies to see how design fits into them. We’ll then look, in depth, at the entire process from front to back: requirements gathering and problem-statement definition, use-case analysis, and the simultaneous construction of the dynamic and static models using UML.
We’ll construct a model for a small program, so that you can see how each step plays out in a practical context.
by Neal Ford
Reading and hearing about agile practices is one thing, but actually doing it is completely different. This workshop puts you to work in an agile fashion, applying agile development practices. During this workshop, we’re going to take a problem and iteratively develop the solution, using test-driven development, pair programming, retrospectives, pair rotation, and other agile development techniques. To make it interesting, we’re going to split the room into two continents and work through the issues faced by real distributed agile teams. We work through several 20-minute iterations during the workshop, giving you a hands-on feel for real agile development. If you have a laptop, bring it, but only half the class needs one, so if you don’t have a laptop, don’t let it discourage you. Come see what it’s like to work on a real distributed agile project, even if it’s only for a few hours.
18th–21st October 2011