Steve Vinoski on Extreme Programming at Iona

Posted by tibbetts Sat, 26 Aug 2006 01:06:08 GMT

Thursday at StreamBase we had a lunch talk by Steve Vinoski, Chief Engineer at Iona Software. Our CEO (Barry Morris) is former CEO of Iona, and he asked Steve to talk to use about Extreme Programming (XP). Iona switched to the extreme programming model nearly 10 years ago, and was the first large product company to change over. Their experiences were documented in a paper by Jim Watson.
At StreamBase we use several agile development techniques, but are not faithful to any one methodology. I expected the talk to be about how being faithful to XP was a great thing for Iona. From my reading, I understood that XP demanded total fidelity in order to succeed. Every one of their twelve points is supposed to be critically interdependent and synergistic.
What I learned from Vinoski was that drinking the koolaid is not required. Iona worked directly with Kent Beck, originator of XP. Apparently in person he is a lot more laid back than in his writing. For example, Iona didn't find pair programming particularly worthwhile, and ended up giving their engineers back their private spaces. They never implemented a 40 hour work week. They do test first programming, but not religiously. They try to fit development into 2 week iterations, but again are not strictly attatched to it. For example, documentation work generally lags behind development, and frequently their iterations don't actually result in customer-visible functionality.
The other thing I found interesting was that Iona was another example of a pattern I see in extreme programming success stories. At Iona, engineering was a mess before they switched to XP. They didn't have nightly builds, good testing, or a consistent view of the source tree. Releases were made in an ad-hoc manner, and there was little or no visibilty or feedback in the engineering process. With the introduction of XP they were able to get many of these issues under control. Like many XP stories, things started out really bad. With the introduction of XP they got much better. I can see two plausible explanations for the frequency of this story. It may be that only companies in a lot of pain are able to marshall the resources to change to XP, and so only troubled companies try it. But it may also be that XP is only worth attempting if your organization is on the rocks. Otherwise, moving to a more moderated agile process may be the way to go.
At StreamBase we use many agile techniques. We benefit greatly from automated testing, and have good test coverage. We use a branch driven development model, and keep trunk in a shippable state. We break projects into small milestones (a few weeks, and we keep making them smaller) so that development can be visible. We keep developers as close to customers as possible. And we remain introspective, looking for other opportunities to improve on our process. Many innovations in software engineering come under the banner of agile development today. I think any engineering organization can benefit from learning more about extreme programming and other agile methologies. But I think taking a moderate approach is prudent, unless your organization is in a great deal of pain.

1 comment | no trackbacks

StreamBase DaVinci Coder - Free Software and Valuable Prizes (Cash)

Posted by tibbetts Mon, 03 Jul 2006 15:23:38 GMT

In case people have forgotten, I work at a company I helped start called StreamBase that came out of my graduate research. The product is a stream processing engine, meaning it consumes and processes tens to hundreds of thousands of events per second, from sources like sensor networks, stock markets, or the global interweb, and computes results with very low latency, which are then delivered as more events. I happen to think that event driven architectures, stream processing, and declarative (SQL-like) languages for stream processing are the next big thing, which I am happy to talk your ear off about.

At any rate, we just came out with version 3.1 of the software, and for the first time anyone can download and use it (previously you had to work at a bank with a jillion dollars or something like that). To encourage people to do so, our marketing company has put together a campaign which includes a satirical spoof of Dan Brown's film, which you can check out at TheDavinciCoder.com. If you watch the video, which you will find quite entertaining if you have ever been a wage slave at one of the aformentioned banks, then you can enter the contest and download the software. At the moment the software is only freely available on Windows, though the Linux version should be freely available in a few weeks. The contest is kind of a puzzle hunt, except it requires playing with our software, documentation, and website. In return, there are $17,000 in cash prizes.

If you get a chance to play with the software, let me know what you think. If you get a chance to do the puzzle hunt, let Aletta know what you think (she was involved in creating the puzzles). And if you think any of this is worthwhile, pass it on.

no comments | no trackbacks

Google Takes College Recruiting to the Next Level

Posted by tibbetts Sat, 08 Apr 2006 21:35:53 GMT

I dropped by MIT this weekend to check out the CalTech cannon hack. This is campus preview weekend, when admitted students are invited to visit the MIT campus to be wooed by admissions officials and current students alike. As a rule current students drop what they are doing to provide entertainment for themselves and occationally even for the visiting high school students (who are generally called prefrosh). It's usually a good time to see what exciting things current students are up to.

