Chip's Quips
A tiny spark of wit for a highly flammable world

Requirements specification for writing a requirements specification (excerpt)

October 29th, 2007 2:30:13 pm pst by Sterling Camden

Use cases

Primary actor

Author

Stakeholders

Developer
Tester
Documentation specialist
End user
Technical support

Preconditions

The Author is expected to be omniscient and inerrant with regard to the problem domain.

Primary flow

  1. Author estimates how long it will take to write the specification, a number usually extracted from the anterior portion of Author’s digestive tract.
  2. Author analyzes and documents the feature in English, a different language than that used in the subsequent implementation.
  3. All stakeholders review and eventually sign off on the specification, without paying attention to what it actually says. Much time is spent correcting the use of “shall” and “may”.
  4. Developer ignores the specification, and implements the feature “the way it should work.”
  5. Tester painstakingly constructs tests for every requirement in the specification, including the eventuality of a Category 5 hurricane.
  6. Most of those tests fail, to the secret glee of Developer — who suggests that the specification be modified.
  7. Author duly modifies the specification based on a misunderstanding of the implementation.
  8. Documentation specialist documents the feature based on a misinterpretation of the original version of the specification.
  9. Author and Developer review the documentation, ignoring those errors. They each suggest numerous, conflicting modifications to correctly paint the important role played by their chosen framework.
  10. End user discovers a problem with the feature and calls Technical support.
  11. Technical support informs End user that the supposed “bug” is actually part of the design, and is in fact a highly valued feature provided by the chosen framework. Technical support takes every pain to politely insure that End user is fully aware of his/her own ignorance in this matter.

Alternate flows

4. Developer worships the specification, and slavishly implements the feature according to the letter thereof — especially its mistakes.
8. Documentation specialist becomes aware of modified specification, and adjusts the documentation to misinterpret the newer version.
10. End user discovers a problem, but doesn’t bother to call Technical support because he/she has already had his/her self-esteem sufficiently lowered by his/her boss that day.

Exceptions

Author and Developer understand each other completely, all tests pass, Documentation specialist’s interpretation nails the specification and behavior, and the End user is happy with the feature. This is an unlikely scenario, but should be documented here in order to insure that it is prevented.

Specific Requirements

1. Author

1.1 Author shall gather all use cases and exceptions for the feature prior to writing any code.

1.1.1 Omission of any use case or feature shall throw an AuthorOmniscienceFailureException.

1.2 Author shall provide an accurate estimate of the time required to write the specification.

1.2.1 Failure to meet or beat this estimate shall trigger an analysis of Author’s failings. Depending on the determined source of failure, one of the following exceptions shall be thrown: ExcessiveWorldofWarcraftException, InterviewingFrequencyException, BlogOverflowException, or the more general LazyAssAuthorException.

(etc.)

Posted in Geek Meditations, Wildly popular | 6 Comments » RSS 2.0

Chipping the web – P(18)

October 28th, 2007 3:54:26 pm pst by Sterling Camden

Chipping the webBrad Bird and others have repeatedly used A113 for license plates and other letter/number combinations in their movies, as an inside joke.

Windows Vista really guzzles electricity — when I’m remote and using the EV-DO card, my HP notebook drains its 8-cell battery in about an hour. But Chris Pirillo pointed me to Vista Battery Saver, a little utility that can automatically turn off Aero and the sidebar when you’re on battery — supposedly saving lots of power. I haven’t had a chance to benchmark the battery life yet — going on EV-DO here is painfully slow — but I’ll update this when I do.

As Pope said: “What oft was thought, but ne’er so well expressed.” That’s why they call them programming languages.

Speaking of language, check out Teh Holiez Bibul. I wonder if we’ve finally found a translation that can make Numbers chapter 7 interesting (thanks, Assaf). You know, maybe this LOLstuff is getting just a little out of hand.

The Tao of Frameworks.

