| Christian Sepulveda's Blog | |||||||||||||||||||||||||||||||||||||||||||
|
July 03, 2003
Preemptive Optimization: It doesn't only apply to code
I had a discussion recently with someone about something I read in the Pragmatic Programmer, by Andy Hunt and Dave Thomas. They write of the importance of developing proficiency with keyboard commands and text editor, to increase productivity by reducing keystrokes and mouse movements. There is merit in the book's discussion of the topic and I don't wish to dwell on the argument they make. My belief is that preemptive optimzation is bad. Martin Fowler has addressed this a variety of times with respect to code and design. The idea is that you shouldn't try to preemptively increase the run-time performance of code design, as the bottlenecks in an actual system frequently are not what they were pressumed to be. You should profile the system and then tune the code to the actual bottlenecks of the sytem. I feel this applies to people and processes as well. The advice offered by the Pragmatic Programmer is more of a technique than a goal. It may be nice to show off lightning fast keyboard skills, but it doesn't necessarily improve individual productivity, and is less likely to improve team productivity. Given there are only so many hours in the day, I advise that a programmer (and team) should reflect on her practices and think about where she can improve. If keyboard and environment proficiency seems like a good idea, then go to it. But it may not be advisable and may be a waste of time. Like I feel with most things, just make sure you don't take any advice as an escape from thinking and reflection. Posted by csepulv at July 3, 2003 01:36 PM |
cs@atdesigntime.com Syndicate this site (XML RSS 2.0)
Search
Archives
November 2005
October 2005 September 2005 August 2005 October 2004 March 2004 January 2004 December 2003 November 2003 October 2003 September 2003 August 2003 July 2003 June 2003
Recent Entries
ANN: Website Facelift and New Blogs
The Power of the Collective Brain Agile 2.0 and Web 2.0: A Perfect Match Fitness Functions and Agile Development Agile, Waterfall and Core Assumptions Three Important Considerations for a Candidate Guidelines for Being a Strong Job Candidate
Links
Browse By Category
| ||||||||||||||||||||||||||||||||||||||||||