« August 2006 | Main | October 2006 »
September 29, 2006
Agile - a rat on a skewer
Steve at Google has posted something thatlooks like it is getting a fair amount of attention. The basic thesis is that Agile is just a pretty handkerchief for the consulting wizards to wave over a hat as they make their client's money disappear but that Google has discovered the "good" agile in the form of free food and public recognition for shipping yet another beta thingie. According to google steve, google project management consists of task queue, an endless trough of tasks to choose from.
The problem with these sorts of comparisons is that they lead to the logical fallacy wherein by agreeing that one side is bad, you are sort of agreeing that the other side is good. Kinda like the armadillo telling the gila monster "you are ugly so I am beautiful". This claim of google's self evident "beauty" based on the fact that google is currently rich and generous so it MUST be uncategorically correct is commonly known as hubris and there are likely a few Greek tragedies where only a few names would need to be changed to match the current situation. Not that the Greeks were the only ones to recognize it. Take a look at a couple of recent silicon valley situations like that at Intel and perhaps HP and you see things like Craig Barrett reaching back into the bag of tricks which he believed got him where he was in an unsuccessful attempt to bring back past glory by going "back to basics".
This sort of "we did it before so we can do it again" thinking is probably something foreign to the mostly young crowd at google, but I had the foolishness of this handed to me on a plate when I attended a yoga class today. Yeah, I might have done it before, but I'm a long way from doing it again. There is hard work ahead. Chanting a slogan was no help. Ooooommmm. Ooooouuuuchhhh
But google steve does have one point right. People. People are essential to almost every human endeavor. Having the wrong people is generally a bad thing. Having the right people is nearly unstoppable. Now, a qualification. "Right" does not always mean the same thing. I am not the "right" person for a number of things. For the most part I know what those things are and I avoid them. You won't catch me on a basketball court anytime soon, but if you lost a necklace in the warm waters off the shore of a sunny Greek island and need help finding it, I can probably be quite handy.
So now enough of emulating the long-winded short-pointed prose of google steve. I'll bring it to a close. There is no magic. There are only people. Good people and bad people. It is hard to tell which is which. Sometime the team works best if there are people on it who are completely different from you. Likely a team of a hundred copies of you is going to have a pretty wide blind spot. Find the people, find what they want to do. Help them do it by any means necessary, food and fleece jackets seem to get google steve going, so try that if he is on your team. Avoid pushing your team backwards and/or sideways. Clear the path and kick the dead rats out of the kitchen.
Posted by Jack at 01:18 PM | Comments (0) | TrackBack
September 28, 2006
Rei Momo
Yesterday I buried my dog. A patch on my left thumb is worn raw from chopping through the hard clay soil. I was almost alone while digging, observed only by my dog wrapped in a white towel resting in a cardboard box - his eyes unclosing from now until forever. 14 years ago he would have been helping me, scratching at the ground and almost laughing. Last week he would have been sitting somewhere near, close enough to hear with his pointed ears, close enough so he knew I was there and I knew he was too.
It seems I've always been working to keep him close. He was getting in my way when I built his first dog house, but deemed it too far away to actually sleep in. He was near when I built a fence to keep him in, a fence to keep him from running and exploring when I was not home. Next to the fence I planted the same bougainvillea whose purple petals filled the hole I dug.
He was near when I built the gates to keep away the postman who tormented him daily, daring to walk up the driveway and touching the mail slot. He was near even when I walked with him. Of course his version of "near changed over time. What was once half a mile or so shrank to a block and by last winter he was close enough to share the same umbrella when it rained. I had almost retired his leash except as something to carry in the event of meeting nervous passerby's who thought I was walking with a baby wolf.
He was not the kind of dog to sit on your lap. He did not like being held unless it was on your lap while you were driving but even that changed two days ago when he stayed close and lay calm and quiet in my arms. Every minute he got closer, until he was gone. Well, not really gone, but all I have left is what he left inside me. It is a poor substitute.
As the years pass plum leaves, and rose petals and wisteria blossoms will fall over him and he will be quiet and close forever.
Posted by Jack at 10:52 AM | Comments (3) | TrackBack
September 22, 2006
The one best way to manage projects
There is one best way to manage projects. There is one best way to plan. There is one best way to develop new products. There is one best way to engineer software. There is one best way to drink beer. There is one best way to clean the shower. There is one best way to get kids to behave. There is one best way to pray.
Well, on second thought, maybe not. Though you don't hear that much from people. More common is the evangelical acceptance and propagation of "a way" as being the best or only way. People like to be in the group that "knows how to" do something. People enjoy the assurance that they are "right". It is comfortable to be in the middle of a herd of wildebeast when there is a lion on the left and a leopard on the right. Of course some don't also, but that is OK too. Lions have to eat.
These thoughts pop out of my head after reading a couple different things. The first, David Anderson's plea to the Agile community to broaden the description of what "Agile" is to the point where it is almost everything (presumably with the goal of gathering more and more wildebeast into the fold - can you make cheese from wildebeast milk?) - a sort of ideological gerrymandering I think, in which rather than a process, "Agile" is defined as the result. The second a discussion on the New Grange mailing list about the nature of expertise.
Of course, like all thought, the bread rises before it is baked, so I have no special treats from the oven for you yet, but perhaps you can take the half-baked dough and cook it in your own oven. Think about what sort of soil conditions you have around you and what sorts of plants will flourish in it, and which will die. Think site-specific. That is one way to go about it.
Posted by Jack at 12:17 PM | Comments (0) | TrackBack
September 21, 2006
Do your own SEO - Using Excel and Grep to read log files
I'm always curious about how you arrived here. It seems that the majority find their way through a search on google. The reason I know this is because I take a look at the log files from my server. If someone got here by clicking on a link somewhere, that referring site shows up in the log. Each log entry looks something like this:
192.198.152.98 - - [21/Sep/2006:14:33:37 -0400] "GET /blog/archives/design/bob-colwell-on-computer-architecture.html HTTP/1.0" 200 12958 zo-d.com "http://www.google.com/search?q=bob+colwell&btnG=Search&hl=
en&lr=" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.7) Gecko/20060909 Firefox/1.5.0.7" "unknown"
We can look at this and see that it the server is configured to write out in "combined log format". There are a few interesting things in this entry (and I'll skip the boring things) The first part is the IP address. Intel owns the IP addresses from 192.198.128.0 to 192.198.177.255 so I'm pretty confident that this is someone at Intel hitting the site. Moving to the right we see the file that was requested. And then skipping further right we see a URL which shows the referring site. In this case a google search for "Bob colwell".
Sometimes the referring URL tells us more. For example: http://www.google.de/search?q=%22Theory+of+Constraints%22&hl=de&lr=&start=90&sa=N tells us that it wasn't until the tenth page of results that this site showed up for a search on "Theory of Constraints". It also tells us that the person was searching on the German google site. Looking at this tells me that I should probably try harder if my goal is to be a useful and popular site for people looking for information about "Theory of Constraints".
The problem is that there are so many lines in the log file which don't contain referer data, or which tell me that the style sheet was used that it is difficult to pick out the interesting parts. The easiest way for me to do that is to have software do it for me. I use a this process. Save the log file to my computer as a text file. Previously I'd just open it in excel and then filter, but the weekly log is longer than excel can hangle, so the next step is filtering it by using grep. Note: Excel 2007 will solve this limitation by moving to a limit of 1 million rows - but it won't be out until next year) If you are using a mac or linux you can just open a terminal window, but for a windows box you may need to install windows grep or another program. Once you do that simply type something like: grep /search? logfile.txt > searches.txt. This finds all lines containing /search? in the file and then writes them to a file called searches.txt. The > tells it to write the result of the search into the file which comes after it.
That cuts the number of lines down to a manageable number and shows only those which match the characteristics of a search. Almost all search engines use the word "search" in their results, so this will also show yahoo and msn search results as well.
After this, just open the text file in excel. It should recognize it as a text file and open the conversion wizard. The lines are space delimited so check delimited and the space box and then you have all your data in excel to browse through or analyze.
This same technique can be used to filter out any sort of data in the file you like. Just change the parameters you are feeding to grep.
Posted by Jack at 12:14 PM | Comments (0) | TrackBack