Geeks With Blogs
Ulterior Motive Lounge UML Comics and more from Martin L. Shoemaker (The UML Guy),
Offering UML Instruction and Consulting for your projects and teams.
UML Thoughts, examples, and tips on applying the Unified Modeling Language.
All right, Mr. DeMille, I'm ready for my close-up

Back in January, Brian H. Prince from Microsoft interviewed me about the UML features in Visual Studio Team System 2010. Today, he informed me that the interview is finally live on Channel 9.


Posted On Tuesday, May 26, 2009 6:58 PM

UML... It's not Rocket Science
If you follow me on Twitter, you may have seen a strange tweet yesterday: Looking for a word... "Employee" is to "Roster" as "Vehicle" is to _____? "Fleet" doesn't seem quite right. With a lot of helpful suggestions, especially from @patrickgreene, we settled on “Fleet Manifest”. It’s ideal for what I needed. But in case you’re wondering why I needed that term, here’s a slide from the UML QuickStart class from 213 Software Studios (click pictures for larger images): And here’s another: "Think one ......

Posted On Friday, April 10, 2009 3:08 PM

Ulterior Motive Lounge Episode 31: The Teams Split Up
Continuing The Project That Time Forgot, a UML case study in comic strip form... (Click pictures for larger images.) After a long hiatus due to weather, illness, work, conferences, and more stuff than I can explain, the Lounge is back. This Episode gets the ball rolling for Act II, so there’s not much new UML content here yet. But I can give you a few diagrams of the team’s review process. The process starts with some preliminaries, then splits into three threads of operations, each with a separate ......

Posted On Saturday, January 31, 2009 12:59 AM

Ulterior Motive Lounge Episode 29: Touring the Pavilion
Continuing The Project That Time Forgot, a UML case study in comic strip form... (Click pictures for larger images.) “We grow dinosaurs!” Big whoop, huh? Like anyone reading the strip hadn’t figured that out before I started Scene 1… It’s hard to surprise the characters in a story when the audience can tell from the promos what the surprise is. But since The UML Guy has been part of the project before, none of this was a surprise to him. So while the others were taking in the new sights, he was drawing ......

Posted On Monday, December 15, 2008 8:03 PM

Ship It On The Side Episode 3
Ship It On The Side Episode 3 -- Use Cases is now released. Complete with goats!

Posted On Thursday, December 11, 2008 1:45 AM

The UML Learning Path
(Click picture for a larger image.) No, I'm not going to name any of the devs who inspired this post. They wouldn't know who I am, anyway. But it takes an extremely high degree of arrogance to go from "I don't see a way to use this" to "This has no value, no matter who says they're getting value out of it. So I'll dismiss it, and I'll mock them" Either arrogance, or more likely, insecurity: "I don't understand this; so since those people think it's important, either they understand something I don't, ......

Posted On Wednesday, December 10, 2008 8:41 PM

Ulterior Motive Lounge Episode 28: Meet Danny Diplodocus!
Continuing The Project That Time Forgot, a UML case study in comic strip form... (Click pictures for larger images.) And just in case you can't read that sign above the gate, here's a larger view: So Editor Bill looked at this strip and said, "Geez, Martin, what happened? You spent so much time drawing that volcano cone, you didn't have time for any UML?"* "What?" I said, "You don't see the UML content in this Episode?" "Well, yeah, there are a couple new systems mentioned, I guess." "Ah," I said, ......

Posted On Tuesday, December 9, 2008 6:23 PM

Ulterior Motive Lounge Episode 27: Meet the Crew
Continuing The Project That Time Forgot, a UML case study in comic strip form... (Click pictures for larger images.) There's the business, and then there's the role of the system within the business. If all you focus on is the role of the system, you can miss chances to see where the system's really needed. So time permitting, I would rather start by understanding the whole business and then work inward. Oh, sometimes the division is very clear: if my client asks for a change to their payroll system, ......

Posted On Friday, December 5, 2008 5:34 PM

Business Actors
On Twitter, @ClearSpringBA asked: @UMLguy to show a "parent" actor over subsidiaries, do I use the generalization feature in UML? (doing an actor-UC diagram, new to it) Wordy cuss that I am, I answered multiple times: @ClearSpringBA Are subsidiaries subordinates or special cases? For ex, Supervisor is special case of Employee; Emps are subordinates of Supv @ClearSpringBA For special case, genralization arrow from Supv to Emp. "Supv is an Emp with more responsibilities." Her questions back: @UMLGuy ......

Posted On Friday, December 5, 2008 1:58 PM

Ulterior Motive Lounge Episode 24: The Project That Time Forgot
Starting today in Ulterior Motive Lounge: a new UML case study. (Click the picture for a larger image.) And so it begins: a "simple" software project gone awry, and the slim hope that modeling will help us to understand it better and get it back on track. And if you think you've seen this story before and you think you know where it's going, take a closer look at that "hex sign" in the dirt: There's something mighty peculiar going on on The Island... So here's how this case study is going to work. ......

Posted On Monday, November 24, 2008 7:51 PM

It’s All About Communication
Note: This was originally chapter 13 of my book, UML Applied: A .NET Perspective from Apress. My editor and my tech reviewer read it; and both said, "We like it; but what does it have to do with UML?" So I came up with a more on-topic closing chapter. But I still like it. It sums up my view of the software development profession quite nicely. So I thought I would share it here. Somewhere, deep in our prehistory... A man tells a story, a story of a hunt. Perhaps it's a hunt he's planning. Or perhaps ......

Posted On Friday, November 21, 2008 11:27 PM

