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.
It's all about communication. The real core skill in software developemt is not a technology skill.
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

Calculating the ROI for Requirements Analysis
My buddy Josh Holmes has written a very excellent post on the Return on Investment (ROI) for software. I recommend it to anyone who sees software as a business, not just a job or a hobby. Last week, the always-worth-reading Patrick Greene made a comment that made me start thinking specifically about the ROI for Requirements Analysis. Most teams and most managers know they have a requirements problem; but too many of them say, “But we’re too busy to fix it, so we’ll just start coding.” Or “We’d like ......

Posted On Monday, May 4, 2009 7:53 PM

Usability 101: Don't Do This! (I'm Talking to YOU, Microsoft!)
From PowerPoint – 2007, no less! On one page, we can set the size. X and Y are arranged horizontally, Y first. On the next page, we can set the position. X and Y are arranged vertically, X first. This has confused me practically every time I’ve had to edit the size of something in PowerPoint. I know it’s there. I do. But the behavior is so counterintuitive, I just can’t get my brain to think this way. It’s just wrong! Personally, I would prefer size and position on the same page; but I can see the ......

Posted On Friday, March 13, 2009 6:54 PM

Stray quote for the day…
By and large the literature of a democracy will never exhibit the order, regularity, skill, and art characteristic of aristocratic literature; formal qualities will be neglected or actually despised. The style will often be strange, incorrect, overburdened, and loose, and almost always strong and bold. Writers will be more anxious to work quickly than to perfect details. Short works will be commoner than long books, wit than erudition, imagination than depth. There will be a rude and untutored vigor ......

Posted On Wednesday, March 11, 2009 10:59 AM

Ulterior Motive Lounge Episode 32: Talking with Pilot
Continuing The Project that Time Forgot, a UML case study. (Click images for larger versions.) On the surface, this Episode may seem almost social. Demented and sad, but social. But if you could join Hacker Girl, reading Geek Girl’s Tablet PC over her shoulder, you might see a different picture: And you would also see this diagram: You saw a conversation. Geek Girl hopes that Pilot saw a conversation. But she saw an interview, and a chance to capture and model requirements. Let’s review the notation ......

Posted On Wednesday, March 4, 2009 4:06 PM

You're Selling Software
Update: Fixed a typo and a calculation error. Josh Holmes has a great post on Return on Investment (ROI). And by “great”, I mean great even by Josh’s usual standards. He worked hard on this one. I was privileged to review three drafts before he published it; and by draft two, I was saying, “Josh, this one’s a winner. I’m going to reference this one a lot.” So stop reading me, and go read what Josh has to say. I’ll be waiting here when you get back. OK, you’ve read it. Pretty scary, huh? But the scariest ......

Posted On Tuesday, February 24, 2009 3:33 PM

The Analyst's Chorus

I am the mirror, reflecting what you say to me.

I am the mirror, I’ll show you where you want to be.

Talk to the mirror, I’ll tell you what you really said.

Look in the mirror, I’ll draw the picture in your head.

There in the mirror: it’s what you didn’t know you knew.

I am the mirror, and I’m listening… to you.

Posted On Friday, February 20, 2009 4:00 PM

An Argument for Requirements Analysts
An attempt to trade quality for cost or schedule actually results in increased cost and a longer schedule. Steve McConnell, Professional Software Development What has long been known in other businesses is true for software development as well: if you cut corners for shorter schedules or lower costs, you will get longer schedules, higher costs, and higher defect rates; but if you take the right measures to lower defect rates, you can get lower defect rates and shorter schedules and lower costs. As ......

Posted On Tuesday, December 16, 2008 6:11 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

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 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

Ship It On The Side

Curtis Gray informs me that the first Ship It On The Side podcast is now published.Listen to us talk about building and shipping great software while holding down day jobs.

 

Posted On Saturday, November 29, 2008 3:59 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

And-every-single-one-of-them-is-right!
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

The Echo Effect
The primary conundrum in requirements analysis is simple: how can you be sure that you understand what the user said or wrote? Analysts have to master the terminology and domain of the customers. Only customers can verify that analysts have done so. This is made more difficult by many forces: The difficulty of learning a new domain and new terminology. The slippery nature of language. Overloaded language: you understand the words they’re using, but not the domain-specific way in which they’re using ......

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

The Outline Effect
And as long as I'm posting UML tips to get you ready for the case study, there are two other analysis effects you should strive for. The first of these is The Outline Effect. It’s difficult to learn a new domain. Analysts have to constantly learn new domains and requirements. They’re always learning and studying. How can they better focus on the information that they gather and draw knowledge from it? Some teams work in the same domain from project to project, but many teams tackle a new domain with ......

Posted On Saturday, November 15, 2008 3:33 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

"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: GeeksWithBlogs.net