Michael Jesse Chonoles who is an author of “UML 2 for Dummies” talks about how UML was born and tells us tips for software modeling. He says, “You don’t have to model everything”, then what should we model? Check out this 5 minute video and learn.
Kenji (KH): Hi Michael.
Michael (MC): Hi how you doing?
KH: I’m great, how are you Michael?
MC: I’m doing fine, we’re here at the OMG conference in Austin, Texas.
KH: I would like to interview you, because you’re one of the gurus of UML.
MC: Thank you.
How did you involved in the UML movement?
KH: It was a long time ago, but how were you involved in the UML Movement?
MC: It’s a long story, I’ve been involved from the very beginning in fact I was the person who seconded the motion to approve UML 1.1, which is really the first UML. But what started it was, I worked for General Electric at the time and General Electric was using this modeling technique called Object Modeling technique (OMT), sometimes called the Rumbau technique.
I had used it and we started an organization within General Electric to teach OMT to the rest of the world. So I went to banks and other companies besides General Electric to teach it. Then what happened was OMT and the Booch method…
KH: Oh, I know the Booch Method!
MC: Yeah, it’s a great method I like it too!
MC: Yes, clouds exactly right, and then the Jacobson Method which is something Objectory and that’s what the Use Case is, these three guys were all hired away by Rational Software Corporation, and they started to work together to unify – to bring their methods into compliance with each other.
So as soon as they started to talk about that, I who was the leader of OMT inside of General Electric at the time said we need to have standardization, and Jacobson went to OMG and said ‘can we make a proposal to standardize a unified method?’ and OMG eventually said ‘well the unified method is too aggressive how about a unified notation’.
MC: So they changed their unified method to unified notation.
KH: so a unified notation does not include a method part?
MC: Not the method, when you have Use Cases that’s what they mean and this is what a box means, a class box means, but it’s not like you have to do Use Cases first. So some people and some companies will do Use Cases first, and that’s usually good, but sometimes you’ll do Classes first in different circumstances. So it was very hard to come up with a Unified Method, but they were able to come up with a Unified Notation.
And they didn’t just take those three inputs, they went to all the Object based modeling methods and at that time, I counted them and had a website where all of them were, there were over 50 different notations out there to do Object Oriented Software Modeling.
So they took the best of all of them, and there was a big committee founded inside of OMG at the time to work on putting them together, they way this goes together, this doesn’t go together, and then we eventually came out and the first UML that was approved was 1.1.
So I was able to be a member of the revision team, in fact I think I’ve written more Issues, which are identified problems with the spec, than anyone else.
KH: Ahh that’s great!
MC: I’m good at finding little things that need to be fixed.
And, in the process, in between, I got to write a book on the OMT Method, then afterwards, after 2.1 came out I wrote the ‘Dummies’ book UML for Dummies on UML 2. And now I’m thinking about writing the next one on UML 2.5.
What do we model for? To execute or to communicate.. Then what should we model?
KH: In the presentation you gave today, you said that you shouldn’t model everything.
MC: Sometimes management tells you MODEL EVERYTHING… OK I’ll model it, you’re paying me, but if you’re trying to be agile you don’t want to model things that aren’t needed.
So model the stuff that’s new to you, model the stuff that’s more challenging – more difficult.
KH: So we don’t have to stick to ‘Model and Execute’ rather ‘Model to Communicate’ is that ok?
MC: That’s ok – that’s enough, there are times when model and execute is good but, if you’re short on money, short on time, short on resources which every project is; you might want to model stuff where you get the most bang for your buck – the most return on your investment. That’s the stuff that’s hard that’s the stuff that’s not known, that’s the stuff that’s hard. That’s it.
KH: One more… You wake up and you find you have the power to change any 2 things in the world, what would you change?
MC: Ha, ha, ha. World Peace, I think world peace is the key thing, and that can take up 2 wishes – it’s complicated enough.
KH: Thank you Michael.
MC: Thank you.