Entries from February 2008 ↓
February 25th, 2008 — rant, software development, technology
I recently blogged about a small software project with which I’m involved that is saddled with using a waterfall project methodology; I have never been a fan of the waterfall method but, on this project, I am being engaged through another consulting company that is providing the project management, so I have no choice. I’ve estimated that the software development portion of the project will entail 120 man hours of effort — a very small project. Yet, for this small 120 hour project, I’ve seen 3 major revisions of project scope documents and four weeks slip by while the project manager attempted to "nail down the requirements" with the client.
Now it appears the client has signed off on the "final" project scope document and is ready to begin the project. So the project manager met with us on Friday to kick off the project and discuss the project plan.
A 105 step project plan!
For a software project that is estimated for 120 man hours.
To paraphrase Churchill, never in the face of human endeavor has so little been tracked by so many to so few.
At this point, the client has many pages of requirements documents and an exhaustive project plan, but not a single line of working software code. The management structure of the project has already consumed more time and effort than the actual development of the project’s ultimate deliverable — working software.
Somebody please explain to me how anyone can still place any value on this style of project management.
February 19th, 2008 — history, irony
This article is probably the only place you will ever see these two men together. Both of these men played large and very different parts shaping historical currents that eventually culminated in the American Civil War.

On the left is John C. Calhoun, senator from South Carolina and Vice President for both John Quincy Adams and Andrew Jackson. He was one of the most powerful politicians in the country until his death in 1850. He was a staunch believer in States Rights and in the "positive good" of the institution of slavery. He was, in a sense, the patron saint of the South’s secessionist movement.
On the right is John Brown the abolitionist, famous for his roles in the Pottawatomie Massacre in Bleeding Kansas, and the leader of a slave revolt at the Harper’s Ferry Armory for which he was hanged. He is hailed by some as a martyr, while others view him as a terrorist.
Isn’t it ironic that they look so similar? , Especially the set of their jaw and the zeal in their eyes.
February 19th, 2008 — history, random
You can file this under "Strangest Thing I Learned Today". It’s fairly well known that James and Dolley Madison popularized ice cream by frequently serving it during their tenure in the White House. As stated on Wikipedia,
Ice cream was introduced to the United States by Quaker colonists who brought their ice cream recipes with them. Confectioners, many of whom were Europeans, sold ice cream at their shops in New York and other cities during the colonial era. Ben Franklin, George Washington, and Thomas Jefferson were known to have regularly eaten and served ice cream. First Lady Dolley Madison is also closely associated with the early history of ice cream in the United States. One respected history of ice cream states that, as the wife of U.S. President James Madison, she served ice cream at her husband’s Inaugural Ball in 1813.
But, do you know what Dolley’s favorite flavor was?
Wait for it…….
Oyster!
Yeah, that’s right. Oyster.
So, a quick Google reveals that oyster ice cream is apparently popular in Japan — big surprise there, eh? However, the version that Dolley served was probably a frozen version of the popular cream-based oyster stew with which most people are familiar.
Imagine the neapolitan possibilities.
February 15th, 2008 — software development, technology
I recently read a very good blog post on More Than a Living in which the author, Rick Turoczy, posits that an artisan is more important than their tools. Seems rather obvious when it’s worded like that, eh?
The author makes an excellent point.
People are quite protective of their “tools.”
Oooh. Tools. They’re oh-so-valuable. Lah-di-dah.
Their software. Their methodology. Their ways of doing things. Little flowcharts. Templates. Processes. Scorecards. Whatever.
The perceived value of these tools is huge.
But what about the actual value?
I’d say that there isn’t much value in the tool, at all.
…
In reality, a tool only becomes valuable by being a tool. By becoming something more in the hands of an artisan to manipulate it.
An artisan can quickly transition to new tools. In the MTL article, the author discusses Toby, an Excel whiz. A spreadsheet is Toby’s tool. Excel may be his choice of paintbrush today, but I’m sure he can very quickly pick up any other spreadsheet program and quickly produce a masterpiece. He is master of financial modeling.
Over the years, I’ve seen technology job postings become extremely tool-specific, e.g. the following required applicant skill set pulled directly from a job listing on dice.com. I’ve edited the layout of the post for reasons of legibility, brevity, and removal of pure BS.
- …
- Experience in Web-based software application development experience to include:
- VB.NET / T-SQL / Reporting Services / JavaScript / XML / HTML / DTS / Classic ASP / HTML / web-based forms
- internet integration server (iis) / active directory (ad) / SQL Server 2003 & 2005, SSIS, Visual Studio Team system.
- Understanding of intranet / extranet development / reverse proxy/Share Point portal / windows Share Point services.
- Understanding of impacts of multiple locations spread out globally connected by wide area network of varying speeds with varying desktop configurations.
- Understanding of multiple language, currency and locality impacts
- Use and development of web services
- Good software development practices including controlled processes and separation of development, test, and production environments.
- …
Contrast these job requirements with the idea of an artisan being more important that their tools. One cause of this type of job posting is the need of headhunters and HR personnel — through no fault of their own — to have a checklist with which to filter candidates without consuming valuable interview time and resources.
But even so, this type of job posting seems peculiar to technical industries. Have you ever seen a job posting for a carpenter that required 2 years experience with a Stanley 22 oz Antivibe Framing Hammer? Of course not.
Given an applicant’s demonstrated competency in my field (programming in my case), I don’t hire based upon experience with specific tools. Instead, I’ve always tried to hire based upon three criteria.
- Motivation. Does the candidate show a history of completing tasks and projects? If presented with a problem, do they truly attempt to solve it? Are they lifelong learners? Do they read technical books and journals? Do they play with new technologies? Is this a profession or merely a job?
Intelligence. How do they solve problems? When presented with a problem, do they latch onto the first solution they dream up, or do they develop and evaluate multiple possible solutions? Are they open to new ideas? How well do they think through the balancing of conflicting ideas, requirements, and solutions?
- Personableness. How well will this person fit on the team? I try to imagine the person on the team and how the other team members will relate with them.
Given the potent combination of motivation and intelligence, a Java programmer quickly becomes a C# .NET expert — or vice-versa; experience with specific tools is nice, but relatively unimportant. But even motivation and intelligence must be balanced with how well the candidate will fit in with a team; even the most talented performer isn’t worth the cost of disrupting your team. Terrell Owens is arguably the best receiver in the National Football League, but he has eventually poisoned the locker room of every team for whom he has ever played.
I would never turn down a top-shelf developer because they didn’t possess experience in a particular toolset.
I don’t hire carpenters because of the type of hammer in the tool belt, but rather their knowledge of construction techniques, materials, and craftsmanship. It was Einstein the artisan that revolutionized physics, not his writing implements and certainly not whatever brand of slide rule he used. Mario Andretti not only won auto races in many different types of cars, but also in many different types of auto races.
If you wanted a portrait done in watercolors, would you rule out a Rembrandt because he primarily worked in oils and engravings? I thought not.
February 14th, 2008 — irony, random
As I’m often wont to do, I checked out This Day in History on the History Channel web site.
Besides being the day associated with romance, today is also the day that penicillin was discovered by Sir Alexander Fleming.
Coincidence? Hmmm. How much penicillin has been consumed as a result of "love"?
Interestingly, the History Channel lists today as the day of discovery of penicillin, yet Wikipedia lists September 28, 1928 as the date of discovery.
February 13th, 2008 — kids, random
Here’s the middle school joke of the day, courtesy of my son.
If quizzes are quizzical, what are tests?
February 12th, 2008 — rant, software development, technology
Drip, drip, drip, drip.
Let’s take a road trip. I want you to drive me to California from South Carolina, but I’m not sure exactly where in California, just somewhere in the southern part of the state. I’ll know it’s the right spot when we get there. I need you to provide me with an extremely detailed itinerary, specifying the exact time and location of waypoints along the route. And you must provide this itinerary by merely consulting a map, you cannot check weather or traffic conditions. In fact, you’re not quite sure when we’ll be making the trip, so you can’t even take into account the season. Now imagine we’ll be using a bus on this trip, and all the passengers will be giving you directions and asking for stops along the way — but you’re not allowed to talk to these passengers before the trip. I still need you to provide a firm timetable and cost estimate for this trip.
This hypothetical trip is an example of a wicked problem - a problem whose requirements and limitations cannot be entirely known before completion.
Drip, drip, drip, drip.
Three weeks ago, my company was presented with a small project that we estimated would take about a man-month to perform. Since that time, we have met with the Business Analyst (BA) on the project three more times, and each time, the requirements have changed and we’ve been asked to re-estimate the project. Moreover, with each estimate, we’re asked to provide more detail and clarification. We have had no direct contact with the ultimate users of the proposed system. During this time, the BA has produced a few versions of a very nice requirements document, but right now, the customer has no working software. Instead, the project is going through an endless loop of analysis paralysis.
If the project had kicked off three weeks ago, it would likely be complete by now. The customer could be using the software and providing feedback to the development team so that the software could be further refined to solve the users’ particular and unique needs.
Drip, drip, drip, drip.
This situation is the inevitable result of the use of the waterfall project management methodology. The benefits of working software are being sacrificed for the illusion of control. I view this as shooting a bullet at the moon; if your assumptions, calculations, and aim are absolutely perfect — and no unforeseen circumstances occur — it just might work. But wouldn’t it be better to embrace change? To build flexibility into your methodology to accommodate change, mistakes, and unforeseen circumstances? Wouldn’t it be better to pilot a projectile to the moon?
To go back to our California trip analogy, instead of creating an extremely detailed itinerary, why not create a general overall goal and timetable with smaller chunks of milestones. For instance, let’s just say our target for the first day is to reach Jackson, Mississippi and spend the night there; we’ll cover a good amount of ground, but we’ll allow for a bit of time to deal with traffic in Atlanta and maybe a bit of weather near Birmingham, Alabama.
We anticipate arriving in Jackson in time for dinner, but if we decide as a group to take a detour to see Stone Mountain outside of Atlanta, we won’t stress about arriving a bit later in Jackson. Conversely, we may breeze through Atlanta and arrive in Jackson in early afternoon. If so, we may decide to keep going and perhaps stay overnight in Vicksburg, overlooking the Mississippi River.
But we will have a goal of getting to California. We will have a general strategy (itinerary) developed from maps and previous experience. And we will have a set of tactics to deal with unforeseen circumstances. Some of those tactics may be mitigating the risk and impact of unforeseen challenges by carrying extra maps or a GPS, cell phones for communication, credit cards for ready access to cash, and most importantly an adventurous attitude willing to embrace change.
The point being that we will drive "within our headlights". We will set short, reasonable goals that we can accurately predict and work to achieve those goals daily. If any of those goals are not met for some reason, they are reassessed and tomorrow’s goals may be adjusted — perhaps we won’t be able to go see the world’s biggest ball of string tomorrow. Who knows, with a more relaxed atmosphere on the bus, everyone might even enjoy the trip.
As stated in the Principles of the Agile Manifesto for Software Development, working software is the primary measure of progress.
Instead I’m reviewing yet another change in the requirements documentation. Three weeks of "planning" and "nailing down requirements" for a 4 week project.
Drip, drip, drip, drip.
February 5th, 2008 — random
A week or so ago, my partner and I were discussing dead end jobs — the "would you like fries with that" variety. That led me to think about truly dead-end jobs.
- Drummer for Spinal Tap.

