By BoLOBOOLNE payday loans

Rhapsody.com adds library support

I am both proud and awed by the productivity of the rhapsody.com development team.  Just two months after Rhapsody.com added playlists, a huge new feature has been added: a personal music library for bookmarking your favorite content.  Along with it is a fabulous new AJAX library manager which gives users quick visual access to a large collection of music in their web browser.

Rhapsody.com adds library support

What makes this even more impressive is that one of those two intervening months included the end of year holidays.  When I’m doing long-term project scheduling, I generally write off 3 weeks out of December because of vacations and general lack of focus.  So they did all this in about 5 useful weeks.

I attribute this productivity to a team that has fully embraced agile development practices.  We use schedule-driven releases, which have a ton of advantages over feature-driven releases that I won’t detail right now.  (Avoiding feature-creep is huge.)  In 2006 we put out 10 releases with major new features, and almost no crunch time.  At this point the team has a solid understanding of several important things:

  • Their feature velocity — How much work can they get done in a month?
  • Staggering dependent work — How to break apart a problem into things that can get done early
  • Keeping the pipeline full — This one’s my favorite, and requires explanation.  Read on…

I like to draw analogies between software development and a traditional manufacturing factory.  In a well organized team, the bottleneck is going to be the development team.  Every business function suffers from diseconomies of scale as more people are added because of communication overhead.  But the development function, actually writing the code, has this problem way worse than quality assurance, program management, visual design, user experience testing, or product management.  Writing code requires such intensely detailed knowledge that adding people efficiently requires massive amounts of information to be shared.  The bandwidth between human brains isn’t high enough to support this properly yet.  So, in a well proportioned team, the devs are the bottleneck.

As anybody who’s taken intro to operations management will tell you, the key to keeping a factory running at peak capacity is to keep the bottleneck as busy as possible.  That means accumulating a safety stock of work-in-progress inventory in front of the bottleneck.  In software engineering terms, that translates to having a stash of complete product plans, visual designs and functional specs ready for the development team to work on.  In other words, make sure the devs are never waiting  for anybody else to tell them what to build next.  This is an aspect of agile project management I don’t hear discussed much.  But my team has figured it out.  The overall result is a team that is always working hard, rarely stressed, and extremely productive at putting out products everybody is proud of.

Another great aspect of the team is that everybody feels ownership over the product.  Innovation comes from everywhere.  Try bookmarking something in your library.  You’ll need to sign up for a free trial account first, then hit one of the plus buttons next to some music and select "Add to Library."  Normally you might wonder where to go from here to work with your library.  But if you try it, I’m certain it will be obvious to you what to do next.  This simple, subtle, eye-candy user-education  feature didn’t come from product management or creative design.  It was one developer’s idea that the team ran with, and it’s one of my favorite features right now.  This isn’t an agile practice per se, but it sure makes a difference in the overall product quality.

I wish I could take credit for this accomplishment, but my input has been mostly just guidance.  Good job, team.  Keep it up!  (By the way, if you’re a rock-star java developer looking for a better-than-your-current job in Seattle or SF, drop me an e-mail.  We’re hiring.)

Comments are closed.