The three things a Business Analyst should think about during meetings

When it comes to working as a business analyst, I’ve learned that there are just three things you need to keep in your mind when meeting with your customers (the project sponsor (gold owner) and domain experts (“goal donors”)) to gather requirements. These three thoughts will keep your meeting on track, lead you to the next question, and will help you know when your work is done.

The best UML “Use Case” definition I know alvin May 8, 2018 - 7:10pm

Every time I read an article or book about UML “Use Cases” I cringe a little bit. Every author says something like “Jacobson left the definition of a Use Case too open,” and then they try to work through some elaborate scheme of what a Use Case means to them. IMHO, the best use case definition was created in the early 1980s, long before Jacobson mentioned the term.

Estimating software development projects

I tend to forget that I've written a lot of articles and tutorials that are out of the content management system that I now use to run, and last night I stumbled across an article I wrote on software cost estimating that I happen to think is pretty good. So, to make that article easier to find, here's a link to my software cost estimating tutorial.

(As you'll see from the look and feel of those web pages, those pages are formatted very differently, but you'll still be on the website.)

Business Analyst: How to write accurate software requirements

When you're working as a business analyst, the words you write are what you get paid for. Just like the author of a book, when you write software requirements, you shouldn't be loose with the words you write.

While working on a recent project, I started thinking about software requirements again, and was reminded how vague a requirement can be, even when you think it's well written. What made me think about this today was running across this performance requirement I found in an a requirements specification:

How to know when a software requirements specification process is done

Summary: This short article describes a way to know when a software requirements specification is complete by using Function Point Analysis techniques.

I've written dozens — maybe hundreds — of software requirement specifications over the years, and at one point in my career I learned an important little secret about knowing when the process of gathering requirements for a software requirements specification was really complete. Here's my secret.

UML Use Case examples

Summary: A collection of UML Use Case examples (software requirements examples), based on a "real world" project.

I've been taking a little time lately to document a lot of what I know about UML Use Cases, and today I thought I'd take a few moments to link up to Use Cases I wrote for a client back in 2004. The client graciously allowed me to reprint these on this website, as long as I removed their name from all the documentation.

A Use Case example of yesterday's User Story

In my Use Case quality article yesterday I wrote about a "User Story" for a fictional "User Logs In" requirement. To complete that article, I promised to write a Use Case version of that same user story. Here then is that sample "User Logs In" Use Case, which you can compare to yesterday's User Story.

Arizona Immigration Law, the U.S. Constitution, and Software Requirements

As the Arizona Immigration Law continues to make big news here in the United States, I decided to read the United State Constitution for the first time in thirty years.

As someone who has written dozens of software requirement specifications, the first thing that jumps out at me is that the U.S. Constitution would have never been approved as a requirements specification on my projects. Terms like "people", "person", "tranquility", and "unreasonable" are so vague that from a software decision-making process, they are useless.

All I can imagine at the moment is going up to Mr. Washington and Mr. Jefferson, and saying:

"Excuse me gentlemen, I'm working on the security model for our web app, and I'm wondering if you can clarify a few terms for me?"