What I didn't expect to see were dozens of prefrosh wearing bright blue Google "I'm Feeling Lucky" T-shirts. Turns out Google has taken on-campus recruiting to the next level, and has started recruiting MIT students before they are even students. Smart move on their part. Given that it already feels like MIT has moved Rush to CPW, I wonder if this presages a move of recruiting to CPW as well. The Undergraduate Housing Office could start selling employers ad space in the i3 videos. Then MIT can dispense with diplomas and the undergraduate experience, and simply hand out certificates of admittance which are sufficient to land one a good job in New York or Silicon Valley.

Congratulations to Google for being ahead of the curve, and getting started on their recruiting efforts as early as possible.

no comments | no trackbacks

MacBook Pro - Killing the PowerBook Brand

Posted by tibbetts Sun, 29 Jan 2006 00:58:32 GMT

When Apple announced the MacBook Pro, my first reaction was not to any of the hardware changes but to the name. This machine represents the end of the PowerBook brand name, a brand that dates back well before the PowerPC processor, to the first Apple notebook computers in 1991. I believed that PowerBook was one of the strongest brands in the high tech industry, and thought it was remarkably stupid to change it.
Yesterday at the University of Michigan Futuretech conference I got a chance to ask someone from Apple about it. They gave an interesting justification: Apple wants the names of all of their computers to have "Mac" in them. It is important that unsophisticated consumers have a single identifier for all Apple computers. He repeated this justification like it came off a sheet of talking-points. And it does make sense.
Which leaves the big question: What are they going to rename iBook to? My guess is we will have MacBooks and MacBook Pros. Maybe we would have seen them already, if not for rumored last-minute changes to the keynote.

Posted in Business | no comments | no trackbacks

Google Just Isn't Very Good

Posted by tibbetts Thu, 26 Jan 2006 22:17:16 GMT

I was reminded again today of the number of smart people that have been swallowed up by Google. Google seems to have hired everyone in San Jose, according to Indeed.com's new job numbers. They have offices in New York, and I hear they are opening new offices in Philadelphia and Boston. They seem to be willing to acquire entire companies just to get their employees.

The big question is, what are they all doing? The stock market seems to think that they are secretly working on The Next Big Thing. Based on Google stock price, investors expect that any day now we will see a beta of cancer.google.com. "Just click here and our AJAX-enabled Web 2.0 service will cure your cancer." That isn't too far from the truth though. Google seems to be adopting a similar model to big pharma. They are doing drug discovery. But what they are trying to discover is the next big idea.

However, much like big pharma, they are failing. A large number of researchers packed into a company, with too many PhDs, is unable to justify it's cost. Sure, Google will produce neat new things. They've produced several. But when you consider that they employ thousands of people, several good ideas just isn't cutting it. But much like big pharma, Google has enough money to decide that next year they need 30% more innovation, and hire 30% more PhDs. Of course, that isn't going to work. Each new good idea is going to cost Google more and more money.

Most good drugs in the pharmaceutical industry come from startups. A biotech startup gets together a few good people who believe in an idea, does the preliminary implementation, and gets it through a few rounds of trials to show that it works. If it does work, a big company comes in, buys the idea, and applies their knowledge of scalability and marketing to finish the idea.

That is exactly what Yahoo is doing with Web 2.0 companies. They are letting startups be the proving ground for new ideas, letting them put the ideas through human trials, and then buying up the good ones. And since there is no FDA driving up costs, the companies (and their ideas) come cheap. Order of $10 million a pop. For $10 million, how many PhD-years can Google buy? Not enough.

Posted in Web, Business | 2 comments | no trackbacks

propsmart - Finally a good MLS/google maps mashup

Posted by tibbetts Wed, 25 Jan 2006 15:28:10 GMT

I just happened to catch a Google ad for propsmart, and I'm glad that I did. I enjoy regularly browsing real estate listings in both Michigan and Massachusetts. The web-based browsing systems have been gradually improving, but none of them have yet got it right. propsmart is a big step in the right direction. For those of you who have seen Housing Maps, this is basically housing maps applied to MLS and several other data sources, rather than just Craigslist.

In particular, all the previous services I have used have been attached to one brokerage or another, and have considered it their solemn duty to exclude FSBO properties and maintain the real estate agent oligopoly. A service like propsmart, or a similar one, has the possibility to greatly improve the FSBO market, and improve information flow in the real estate market in general.

propsmart is far from perfect. But it is much better than anything I've seen. Check it out.

Posted in Web | 3 comments | no trackbacks

Stop Energy

Posted by tibbetts Mon, 23 Jan 2006 16:13:47 GMT