Mohan bemoans domain realtors who drive up prices for domain names. Not sure how I feel about that one. My anarcho-capitalist side says that the fact they can get more for the domain names means that the standard prices are artifically low — the same principle as scalping tickets. On the other hand, if they’re really using insider information, then perhaps something should be done about it.

Just when I thought I’d escaped from the office

Posted in Share the Love | 3 Comments » RSS 2.0

Avoiding page rank rankness

October 25th, 2007 11:10:33 am pst by Sterling Camden

A couple of weeks ago, I was tagged by Tish on a meme that’s openly designed to promote your blog and multiply links to it via a pyramidesque chain-letter scheme.  While I’m always flattered to be tagged by Tish, something about participating in this meme didn’t feel quite right to me — so I put it off to think about it for a while.

Then the Great Google decided to alter its Almighty and Ineffable Page Rank Algorithm to penalize pages that appear to be linking just for the sake of linking.  Scoble thinks this is no big deal because PR as such does not really exist — it’s more topic-specific now, says Robert.  But the change in algorithm may affect searches for relevant content as well, and as Mohan points out it’s the smaller sites with fewer regular readers that rely more on search engine traffic who will be penalized the most.

I suspect that a post that’s almost entirely comprised of numerous links to blog posts, and closely resembles other posts on those sites, just might get caught in Google’s anti-splog crosshairs.  So I’m going to give that meme a pass, and I’d suggest that other bloggers avoid overtly gratuitous linking until we see how this all shakes out.

Incidentally, it appears that there is no etymological connection between the two meanings of the word “rank” used in the title — they come from different roots.

Posted in Too Oh! | 21 Comments » RSS 2.0

Cheers, from here to St. Louis

October 22nd, 2007 4:35:06 pm pst by Sterling Camden

Look what arrived just in time for my birthday: Adding Ajax, by Shelley Powers – sent to me by none other than the author herself.  Thanks, Shelley!  Although, it isn’t a signed copy… nor does it have a personal note saying how she couldn’t have done it without me — I guess because she did do it without me.  I mean, about the only help I provided was a little ra ra moral support in her blog’s comment section.  So, I’m very grateful for the free copy — I would have eagerly paid the cover price for it if Shelley hadn’t so graciously given it to me.  I’ll be diving into this just as soon as I finish one of my current reads.

So yeah, I mentioned my birthday.  Even though it wasn’t exactly on my birthday, yesterday was the closest to that inauspicious date on which the Seahawks played a home game, so my daughter and I went to Qwest Field to witness the spectacle.  The game was sold out, like all others this season — and eBay was getting two to three times the standard price for tickets.  We traveled to the stadium without having any, but we found a season ticket holder just outside looking to sell two tickets at the last minute — and got them for a steal.  South end zone, lower level, row T.  We had a great view of the action, except for when they were playing very near the opposite end of the field.

Screaming is not optional at Qwest field — it’s a duty for all fans to make as much noise as possible when the visiting team has the football.  The Seahawks believe that’s why Qwest field holds the record so far this season for the number of false-start penalties called on visiting teams: the efforts of the “12th man” — the fans.  OK, so maybe that’s a little outside the rule book — just think of it as user-generated content.  The stadium seems to amplify the sound as well.  It was so loud even before the game that my daughter almost didn’t make it to the kickoff.  But she soldiered on (helped by a little hot cocoa) and actually enjoyed the game all the way to the final tick of the clock.  I enjoyed it too, because even though our offense did not look like Superbowl material, the Rams didn’t even look like NFL material (they are still winless this year) – and the Seahawks dominated them 33-6.  What made this particularly delectable is that for the last few years the Rams have been the toughest rival in our division — but it would have been even sweeter if we had beaten them when they didn’t suck.

Hmm… the Rams are from St. Louis, which is also where Shelley lives.  Sorry, Shelley – I don’t know if you follow (American) football, but — go ‘Hawks!

Ouch — there goes my throat.  I yelled so much at the game I can hardly speak, so forgive me if I blog at a whisper.

Posted in Bound but not Gagged, Geek Meditations, Oleum perdisti | 12 Comments » RSS 2.0

