Archive for September, 2006

Customer Spin

Friday, September 29th, 2006

I recently read an email from another software vendor’s customer support team. In the email, the support representative stated something like ‘however, for special customers we can perform this requested DB change’. This made me start wondering whether I was really a “special customer” or whether they would do this for anyone who asked. In the end, it doesn’t really matter, because the customer (me, in this case) thinks they are receiving extraordinary and personalized attention. This is very similar to the sales tactic of congratulating a buyer on the “once in a lifetime” deal being made. While the sales version of this can be shady, especially when the deal is unscrupulous in nature, the customer support version seems much less ethically harmful. After all, most of a business’s customers are “special” in one way or another.

links for 2006-09-29

Friday, September 29th, 2006

The Accountability Myth

Tuesday, September 26th, 2006

Early in my career, I spent a lot of time collecting all the emails I had sent or received. I would have backups of 1000’s of emails lying around on servers, encrypted with compression passwords. Occasionally, I would perform a massive search on these GB’s of data to uncover a few emails discussing a topic, which had recently resurfaced. In many of these cases, the true purpose of finding one of these emails was to prove my rightness in a disagreement or occasionally show my innocence in some controversial situation (i.e. CYA – Cover Your Behind).

Nowadays, this all seems silly, and here’s why. First, if you are thinking you need to CYA something, there’s a good chance the decision should be reconsidered or handled in a different way. In other words, if your gut is not feeling good about the course of action being taken, those actions need to be changed. This sounds easy to say but often much harder to implement due to politics or other confounding aspects of the situation. Unfortunately, the career ladder is littered with those who just followed, but most of those at the top took the initiative to do something others weren’t willing to do.

Second, pulling out the old piece of “evidence” to slam your work nemesis rarely gains anything but a short pride swell and a couple of enemies. For instance, pulling out the email that says ‘I said this was a bad idea’ is not much more than documentation of your self-incrimination. If it was such a bad idea the time, a simple email documenting a stance isn’t a worthwhile method of exoneration. Other options would have included escalation to a higher authority or complete removal of oneself from the process. In this case, pulling out the old CYA email has just shown a desire to track all disagreements with your peers as well as an inability to take a stand. In the end, neither of these will create healthy business relationships nor help with career progression.

links for 2006-09-26

Tuesday, September 26th, 2006

Digg, Reddit, etc.. What’s up with all these?

Sunday, September 24th, 2006

Armed with the advice of a fellow blogger, I was playing around at the Digg and lesser known Reddit sites and even submitted a couple of my post URLs just to experiment with it. After a while, I began to wonder why and how this is so popular. First, none (absolutely none at the time of this writing) of the blogs I read have a Digg link in their feed, even master blogger Cote, which makes it tough to vote (i.e. “digg”) a particular story without a plugin installed on one’s browser. I’ve concluded that I must be missing something about how this works, because it seems like very few people would be motivated to flip over the Digg site, copy in an interesting URL and watch it grow in popularity. I realize Digg is a competitor to del.icio.us and Reddit, but is it necessary to include easy links to all these? So, what am I missing?

Strangely enough, while writing this post, Brandon asked me to “digg” a URL he submitted. The story received a few Diggs and then slowed down. So, I added the Digg RSS feed to Bloglines and started to read the stories. In general, they appear to be random stories which the Digg world has voted as popular, but it seems like this will be a hard feed to monitor, mostly because the stories are so random. In fact, the voting system seems self-feeding as popular URLs will only get more popular because they are making it to the top of this list and therefore getting more face time.

After clicking on one stories from the Digg feed, I finally found a cool feature worth considering, the comments on a particular URL. This essentially turns any URL on the Internet into a blog-like entry where anyone can comment on it independently of the home site for the URL. It was interesting to see the comments, but like a lot of other blog comments with such a large audience, quite a few were belligerent or spam. I’ll continue to monitor my new RSS feed and start “digging” a few URLs. Hopefully, I’ll catch the fever of this social content site and find some use for it.

links for 2006-09-23

Saturday, September 23rd, 2006
  • Startup selling points:
    * we’re developing an online career network that will quickly and easily enable great one-to-one personal connections
    * we want to provide working professionals with attractive job opportunities
    * we want to put the

The Bar of Gold Theory

Saturday, September 23rd, 2006

For all those loyal readers of my old blog, I decided to bring back the Bar of Gold Theory, but this time with a slightly more positive twist aimed at improving the situation. Simply put, the infamous Bar of Gold Theory:

If a person starts handing free bars of gold to anyone who asks, someone will complain.

Again with the disclaimers/assumptions:

  • There is plenty of gold.
  • The value of gold does not decrease relative to its existing monetary value. No violence ensues due to a mad rush on the gold stand.
  • Each person only gets one bar of gold.
  • Forget any other silly notions; it’s a metaphorical situation equal to many other proverbs, so ‘bar of gold’ can be easily replaced with just about any perk.

