If you’re reading this blog regularly, you may notice that I have a particular viewpoint on all things model.
The following explanation might help you to understand where that viewpoint came from. BTW – this isn’t my CV. That’s much duller.
Started modelling with Lego.Never trust a modeller who didn’t play with Lego. In fact, never trust ANYONE who didn’t play with Lego.
The first bit of my university course (BA, mechanical engineering. Yes, I do mean BA) which made any sense was writing some simple software to control a system with a big time lag, namely, a hair-dryer at the end of a long tube. This required a Smith Predictor. It needed a software model of the transfer function of the system – a simple equation. Great result. Models are USEFUL.
Modelling the reliability of head disk interfaces in hard drives. Small club. But tricky to construct a model with 1 data point. Learned APL to do the maths. First introduction to write-only software.
Later, modelling of cache requirements of the storage sub-systems for mainframes. Did the customer want the HUGE expense of a 64mb cache!! Crazy expense.
Then the revelatory moment. Someone trying to explain to me the workings of an arcane UK government agency, by showing me a data model – an ERD. Wow moment. Suddenly got the power of models to make things simpler.
First software mega-project
Re-trained from selling hardware back to creating software. Smalltalk! The future of programming! Tech lead for a team of 20+ programmers, most of whom knew more Smalltalk than me. GBP40M+ project. No time to write all the code so instead wrote our own CASE tool to capture a model, then generate more Smalltalk. And COBOL: GOOSE. Ironic title of Graphical Objected Oriented Solution to Everything. What were my project managers doing whilst we did all this? I have no idea. I still have the T shirt somewhere.
Starting going to conferences, and discovered a whole world of knowledge and ideas out there. For example, the power of groups of models. And models of models. Asked by someone in a bar at a conference “does the tool contain its own meta model?” . Had to have that one explained to me with pictures. Saw the transcendent beauty of the arrangement. Went back to the the team, who said “we’ve being trying to explain that idea to you for ages”. Duh.
So we put the meta model into the tool, reduced the the database to thing-relationship-thing, then decided that relationships were things as well, and had a 1 table database. Which initially instantiated itself entirely on first read. Whoops.
Teaching and Do-ing
Then off to learn all the pre-UML modelling languages. Booch, Rumbaugh and Jacobsen
Working in a training company when UML early draft arrived, and stumbled into consulting and training people in UML.
Several years of reviewing company models. Wonderful experience. Starting making mental notes of Modelling Bear Traps. Not the modelling OF bear traps. That would be silly.
Someone said that I was a Business Analyst. Never heard the term before, but it sounded good. Seemed like what I’d been doing for ages anyway. And it paid well. Looked after teams of BAs, coached them, managed them. Saw even models of models, even more good stuff, loads more not-so-good-stuff.
Back to Tools
Tired of Visio, Powerpoint and SharePoint. Got interested in proper tools. Initially Rose and Select. Then Enterprise Architect. Slight diversion into programming again, building eaDocX. Documents are important.
Decided to start writing it all down. Books are too long, and too hard to read. Blog seems to fit my time better. So off we go…