Tuesday, June 28, 2005

"Requirements Specification" is an Oxymoron

I've never liked the term Requirements Specification or Software Requirements Specification even though these are widely used in the industry. There are requirements and there are specifications. The two are always different in my mind. Indeed, Webster's defines them differently.

re-quire-ment: something wanted or needed; something
essential to the existence or occurrence of something
else.

spec-i-fi-ca-tion: detailed precise presentation of
something or of a plan or proposal for something; a
written description of an invention for which a patent
is sought

You can specify designs. You can specify architectures. Blueprints are specifications. Source code is a specification. Pseudo-code, state diagrams, and message sequence charts are specifications.

A statement of need is never precise or detailed. It should be clear, unique, feasible, and testable, but it cannot be precise or detailed.

The user interface shall be responsive, is a requirement. It's a poor requirement, but it's still a statement of need.

Lamp X shall illuminate 100 ms after button Y is pressed, is a specification. It defines a precise description of events. It's not a requirement. No information regarding the stakeholder's need has been conveyed.

I can usually spot a specification when I see one. A good requirement is difficult to identify and even harder to write. Authors naturally tend to slip into writing specifications because they don't know how to express their needs. Requirements are also subjective. Some people might view the statement, the UI shall be responsive as failing to convey need. One can always ask, why must the UI be responsive?

I admit I'm on a holy crusade to eradicate the term Requirements Specification. Let's call it a Requirements Document or a Requirements Database. Let's save the term specification for the Software Specification that will follow the Requirements Document. Typically this is a High Level Design and Low Level Design. Those documents are worthy of the title Specification.

Sunday, June 19, 2005

Yahoo Music Service

I signed up for Yahoo's Music Unlimited service last week. I've found it to be quite nice. I don't often go looking for the deep tracks, so Yahoo's catalog seems pretty big to me. You can't beat the price. $60 for a year of Yahoo is cheaper than 5 CDs! Looking at my collection of 300 disks, I could have bought 60 years of Yahoo music for less!

I don't have an iPod, but I do have an iPAQ with a 1 Gig flash card. I also have an old portable CD player and a CD deck in my car. None of this stuff works with Yahoo's service which relies on the recently created Windows DRM 10 (aka Janus) to protect its music. I don't want to shell out $250 for a new portable music player and I don't want to pay an extra $0.79/song for a burnable copy, so I set off to find a cheaper solution.

Friday, June 10, 2005

Chevrolet is Phishing?

Today I received e-mail from Chevrolet that began like this:

Recently some of our unsubscribe data
was deleted. Please help us update our
records to ensure that we have captured
your preferences correctly.

If you have previously unsubscribed from
Chevy email communications, please
unsubscribe again
http://www.imail.imrsvcs.com/UM/U.asp?...

I would never respond to such a message because it looks like phishing. There's no valid return address. The website they ask you to respond to is the mysterious imrsvcs.com rather than chevrolet.com. The entire premise of the message seems dubious and there's no way to verify the story.

It looks a spammer trying to verify my e-mail address so they can send me more junk mail. I wouldn't click the link and I'd make the same suggestion to everyone else. I've seen lots of e-mail from people claiming to be eBay asking me to log in to some non-ebay website before they cancel my account. Don't fall for it!

To Chevrolet and any other business that needs to send a message like this, I suggest you always direct recipients to a page at your main website and then redirect them if necessary. There's no other way to verify the authenticity of your e-mails. You should also get an e-mail signing certificate from a recognized authority (like Thawte) and digitally sign your message. I sign (almost) all of my e-mail. Why can't a company like General Motors do the same?

Out of curiosity, I went to whois.net and checked the ownership of imrsvcs.com. It turns out that it belongs to Electronic Data Systems Corporation who I happen to know is a major supplier of data services to GM, so this message is probably legitimate. Ironically, the whois record will take you to markmonitor.com that advertises EDS's Phishing Fraud Protection service of all things! That's pretty sad.

Wednesday, May 25, 2005

"My Money Blog" Tips for Free

"jp" runs a great website about personal money management called My Money Blog. The author is publicly tracking his net worth as he works to accumulate $1 million starting with basically nothing as a 20-something year old college grad. It's a brilliant idea and I wonder how long it will be before he starts earning more from his website than his day job.

It's easy to find stuff worthy of comment at My Money Blog which keeps readers engaged while presenting Google ads and promoting books for sale. I got sucked in by this post:

Through the Massachusetts Institute of Technology Open CourseWare (MIT OCW) Project, you can get free, searchable, access to MIT's course materials for educators, students, and self-learners around the world. From Aeronautics to Women's Studies, they currently have over 900 courses published online, with a goal of making virtually all course online.

Poking around for a bit, they have handouts, sample exams, lecture notes, even digital pictures of the blackboards! The only thing missing is the sound of the guy beside you snoring. I always wondered why someone couldn't just walk into most university campus classrooms, sit down, and learn just about everything I did, minus the diploma. It would take time and some passion, but you could do it...

Like I said, each of his money saving tips invokes some thought as to their practicality. In this case, I replied:

In Good Will Hunting, Matt Damon said, "You dropped 150 grand on [an] education you could have gotten for $1.50 in late charges at the public library."

There are obvious reasons why you can't get a free education, but I'll state them here anyway. First of all, most institutions prohibit outsiders from auditing courses. It may not be rigidly enforced, but I think if you started attending every lecture you'd get kicked out sooner or later.

More importantly, there is no group involvement or feedback on your progress. The professor critiques your work and you learn a lot through that process. You also learn by interacting with your peers on group projects and study sessions. All of that would be lost.

Maybe somebody would like to take on the antithesis project. Let's hear from a 60-something person retiring today with $1 mil in the bank and watch as they spend their way to $0.

Sunday, May 8, 2005

Software Patents

Could Patents Ever Be Beneficial?

Clearly software patents are not urgently needed by anyone except patent lawyers. The pre-patent software industry had no problem that was solved by patents; there was no shortage of invention, and no shortage of investment.

I have to disagree with this. Some software patents represent considerable investment. Consider compression or encryption algorithms. A great deal of research goes into creating a highly efficient compression algorithm like MP3. If there were no patent protection and no opportunity for licensing revenues, we might not have things like portable music players.

You can read more about The Case Against Software Patents from Jason V. Morgan but I still can't agree with the basic premise that all software patents should be abolished. Patents and the promise of licensing revenue drive basic research into complex algorithms and protocols.

Saturday, May 7, 2005

m-Payments Through Cell Phones

I recently got into a discussion on JavaRanch about mobile payments (m-payments). It started with a simple question.

Are there m-payment systems which are done in J2ME? Would be really grateful to know about any company which is using that kind of a technology, case studies and thesis? What about the trend of M-Payment systems.

Several others expressed interest in the topic so I added my thoughts and I'm going to rehash them here. Basically, I think that you already can use your phone in place of a credit card or a check in certain circumstances, but for whatever reason, consumers don't do it and merchants don't encourage it.

Thursday, April 14, 2005

Solstice Brings a Long Day for Apprentice Hopefuls

If you saw The Apprentice today, you know Pontiac starts taking orders for the Solstice tomorrow. Sign me up! Sure, maybe I'm biased. I spent 18 years working for General Motors. I've heard some insider information about this new roadster. None of that would matter anyway. Even a blind man couldn't miss the beautiful curves of this gem. I've been planning to part with my 1991 Alfa Romeo Spider this summer and I'm searching for a suitable replacement. Pontiac definitely has a winner. I went on-line tonight and got an official early order ID. I'll be heading to the dealer tomorrow afternoon to see if that number lets me place an order.