Ulterior Motive Lounge Episode 26: Aboard the Helicopters
Continuing The Project That Time Forgot, a UML case study in comic strip form... (Click picture for a larger image.) This is the first we've seen of Deployment Diagrams in the Lounge; but they're enough like Class Diagrams that I think you should find them easy to read. Here's the diagram above, larger and more readable: The cubes represent nodes within the system. By default, they represent Processors: computers where you'll deploy code. The <<device>> stereotype here indicates devices ......

Posted On Tuesday, December 2, 2008 8:59 AM

Ulterior Motive Lounge Episode 25: The UML Guy's Terms
Note: This was scheduled for tomorrow (hence the date drawn on the strip); but due to the U.S. Thanksgiving holiday, I'm releasing it a day early. Continuing The Project That Time Forgot, a UML case study in comic strip form... (Click picture for a larger image.) So in the previous Commentary, I wrote: This Episode is all introduction. It doesn't include much UML content, and there's not much to add yet. So naturally, this Episode has no UML content. But it was necessary to set the stage and to introduce ......

Posted On Wednesday, November 26, 2008 7:04 PM

Ulterior Motive Lounge Intermission 3: Plan for the Future, Learn from the Past
UPDATE: My word, what a lot of typos! I blame the bright sunlight and the glare it created on my Tablet PC. And I wasn't gonna move, because bright sunlight in Michigan is a rare treat right now. Fixed! In our last Episode, The UML Guy and Geek Girl explored how State Diagrams help you to model the rich range of flow in a user interface. Today, The UML Guy has an announcement. (Click picture for a larger image.) To this point, the Lounge has been somewhat random and piecemeal. (In other shocking ......

Posted On Wednesday, November 19, 2008 1:55 PM

So one time, I showed a friend a Web site for a project I was working on. And he asked an interesting question: Well, you're design guy right? Shouldn't you be writing a design document? And what I suddenly realized was unclear was that the Web site was a design document. It was just a design document of a very different sort. It was basically a step one design document, serving as a way to put the ideas in a concrete form for discussion. The team kinda knew what the product should do, but not every ......

Posted On Saturday, November 15, 2008 4:04 PM

And somehow...
...I managed to get through the entire Agile Summer Camp without drawing a single UML diagram. I must be coming down with something...

Posted On Saturday, November 15, 2008 3:39 PM

The "Martin the Moron" Effect
Inevitably as I discuss modeling and requirements, I find myself discussing The "Martin the Moron" Effect. And that's important enough that I wanted to revisit it here. The "Martin the Moron" Effect is as simple as this: I want to hear "Martin, you're a moron" on day 2 of a 200 day project; because if I don't, then it's almost guaranteed that on day 500, I'll hear, "Martin, you're a moron, and we're not paying for this!" Early modeling is not about being right; it's about being wrong, but in interesting ......

Posted On Saturday, November 15, 2008 3:31 PM

The Number One Rule of UML Tools
The Number One Rule of UML Tools: They all have quirks. Every single one of them. (Even mine.) They'll all drive you nuts, and frustrate you, and disappoint you. So a little frustration and disappointment shouldn't make you give up on a good tool. You just gotta compare it to other tools, see if it does what you need, and then learn to cope with/circumvent its quirks. (And you whiteboard guys who say, "See? Quirks! You should just give up and use a whiteboard! It has no quirks!"... It has no memory ......

Posted On Saturday, November 15, 2008 3:29 PM

Where'd You Get Those Pretty Pictures, UML Guy?
They are pretty, aren't they? As much as I'm excited about Rosario, I can't give Rosario credit for these diagrams. It's still a Community Tech Preview, remember. No, I draw most of my production diagrams these days with Enterprise Architect from Sparx Systems. I'm really looking forward to Rosario's integration with VSTS's process tools, which I find to be top-notch; but until Rosario can match it, Enterprise Architect is my second-favorite UML tool. (It's my first favorite if we ignore the UML ......

Posted On Saturday, November 15, 2008 3:27 PM

Absolutely! (Not!)
There are only two words you should never believe: "only" and "never". Oh, and "always". And "every", "each", "none"...Yeah, that's more than two. You didn't believe "only", did you? Never do that! Whenever the stakeholders tell you an absolute, don't believe them. Challenge them on it. Make them prove it. Make them defend it. Make them put it in writing. Or if it's not the right time to be challenging them, make a note of it; and then later, come back and challenge them and make them defend it and ......

Posted On Saturday, November 15, 2008 3:24 PM

"Where Do I Start?" Part II
After a shameless plug for my UML Applied Class, I tried to give some answers to the question: "I want to learn UML, where do I start?" I also demonstrated how I like to give multiple answers to seemingly simple questions. I want to add yet more answers to that question. I discussed how a sequence diagram lets you explore and document how objects call other objects to carry out some requirement. A related diagram is a communication diagram, which shows which objects are allowed to communicate with ......

Posted On Saturday, November 15, 2008 3:21 PM

"Where do I start?"
Friends and family claim I have an annoying habit of answering a question with a question. They think I'm being difficult, and they think the answer I deserve is a kick in a tender spot. But I have a reason: I’m convinced that the answer to most useful questions is: It depends. The best answers depend not just on the question, but on the context. So when people ask me “I want to learn UML, where do I start?”, my answer is, “Where are you stopped?” Well, OK, my first answer is, "My UML Applied Class." ......

Posted On Saturday, November 15, 2008 3:10 PM

"Legible" does not mean "Pretty"
The point of UML – and I'll repeat this often – is communication. But there are different kinds of communication, even when the medium is the same. For example, speech is a very common communication medium; but there's a very wide range of speech styles that all manage to communicate. The stops and pauses and half-finished sentences and even grunts of a casual phone conversation between old friends are very different from the formal, scripted, ritualized sentences of a traditional marriage ceremony. ......

Posted On Saturday, November 15, 2008 3:00 PM

Copyright © Martin L. Shoemaker | Powered by: