The power of information sharing

Posted by posted by Francis @ 3/18/2009 09:21:00 PM

Yesterday, after an interesting debugging session, I was able to fix a long standing issue that was quite tricky to find. This problem had been plaguing the system ever since we inherited it from the customer. The problem shouldn't have been so difficult to find as it is really obvious when you understand what happened.

The reason why it eluded us for so long is that the root cause (database deadlock) was hidden behind layers of abstraction (ORM) that did not do a good enough job of abstracting the physical characteristics of the system.

Although the fix was simple, the root cause was tricky. To make matters worse, that pattern that caused the problem is used everywhere throughout the application. So this morning, I spent 30 minutes to write up an email explaining the pattern and the problems with it. The email also spoke of a way to fix the broken pattern. Sent it to everyone in the team.

To my surprise, the payout was immediate. Before the day was over, I had a patch to review. A problem with a customer notification email not going out. And lo and behold, the cause was a database deadlock. And the fix was to modify the pattern the way that was outlined in my email.

The lesson here is that knowledge is valuable, but it is much more valuable when it is shared.

Labels:

Serendipitous Latte

Posted by posted by Francis @ 3/08/2009 08:24:00 PM



The actual cup


This evening, after dinner, I went for a latte at Starbucks. I was enjoying the beverage listening to the standard coffee house music. Tracy Chapman if I remember although my odds are pretty good with that guess considering the location.

Then I did something I rarely do. I read the little thought on the cup.

Failure's hard, but success is far more dangerous. If you're successful at the wrong thing, the mix of praise and money and opportunity can lock you in forever.
-Po Bronson, Author
I kept the cup. Even took a picture to remember.

And then I started to ask myself if I was successful at the wrong thing?

Labels:

The limit of process improvement

Posted by posted by Francis @ 2/14/2009 08:20:00 PM

Jeff Atwood had a really quotable sentence in his latest blog post: Coding Horror: Real Ultimate Programming Power

"Throwing a book of rules at a terrible programmer just creates a terrible programmer with a bruise on their head where the book bounced off."

This funny sentence expresses something that I have had a really hard time expressing for the past few years: Rules and processes don't make your terrible programmers better, it limits the damage that they can cause to your project.

Not all problems can be solved by adding process.

The only long term solution to dealing with terrible programmers is to give them the tools to become good programmers. Training, mentoring and support. And the training shouldn't be about process but about the craft of programming. Reading code, using a debugger, how to solve a problem with software.

Labels:

Even the mighty are vulnerable to human error

Posted by posted by Francis @ 1/31/2009 03:03:00 PM

This morning, while I was shopping at the store, I was looking for product reviews on my blackberry. Every search I made on Google issued a warning about the site being potentially harmful to my computer. Even sites that I know or run had this issue. This was obviously a mistake on the part of Google. They issued an explanation about this error on their blog.

Basically, it was a manipulation error in the lists they manage of known bad sites. I am sure Google has procedures to ensure this doesn't happen but things like that still happen in spite of best efforts.

We fell victim to something very similar this week. While we were testing an upgrade to the software of one of our customer's web sites, we misconfigured the staging server and sent outdated notifications to a few hundred of their customers. This must have surprised the recipients and surely triggered a few customer service calls that they were not counting on.

What make this story interesting is that we had planned for this and had prepared a procedure for staging that made sure to neuter the notification service. A manipulation error in the server configuration caused all this planning to go to waste. After we had fixed our mistake and notified the customer to expect a few strange calls, we looked at what happened. It was clear that the mistake did not sit with one particular individual but was a failure of our internal communication for this staging procedure.

At least we learned something and we can fix our procedure. But today's Google issue makes me feel a little better about it. Even the biggest web company in the world has its bad days.

Labels:

You don't have to fake passion

Posted by posted by Francis @ 1/28/2009 05:52:00 PM

We are currently redoing the design of the web site at work. Since we didn't want to use stock photography (we wanted to be more authentic), a photographer came to the office yesterday all day and snapped action shots of some of us.

The photographer would set the stage tell us to sit here and there and proceeded to take pictures. At one point, he turned to me and asked if I could go back to my desk and fetch some random papers and other office supplies to lay out on the table that we were using for the picture.

We put that on the table and he said to us with a wry smile: "Now, look passionate and happy and authentic". We all laughed and went on to perform exaggerated pointing gestures and striking phony poses worthy of an 80's Sears catalog.

And then, something interesting happened. François pointed at the random paper that I had brought from my desk and asked what project it was about. And that is all it took. We started a genuine, passionate discussion of this project. I went on to explain the customer's needs and discussed the various technologies that we were looking at. I went on to explain that the project was early in its conception and that it required a lot of investigation for some of the most innovative parts.

Then François and Sylvain started making suggestions and asking more questions and the discussion became quite animated. By that time, we had completely forgotten that the photograph was there. He had to intererupt our discussion to ask us to take a different pose.

I don't know if the pictures will come out good. But I don't think we could have faked a better passionate, happy and authentic than this.

Labels:

World usability day

Posted by posted by Francis @ 10/31/2008 09:25:00 AM

So, November 13 is world usability day. I will be at the OCRI event to listen to the discussion and maybe participate. I am looking forward to the panel and to meet new people interested in usability and design.

Labels: ,

The internet is turning us into spastic readers

Posted by posted by Francis @ 10/25/2008 03:24:00 PM

I was reading the latest post on Fred's blog. It hit home for me as well. My personal problem is not that I have too many feeds to read (I prune my list regularly) but that I tend to skip anything that has any substance.

And it is only going to get worse. Apparently, blogging is dead, (many people have claimed that on blogs recently... completely missing the irony). Blog posts are too long for today's spastic readers. It's Twitter nation now. If it is more than 150 characters, you just lost most of your audience. "Smart" people don't blog anymore, they twit.

This translates in our everyday life and in our work habits too. Coincidently, I jut got an email from Fred this evening with a document to review. I read the first paragraph and I closed it. Preferring to respond to the stimuli of my Twitterific icon. This is a really bad habit.

Labels: ,