Wednesday, May 30, 2007

venture capital in a town of 15,000 people

This is cool.

I've written letters about this in local (not available online) and international (October 2006) publications, it's great to see some serious action from people who might make something happen.

The quality of life here is superb. There is a small but enthusiastic pool of talent. If you have a spectacular business idea; don't need too much funding; and the VC environment in Silicon Valley, NYC, Austin, Atlanta, or Chicago is too much of a freak show: come here.

Thursday, May 24, 2007

"let your employees decide when and where to work"

Time magazine has a refeshingly hype-free short article about 37signals. Half of the company works remotely.
First, kill all your meetings; they waste employees' time. "Interruption is the biggest enemy of productivity," he says. "We stay away from each other as much as we can to get more stuff done." Use asynchronous communication and software instead to exchange information, ideas and solutions. Next, dump half your projects to focus on the core of your business. Too much time and effort are wasted on second-tier objectives. Third, let your employees decide when and where to work so they can be both efficient and happy. As long as their fingers are near a keyboard, they could as easily be in Caldwell, Idaho, as in Chicago.
At Socialtext where I work, most of the company works remotely. Socialtext sells wikis, and internally, the entire company lives, breathes, and evolves on wikis. The part about asynchronous (PUBLIC) communication is right on. Not only is it effective communication, it is also a living knowledge base and repository for company culture.

I have had a lot of jobs. It's ironic that the company culture at Socialtext is so rich when the people in the company see each other so rarely.

Friday, May 11, 2007

here come the software artists

Apropos of my software-as-music analogy, Jonathan Kohl has another nice non-manufacturing metaphor, software development as theater. It makes a lot of sense, especially since Jonathon's point is actually about the value of improvisation in the course of developing and testing software.

In software, improvisation saves time and creates new opportunities. On the factory floor or in the supply chain, improvisation is a disruption and causes chaos.

Tuesday, May 08, 2007

starting a work blog

I'm starting a blog for the work I'm beginning do at Socialtext. It'll mostly be concerned with wikis, Selenium, FireWatir, Perl, and maybe a little Ruby. I'll probably be posting to this one a little less often, but you're welcome to read the other one if you'd like. A lot of the Socialtext development staff are keeping open work blogs, so mine fits right in.

Sunday, May 06, 2007

oh heck yeah














http://imgs.xkcd.com/comics/conspiracy_theories.png

Saturday, May 05, 2007

an example of an analogy: monks vs music

Brian Marick gives a very well-reasoned and well-researched talk on the state of agile development. In it he compares agile teams to monks. I've never liked this analogy (see the comments) and on several occasions I've suggested that agile teams are much more like jazz bands. The most important differences for me are that unlike agile teams, monks a) do the same thing in the same way over and over and b) don't have audiences.

And now I've found the perfect musical agile counterexample.

This is Ella Fitzgerald and Count Basie doing the song One O'Clock Jump. The song is a twelve-bar blues, which is the jazz equivalent of a database app with a UI. By which I mean: just as every programmer has built a database app with a UI, every American musician has played twelve-bar blues. It is a framework on which many many many songs are hung, from Count Basie to Jimi Hendrix to the Ramones.

This particular video is a great example of agile practice. Listen to how the voice and piano influence each other. This is a lot like pair programming, and it's a lot like TDD: voice does something; piano responds; piano does something; voice responds. And notice the eye contact. These people are intensely aware of what's going on instant-to-instant. They have no sheet music (BDUF). They are involved in an activity that takes intense concentration and skill, just like good software development. They are also clearly aware that there is an audience, just as good software development should be aware of the needs of the people paying the bills.

I particularly love it when Ella sings "I don't know where I'm going from here". She recovers immediately, of course. It doesn't get any more agile than that. They are clearly inventing the music as they go along, using skill and experience.

I like Cleveland Eaton the bass player too. I think of him as a tester. He is subtly influencing the structure of the song, changing the dynamics, tying themes together, providing little pushes to the main players. Also, his instrument is much less sophisticated than a grand piano or a human voice, much as testers' tools are less sophisticated then developers' tools. For a bonus, here's a video of the full Basie orchestra featuring a bass solo from Mr. Eaton on another twelve-bar blues. Again, the interaction between bass and piano is wonderfully agile.

Apropos of not much, I had the privilege of speaking with Count Basie and Cleveland Eaton twice. The Basie band played at my high school on two occasions more than twenty years ago, and those conversations, especially with Mr. Eaton, were an enormous influence for me.

Friday, May 04, 2007

Charley Baker has a blog!

Watir Project Manager Charley Baker is blogging. First post is an example of driving scriptaculous AJAX with Watir. I know that Charley is doing really big, nifty things with Watir and Ruby. I'm looking forward to reading about them.