Never lose sight of the ultimate goal
Software Development August 3rd. 2007, 12:43pmYesterday, a coworker of mine was working on improving the performance of a report for one of our customers.
If a big enough period of time was selected, the report could take over a minute, which was totally unacceptable. In its previous form, the report was a big SQL query that returned the data almost ready to display it on screen. The query was taking a long time, and I asked him to take a look and see if he could improve the performance.
He started tweaking the SQL and gained important improvements, but it was still taking too long. So I suggested an idea where he could make a couple of much simpler queries, and join them on the client side. He didn’t seem to understand how those simple queries could get to the same result, so I asked if he understood what the report was supposed to show. He said that he had not taken a look at it yet, and was trying to improve on specific parts of the big SQL query.
I explained to him the expected results from the report. A couple of hours later, he had the report taking less than a second.
What’s the moral here? Always know about what you are ultimately trying to achieve. You may be able to fix a part of the current process (the big SQL query), but sometimes a totally new process is a better alternative (simpler queries with client-side processing). If you don’t know where you want to get in the end, you won’t be able to find alternate solutions.
August 14th, 2007 at 10:42 am
Just after reading this article I had my own experience regarding the subject. One of my coworkers was having her laptop serviced by the internal IT department. The service technician told her she could check the status of her laptop via email. Do to the fact that she was left without her workstation she had to log on to another station and register her username. Since she was a new user for that specific station she had to wait for all Windows and Outlook internal configuration to take place, I’m talking about more than 15 minutes to setup the whole thing. After a few minutes she asked for my help on one of the configuration steps and I asked her why was setting up a new account, to which she replied that the IT service guy told her to check the status via email, than I replied can you contact them by telephone? The answer was…”I suppose I can do that to…”
So after more than 20 minutes of setting up a new account and after having wasted time of coworkers trying to aid her in her mission to send an email, all she needed was to pick up the phone.
Is a simple solution to a simple problem. We get used to use some communication resources and when they fail we forget we can still walk across the hallway to talk to our coworker. I think this reinforces the statement “If you don�t know where you want to get in the end, you won�t be able to find alternate solutions”.