Granted it’s a subtle twist on the old saying ‘you can’t please everyone’, but in this case those who are complaining have gained something they did not have before. So, the question as a leader or peer is how to deal with this circumstance. Here are some proposals in dealing with those smitten with this dilemma:

  1. Ask if the situation is better than it was before the reward. (Sometimes a simple reminder of one’s benefits can resuscitate the optimism within a person.)
  2. Ask for a detailed scenario in which the situation would be better. (Mentally working out problems can help some see what’s there.)
  3. Ask for an outline of changes potentially implemented by trading roles, often referred to as the ‘What would you do differently if you were in my shoes?’ question. (Similar in nature to #2, this allows venting to occur which can calm down a heated situation.)
  4. Last but most importantly not least, ask for the reward back, and be courageous enough to take it back, if it would help. (This is the defibrillator method meant to shock someone into realizing their gain by showing what an equal loss would be like. In extreme situations, the overall outcome may be better by removing the reward as it has no longer retained its benefactive effect.)

links for 2006-09-22

Friday, September 22nd, 2006

Down with the “Don’t fix it if it ain’t broke” adage.

Friday, September 22nd, 2006

The next time you hear someone warn ‘if it ain’t broke, don’t fix it’, perk your ears and pay attention because dire straights may soon follow. The rate of change is increasing and what’s working today will be broken tomorrow because someone else will be doing it better, faster, cheaper, and with less effort. As the title of this blog declares “Continual Improvement”, this is the mindset necessary to compete, and frankly survive, in all areas of life today. (I was going to mention rapid globalization and technological advancement, but the double cliché was more than I could stomach.) Here are some examples:

  • Don’t see any issues with your smooth flowing work process? Wake up! One of your competitors is or soon will be using the same process with 1-2 tweaks to increase productivity two fold.
  • Think you know everything there is about programming language X? There’s 10,000 people connected to the Internet working to develop faster than you with an 8086 and for the same cost as an 8086.
  • Does the significant other seem quietly content with the weekly routine going on X years? Wait too long to throw some spice in the mix, and breakup city will be in your future moving plans.

The point is just thinking something isn’t broke means it probably is. These complacency thoughts should be the trigger in the mind that jolts us out of our slumber and starts probing for better ways.

links for 2006-09-21

Thursday, September 21st, 2006

links for 2006-09-20

Wednesday, September 20th, 2006

White bread is back with a vengeance.

Tuesday, September 19th, 2006

After eating whole wheat bread for well over 10 years, I may have finally switched to white bread. I was recently introduced to Whitewheat and have been very impressed with the taste and nutritional qualities. It is lower in calories and higher in fiber than the fancy whole wheat bread I was eating before the switch. In fact, it’s good enough to make grilled cheese sandwiches that taste normal. The good news is Whitewheat can be purchased at HEB and other regular grocery stores. If you like white bread but don’t like the sugar and lack of anything healthy, I highly recommend it.

links for 2006-09-19

Tuesday, September 19th, 2006

Breaking down large software requirements.

Monday, September 18th, 2006

“Decrease your iteration length.” - The Agile answer to how to overcome the problem of breaking down these seemingly large requirements. At first, it sounds simple, but after giving it some thought, it sounds like a Greek philosopher’s answer to the meaning of life. (i.e. Neat answer, but what do I do with it?!)

The two dilemmas that teams face when breaking down requirements are (1) a reluctance by software engineers to develop in a (perceived) less-than-efficient mode and (2) how to use multiple people in a common area of the code, where the “9 mothers and a baby” theory starts to show (no pun intended). I won’t go into all of the ROI reasons to offset both these fears because they are well documented in any Agile process book; however, there are some different ways to brainstorm the large requirement question.

In general, decreasing the iteration length may be taken in its literal form. If using a 4 week iteration, switch to a 2 week iteration. If using a 2 week iteration, the team might experiment with fully accepted story cards within a 1 week iteration. Assuming the team is already using a 2 (or less) week iteration, another way to consider the breakdown is by considering what would be done if only 2-3 days were given to accomplish part of a larger task and demonstrate some progress, no matter how small. Unless the answer is “give up and quit”, there is some part of the requirement that can be done in a shorter period of time. As stated before, the team must trust the counterintuitive notion that this approach will not result in the most productive use of everyone’s time.

Since many problems are too large for one person to code within one iteration, it only makes sense to use multiple software engineers. One way to look at using multiple people is to consider a drastic approach of being forced to solve the problem of how to write a ‘say hello’ program with equal participation from 3 people. While a completely ridiculous way to solve this problem (not to mention a ridiculous problem), each person could rotate typing the code on a single keyboard. The point is to highlight that every problem could be broken down (components, classes, methods, etc.), and once again, the team has to make a leap of faith that the paybacks in familiarizing multiple people with more of the code and the benefits of demonstrating working software will make the team more efficient over the long term.

Last but not least, teams can approach the requirements breakdown phase as a mental competition. While many engineers like to exhibit their problem solving skills, the team can make the breakdown process a problem in itself. Peer recognition and other forms of compensation can be added to help change the old mindset of cranking out code to put food on the table. In this case, the baby gets new shoes when high quality code is delivered frequently and not when the super engineer works 24 hours straight to code something no one else understands, which will take 3 weeks to test in the quality.

links for 2006-09-18

Monday, September 18th, 2006