Hello out there!

October 19th, 2007 12:02:00 pm pst by Sterling Camden

We were hit by a big wind storm yesterday, which blew down a lot of big branches and brought down power and telephone lines all over Bainbridge Island.  A large part of the road we live on is closed to traffic due to low-hanging power lines.  Amazingly, our power didn’t go out — other than quite a few momentary flickers.  Having all computers on UPS’s is a good thing.  However, DSL and phone service went down late yesterday and still hasn’t been restored.  Thankfully, I have Verizon EV-DO service, but out here in the woods I get a whopping 9.6 kbps (according to the CNET Bandwidth Meter) – it’s just like back in the days of 9600 baud modems, except that the traffic I’m attempting to force down that tube is considerably bulkier than with the old character-cell terminal emulators.  If I’m a little quieter than usual, I hope you’ll understand.

Posted in Blog Blog, Get a Grip | 6 Comments » RSS 2.0

Chipping the web – license plate

October 17th, 2007 6:46:54 pm pst by Sterling Camden

Chipping the web

SOS: 112 is a uniform emergency telephone number for the European Union.

Lone Wolf vs. Pair Programming.  I’m almost always a lone wolf, but I have had some amazing pair programming experiences.

Top 10 things Vaspers does not want to hear from someone emerging from the bathroom.

Why we curse (warning, strong language — thanks, Assaf).

Speaking of Assaf, I didn’t even know he had co-authored a book on Ruby.  Might have to get that one.

Definitely right brain (thanks, Randy).

Widget watchLune uses my OPML browser widget.  Better get the latest version, Lune.

Thanks for the link-love, Sergio.  I’d like to hear more about what you think of the SLF, and I’m sure apotheon would, too.

T.F. Sakaguchi has me in his/her blogroll.  Thanks, T.F!

Giving myself a little link-love (you can watch if you want to):

Kleenex, please!

Posted in Share the Love | 8 Comments » RSS 2.0

Bainbridge Island mourns one of its own

October 17th, 2007 11:54:07 am pst by Sterling Camden

Living on Bainbridge Island, it’s easy to forget about violent crime — nobody’s been murdered here since the last millenium.  But a recent killing might as well have happened here, since it touched the lives of so many Bainbridge residents.

Last Thursday, Jeff McKinstry (pictured left) was murdered in the driveway of his Kingston home.  He was stabbed with a steak knife, allegedly by his 21-year-old son, Garrett McKinstry, who police say confessed at the scene.  They had been arguing, and Jeff had told his son to move out.  After the stabbing, Garrett allegedly said that he tried to hide the crime by dousing the body with gasoline and setting it on fire, but was unsuccessful.  According to a report printed in today’s Bainbridge Island Review (and apparently not online yet), this was not the first occasion on which Jeff was stabbed by his son, but charges were never filed.  Police had also attempted to contact Garrett on an earlier occasion concerning his involvement in a shoving match at a local pub, but had not located him.

When Jeff’s son was born and they named him Garrett, I don’t think Jeff ever imagined that he would grow up to kill him.  And I expect that as Garrett gradually became more violent, Jeff thought that he could be helped without resorting to the law.  As my wife said, you never know the whole story unless you were there, and maybe not even then.  But apparently Jeff was unable to control the violent tendencies of his own son – even though he was able to help so many other young people in so many ways.

For the last twelve years, Jeff was a counselor at two different Bainbridge Island schools — including the one our son attends.  He contributed to every one of our IEP meetings, and he worked to insure that our son got the teachers and support systems that he needs.  My wife last saw him on the very day of his death.

Whenever Jeff encountered our son in the school hallway, he would encourage him and ask him how things were going.  He’d usually give him a big ”thumbs up” as they parted.  Lately, our son has started using the “thumbs up” to indicate that we made a good decision or that he likes the current state of affairs.  When my wife told him about Jeff’s death, he didn’t recognize the name — but when she showed him Jeff’s picture, he remembered the “thumbs up”.  I’m sure that whenever he gives us this sign in the future, we’ll remember Jeff.