A friend just used the phrase Stop Energy to describe part of the open software development process. I hadn't heard the term before, and so I had to look it up. Stop Energy is the ambient energy in an open development process available to stop any forward motion. Stop Energy manifests as technical (and sometimes non-technical) stone throwing directed at anyone proposing any change. An excess of stop energy in a process is crippling. Unfortunately, stop energy seems to increase with the number of participants.

Stop energy isn't uniformly bad, in my opinion. Sometimes it is necessary to prevent bad changes from happening. But far more often is a free software project (or any other open process) killed by stagnation and a loss of volunteers than by an excess of development and participation.

I've personally witness stop energy in several groups. Sometimes stop energy is the result of curmudgeons who don't want anything to change, or of people who want to retain control of previous design decisions. But quite often Stop Energy and Yak Shaving go together. Yak shaving is a catch-all term for the work you need to do before you can do the work you should do. Often stop energy manifests itself as requirement creep. "You can't add a new method to the dispatcher until we totally redesign the dispatcher like I've been meaning to do for 2 years." This kind of stop energy can be particularly difficult for new participants in the process to overcome.

Having a term like Stop Energy I hope will help me to identify it in myself and others, and try to overcome it. It is potentially a very destructive force.

Posted in Software Development | no comments | no trackbacks

Making offlineimap not die

Posted by tibbetts Fri, 20 Jan 2006 17:29:48 GMT

I love offlineimap. I even love the quirky way it is hosted on a gopher site. The functionality is awesome. For those of you who don't know, offlineimap syncronizes a remote IMAP mailbox heirarchy with a local Maildir folder heirarchy. This means you get disconnected IMAP operation with all your favorite Maildir clients (like mutt), while still retaining the ability to access your mail using other IMAP clients.

However, offlineimap crashes too often. Every couple of days I will fail to get any new mail for an hour or two, and realize that offlineimap has crashed. And due to Murphy's law this generally correlates with a time when I was recieving some important mail.

The solution is very simple. I am using zenity, a command line tool for displaying dialog boxes, and running offline imap in a loop. Every time it dies, I get a pop-up dialog, and can say OK to restart it, or Cancel to end the loop. The little shell script to do this is as follows:

#!/bin/sh

/usr/bin/offlineimap -u TTY.TTYUI;

while zenity --question --text "Offlineimap died. Restart?"; do

/usr/bin/offlineimap -u TTY.TTYUI;

done

Posted in Tools | no comments | no trackbacks

Deconstructing the Ann Arbor News

Posted by tibbetts Fri, 20 Jan 2006 01:28:42 GMT

A new article from Jeff Jarvis on Deconstructing the Newspaper really hits the nail on the head for me. I've been constantly annoyed by the Ann Arbor News for trying to be a national newspaper, trying to be all things to all people. I want a local newspaper that covers local news. I get the New York Times, and between that and the web I get plenty of national news. I depend on the AAN to give me local election coverage, tell me about upcoming local issues, etc.

Unfortunately that requires wading through a bunch of crap every day. We discontinued daily delivery because it was so much paper to throw away I felt bad about it. So now I just get the Sunday paper. But that means I miss out on about half of their reporting.

I would really like to the Ann Arbor News switch to being a weekly paper, or maybe a twice-weekly paper. Give me a paper filled with all the content I need, and none that I don't. Or just put it up on a website. I'd even pay a subscription fee for the web site if I had to.

Of course, it is pretty unlikely that a local newspaper in a small midwestern city is going to do anything particularly innovative. They seem to have ceded their web presence to MLive, which does a pretty terrible job themselves.

Posted in Media | no comments | no trackbacks

Switched my laptop to Ubuntu

Posted by tibbetts Fri, 20 Jan 2006 01:21:00 GMT

I switched to running Ubuntu on my Thinkpad. I'm very pleased with the experience. The install was painless, and everything thus far has just worked. It really feels like linux is maturing on the desktop.

I've also installed a shiny new tool, Gnome Blog. It's a panel applet that makes it easy to enter blog posts. It sits on the panel and remembers the blog post you were in the middle of, so you can always stop and come back to it later.

It is generally good, but there are a couple of downsides that are coming to mind at the moment:

* No good way to do bulleted lists or other more complete formatting.

* No support for tags/categories/etc.

* Link input method isn't the easiest.

Really I think I would rather input the post in Restructured Text or something. I should look into other posting tools. Something command line or emacs based might be ideal.

Posted in Tools | no comments | no trackbacks

Older posts: 1 2 3 4