- A red-shirted ensign on the Starship Enterprise.
- Keyboard player for Grateful Dead.
- 27 year old musician.
- Imperial Stormtrooper.
- Sparring partner for Chuck Norris.
- Attorney for Jurassic Park.
- Backhoe operator at Chernobyl
- Driver for Princess Di.
- Female companion to a Kennedy.
- Bomb defusal expert.
- Rap artist or entourage member.
- African prostitute.
- Any job that causes you to piss off Bruce Willis, Arnold, Steven Seagal, or Charles Bronson.
- Bombmaker for a terrorist cell.
- Bomb delivery boy for a terrorist cell.
- Any U.S. President associated with Robert Todd Lincoln.
What others can you come up with? Which have completely offended you and demand that you write an atomic flame?
February 1st, 2008 — books, science
I’m reading a sci-fi novel titled The Quiet Pools by Michael P. Kube-McDowell. The story started a bit slow, but now has my complete attention; it’s an extremely well-written story with multiple threads of conflict. And the story touches on many themes ranging from marital and parental relationships, to the psychology of mob violence, to humans as Von Neuman universal constructors.
The plot revolves around Project Diaspora, the building and staffing of a colonizing starship sent to seed the universe with mankind. Much of the conflict occurs between the two camps of humanity that support or oppose the project. However, the twist that has really grabbed my imagination is the selection process for the 10,000 colonists. The colonists are subjected to DNA testing and are secretly screened for the "Chi sequence", a genetic sequence of three genes A-B-C where A controls Ambition, B controls Breeding instinct, and C controls the Call. The three genes create 8 combinations that determine the type of person.
Chi Sequence
| A |
B |
C |
Attributes |
| Y |
N |
N |
Adventurers. Restless explorers. Examples of Sir Edmund Hillary, Amelia Earhart. |
| N |
Y |
N |
Breeders and nestmakers. Resistant to change. |
| N |
N |
Y |
Dreamers. Pure faith, pure reason, pure art. Priests, physicists, philosophers. |
| Y |
Y |
N |
Ambition + nestmaking = kings and tycoons. |
| Y |
N |
Y |
Ambition + dreamer = a creator. An artist or inventor. |
| N |
Y |
Y |
Nestmaker + call = good citizens. The Call expresses itself as duty and allegiance so BC’s make good workers and soldiers. |
| Y |
Y |
Y |
Statesmen, saints. Wise, altruistic leaders. The rarest combination. |
| N |
N |
N |
To quote the book:
Why do you think there are so many meaningless lives? They’re the people whose bodies give them no direction, no purpose. They don’t burn. They don’t want. They just are — instant to instant, day to day, like some cruel joke of nature. The hollow-chested Tin Men. The empty people. The damned.
|
Of course, a reader’s immediate thought is to stock the ship with people who have all the genes, the so-called Chi-positives. But no, the author argues that would be impossible, that Chi-positives are difficult. They are the glue, and have you ever tried to build something from glue alone? A large part of the project is dedicated to determining an optimal genetic mix on the ship; the only group completely excluded are the Chi-negatives — the empty people. The population mix is described as:
[the ship] needs a core of stable, loyal, dedicated people who know their plac in the plan. It needs a leavening of creative types to keep the vision alive and deal with the unexpected. And it needs wise, unselfish leadership.
From the table above, this equates to a mix of BCs, ACs and Chi-positives. But when the ship arrives at a world suitable for colonization, it will need kings and adventurers and nestmakers to build empires, explore, and make homes. Since these people will not be needed during the trip, they will be carried in gamete banks — egg and sperm banks, to be "created" as needed.
As you can undoubtedly see, this is a cool and disturbing concept, fraught with promise and peril. What a great fulcrum for conflict.
I haven’t finished this book and I already highly recommend it. I’ve already given away one of the big ideas/twists of the book, so I’ll wind up this post before giving away any more.
February 1st, 2008 — random, rant
A little over an hour ago, Microsoft announced it is making an unsolicited bid to buy Yahoo. Microsoft is bidding $44.6 billion dollars for Yahoo, or $31/share — a 60% premium over Yahoo’s closing price of $19 on Thursday.
Yahoo’s stock price opened at $28 this morning, before the offer was announced — obviously a case of insider trading. But I guarantee the SEC will turn a blind eye to Yahoo’s overnight 50% stock jump on the eve of their largest news announcement ever. It seems that unless your name is Martha, you will never be a investigated target for insider trading. How much more blatant can it be?