Magic Qualities of Face-to-Face Teaching... in a Book??

Use Case Driven

Just today I’ve finally managed to get my next book (another collaboration with Doug Rosenberg) into copy-edit - so that should give it a March or April release date. So given that, I feel justified to warble on slightly about a couple of interesting aspects of the new book...

The book, Use Case Driven Object Modeling with UML - Theory and Practice, was originally going to simply be a merged version of Doug's first two books (a theory book and an accompanying workbook).

But in the last 12 months it's taken on a life of its own. It has lots of new content over the first 2 books, with new examples and exercises. It also extends the object modeling process to cover unit testing and requirements traceability; and there's a full-on example using Java/Spring Framework, showing how to systematically drive the code from the design; and the design from the requirements.

The book’s main topic is: how to get from use cases to source code. We demonstrate how to do this, in a few short easy steps, by following an example "Internet Bookstore" project.

So, anyway, after participating in some of Doug’s ICONIX training courses a while ago, it quickly became apparent that the value people get from those courses – where there’s a “live” instructor in the room with you – is their interactive, step-by-step nature. It sounds obvious, but it’s a “magic teaching quality” which most books just don’t manage to capture.

For example, at first people sometimes don’t “get” robustness analysis (the cornerstone of the ICONIX Process). When faced with the task of drawing a robustness diagram, even if they’ve read up on the theory, they’ll stare at the blank screen, just not sure how to get started.

But when they’re walked through the practice of drawing these diagrams a few times, step-by-step, the light bulb slams on and suddenly, of course, they can do it for themselves.

So in this book we’ve tried to capture the essential qualities of Doug’s courses. We walk through example diagrams each starting with a blank screen, showing the steps – and, essentially, the thought process – involved in creating the various types of diagrams.

The training courses are also interactive – the attendees are busy drawing diagrams and getting feedback, and so learning from their mistakes. This is by far the best way to learn, as it’s programmed into our brains. From the day we’re born, we learn by discovering how not to do things, and then trying over and over until we get it right. Experts eventually “perfect” their art because they no longer make mistakes – at least none that they’ll admit to!

So – back to the book – for the review milestones (each step in the process finishes with a review), we’ve had some fun and created fictional dialogs between a reviewer and a developer, to demonstrate the sort of issues that should be addressed at each review milestone. The feedback provided by the reviewer shows the most common (and the most dangerous) mistakes that developers tend to make.

I’ll write more about the book soon, and maybe post some excerpts here on this blog... stay tuned!

About the Author

Matt Stephens is a senior architect, programmer and project leader based in Central London. He co-wrote Agile Development with ICONIX Process, Extreme Programming Refactored, and Use Case Driven Object Modeling with UML - Theory and Practice.