August 6, 2005

...Learn TDD with Codemanship

miniSPA 2005 Report

Yesterday I attended a cut-down "sampler" of some of the sessions from this year's British Computer Society's Software Practice Advancement (SPA) 2005 conference, called miniSPA. Proceedings were chaired by John Daniels, who kicked the day off in fine form with a bit of audience participation to warm us up.

The SPA (formerly known as "Object Technology") conference has been running for 13 years, and the style is very much informal and interactive. John's session on a Taxonomy of Models was very much in that vain, as we split into groups to consider what sort of models might fit into a matrix of 9 boxes he'd formuated, and discussed (i.e., argued about) how you might go from one box to another. The interesting thing about John's idea is that, in considering how we go from - for example - a sketch of a software specification to an implementation program, or from a detailed software specification blueprint to an executable model, we might gain some insight into the development process. It certainly triggered some thoughts in my head about the kinds of models we can use, and the routes we can take from one model to another. The matrix of models became progressively more complete on one axis (downwards), and progressively less abstract in the other axis (across), and I wondered if we could sum up the development process as the journey from the incomplete to the complete, and from the abstract to the concrete - regardless of which box you started in. Then again, maybe not! If John's intent was to make us think about it, rather than propose a solution, he definitely achieved his aim. The style of his session was laid back and entertaining, too.

Before John's session, I sat in on a session by Richard Mitchell and Rob Day entitled "Heuristics for improving precision in UML models". This was relatively familiar territory for me, as it was essentially about tightening up domain models - in their case study it was for defining business rules for web service XML schemas - using the Object Constraint Language. Interesting to hear about a team who's actually using OCL in a bank (that they refused to name, but the clues suggested I might have been there at some point in my murky past!) They also seem to be getting some mileage out of the OCLE tool I reviewed a while back. It's one of the better OCL editors, so I'm not altogether surprised that they chose it. (It's also free, so that's a another incentive.) Much of the session was led by Richard, whose no-nonsense style was quite appropriate to the subject of no-nonsense modeling. Having had a fair amount of experience with OCL, I naturally have my own thoughts about the best way to apply it on real projects, and they don't always agree with Richard and Rob's suggestions. Having said that, there wasn't much I could actively disagree with, either. My suspicion is that their work and my ideas might well be complimentary, and both could benefit from the addition of the other. The enjoyment for me was to see it being discussed in such a forum, and to hear from consultants who are actually using OCL in the field (a lot of OCL "gurus" don't seem to get out much!) As the session progressed, using a simple but illustrative investment banking example model, I found all sorts of questions popping into my head that I'd not thought about for a while. Richard and Rob talked briefly about the OCL language design itself. It's much friendlier than Z or other formal specification languages, but still nowhere near friendly enough to be understood by customers. Chatting with Richard later I think we both agreed that the syntax of the language might not be the major stumbling block, though. Perhaps it's the concepts you need to understand to read a formal specification that are the real barrier - that gaping chasm between the informal and the formal. Logic and Set Theory look daunting to non-programmers, no matter how much syntactic sugar you throw on it. I've got Richard's business card, and I'm looking forward to exploring these ideas in more depth in the future - assuming he answers my calls, of course!

I'm afraid that a sudden and quite unusually large volume of voicemail messages meant that I had to bunk off the last session to deal with other pressing issues, which is a shame because they both sounded like fun from what the other delegates told me afterwards. Dan Haywood - he of Naked Objects fame - talked about, yep, you guessed it, Naked Objects. I've followed the NO work on and off, but hadn't checked it out for quite a while. Reading the handouts I was pleasantly surprised at how much progress they'd made turning this into a viable enterprise framework. I was also heartened to read that there are plans afoot for a .NET version of the NO framework.

The miniSPA conference ran in two tracks, so there are three other sessions I haven't mentioned. Apologies to those speakers who I missed. If you happen to read this and think "why hasn't he mentioned me?", get in touch and I'll be happy to link to your notes.

The conference finished nice and early with a plug for the SPA 2006 conference, which will be held in St. Neots in Bedfordshire at a "purpose-built conference centre", we were reliably informed. I'm actively considering submitting a proposal for a session, so if you're going then I look forward to boring you to death with my dumb ideas.
Posted 15 years, 6 months ago on August 6, 2005