School was out on Friday, but on Monday many former colleagues came to the school to grieve with others who knew and worked with Jeff.  Jeff’s own father also came to the school, and he comforted many of the teachers and staff.  Two ad hoc memorials materialized, one at the school’s sign by the street, and another at the school entrance where Jeff always greeted the students as they arrived in the morning.  Memorial services will be held tonight and Saturday, at each of the two schools where Jeff had been counselor.

For many years prior to arriving on Bainbridge, Jeff had worked as a counselor in various North Kitsap schools.  Before that, Jeff traveled to the refugee camps of the Vietnamese boat people to teach them English before they migrated to the United States.  Jeff recently published a children’s book, The Adventures of the 31st Street Saints — and he just finished writing its sequel, which has not yet been published.

Thanks, Jeff, for working so hard for our son – and for so many other people as well.  Despite the tragedy of your death, we give you a big “thumbs up”.

Posted in Get a Grip | 4 Comments » RSS 2.0

Akismet rolls over the spamodometer

October 15th, 2007 11:11:03 am pst by Sterling Camden

Congratulations to me… I guess.  I’ve been using Akismet now for 17 months, so that’s an average of 5888 spam comments per month, or almost 200 per day.  And that’s just on Chip’s Quips — not counting what I get on Chip’s Tips.  And of course, it started out slower — so I get much more that 200 per day now.  More like 300 to 400.

I don’t know how I’d manage without Akismet and engtech’s Auntie Spam.  I’d probably have to disable comments or hamper them in some way, and that would hugely degrade my blogging experience.  Hearing from you is one of my favorite parts about writing this blog.

Posted in Get Outta Here | 4 Comments » RSS 2.0

Island time

October 12th, 2007 6:22:37 pm pst by Sterling Camden

Living on an island has its advantages, but also its hindrances.  Like when your return flight into Seattle gets delayed because of an electrical problem and everyone’s forced to deplane and board another jet and arrive in Seattle at that time of night when the ferry’s scheduled departures start to spread out and you’re biting your nails urging the cabbie to drive as fast as he can to the ferry terminal because you want to make the 12:20 and you get there just in time to find out that it’s really a 12:15 and you just missed it.

And the next ferry isn’t until 1:35 AM.

And everything’s closed anywhere near the terminal.  You could walk up to Pioneer Square where the music’s always playing, but you’d have to carry your bags with you and might be just in time for stabbing hour.

So you sit in the ferry terminal reading Aristophanes and drinking vending machine orange juice because they don’t even have coffee and you have to stay awake because if you miss the next ferry you’ll get to spend the night.

But I made that ferry, and caught a cab home.  I stumbled in about 2:15 after having been up since 6 AM and of course after having been away from my wife for three days I couldn’t go straight to sleep and I vowed when I finally closed my eyes that I would never open them again.

So I slept in and had a late breakfast and reunion with my children and went to get the dogs from the boarders (about an hour and a half round trip) and back in their kennel and play with them for a while after all this time away.  Finally I unpacked my computer and reconnected all the peripherals and reminded Vista that I really do have two monitors and here’s how I want to use them and read my email that had backed up like a bad toilet and didn’t even touch my feeds and played catch-up all day and now it’s the end of the day and I’ve barely gotten anything accomplished.

That’s the hindrance of living on an island.

Posted in Get a Grip | 3 Comments » RSS 2.0

Bad atheism

October 9th, 2007 5:13:41 pm pst by Sterling Camden

Last night my wife and I sat biting our nails watching the Yankees lose their final playoff game, when Bobby Abreu hit a solo home run in the ninth to make it 6-4.

“I’m not really a believer in the power of prayer, ” my wife said, “but it just worked.”

I got red wine up my nose.

Unfortunately, her fickle faith was not enough to save the Yankees’ game, series, playoffs, season, and careers.

Posted in Out of Nowhere | No Comments » RSS 2.0