Skip to main content

The Best Things in Life are Free Birdseed

This weekend we had a call with a prospective client eager to pay us to help them build out a new social media feature in their (very cool) software system. We turned them down.

They had an urgent deadline, but that doesn't scare us. They'd also already done some exploratory prototyping before they realized they needed some help, so they had a pretty good idea of what they needed help with.

After listening to them describe their current status, I asked a few questions and then realized they had run into a little snag with a non-obvious feature of the API used to talk to a particular cloud service.

They didn’t really need our help building and delivering the short term solution, they just needed an email briefly describing the shortest path from where they stood, to the goal.

I sent them the email they needed, right after the call. 

They're running with the ball, now, and they're gonna make the goal.

We didn’t lose business, we made a friend.

A fascinating thing about this experience is that their deadline was so tight and they were already so close to the goal, that lessons of the classic software project management book 📖 The Mythical Man-Month by Fred Brooks came into play on a really visceral level.

Here's the relevant portion fo the Wikipedia entry (the entire book is well worth reading if you haven't gotten 'round to it, yet):

"Therefore, assigning more programmers to a project running behind schedule will make it even later. This is because the time required for the new programmers to learn about the project and the increased communication overhead will consume an ever-increasing quantity of the calendar time available. When n people have to communicate among themselves, as n increases, their output decreases and when it becomes negative the project is delayed further with every person added."
• Group intercommunication formula: n(n − 1) / 2
• Example: 50 developers give 50 · (50 – 1) / 2 = 1225 channels of communication.

Adding to the team introduces new communications interfaces between people. Even if it’s slight penalty under normal circumstances, there’s a definite cost to adding a new member or two, to a team, measured in communications overhead.

In the case of this project, the relevant portions of the teams seem pretty manageable, at first, the client team was lean and nimble, with three people.

3 (3 -1) / 2 = 3 channels of communication for the original client team

Our team would bring two people onto the task at hand, to meet the urgent deadline.
 
5(5 -1) / 2  = 10 channels of communication for the augmented team

More than three times the communication channels!

Adding a small number of people to a small team can be a big productivity boost, but given the other constraints of a very tight deadline there's a non-trivial risk of accidentally peddling backwards.

This project also has certain technical constraints and a few possible pathways to a solution that would work, but only one that could work in time to meet the deadline.


Comments

Popular posts from this blog

Blogs: Not dead, yet!

If you're a blogger, you might find this essay, recently shared to YCombinator's Hacker News from a blog, to be of interest. It's perhaps a little pessimistic, but has some fair observations about the state of affairs in the #blogosphere. 
If I could bring one thing back to the internet it would be blogs It's almost impossible now to find a blog that's not on a focused theme because that's what search engines focus on and how websites profit. But you want the opposite, a blog that never tried to focus or even thought about it.  The observations about the role of the only search engine that presently matters, Google, in the state of the blogosphere are worthy of consideration. In the discussion at Hacker News, the author was criticized a bit for saying that Google Blogger was "dead" —which itself seems a pretty fair criticism if not strictly accurate in a pedantic sense. Google basically abandoned Blogger in place years ago. Sure, our own illumineX blo…

Data Recovery from bad RAID 1 mirrored volume on Mac OS X

If you're reading this page, it's because you are trying to find good advice on how to recover data from a bad mirrored drive, also known as RAID 1 (one) on Mac OS X or Mac OS X Server 10.4 (Tiger) or 10.5 (Leopard).First, as it says on the cover of the good book, don't panic. Take a deep breath, and take your time.It's very likely that you can recover your data [NOTES 1, 2] in this situation (a probable bad disk in a RAID 1 mirror). The path to doing so is unfortunately not as obvious as it might seem, and not as obvious as it perhaps should be, but it's pretty simple.Read a whole lot about the subject before you try anything, understand what each tool does before you use it, and then read and think some more before you take the first step.Before You BeginNow, a bit of background. Typically in such a situation (a bad drive in a RAID 1 mirror) one would expect to be able to "break" the RAID 1 mirror, using the software controls you used to establish the m…

iBlogger II - photo blogging mania

iBlogger: incredible photo blogging, for iPhone iBlogger 2 will enter beta testing this week. It brings several of the most requested features, and provides the most advanced mobile photo blogging on any platform - only for iPhone.

• Photo services hosting with Google Picasa, compatible with any blog. Take photos with iPhone camera. Store and select photos from Picasa or iPhone library for display on your blog.
• Picture posting at Google Blogspot (aka "Blogger"), using Picasa.
• iBlogger's emitted HTML is now XHTML1.0 compliant.
• iBlogger's HTML can be fully styled with CSS, now. Example stylesheet provided.
• iBlogger now handles images at full native resolution of iPhone cameras.
• Image thumbnails, scaled via CSS.
• Lightbox compatibility, built in.
• Easy and fancy display of image captions.
• More!

Get your free Google Picasa account, to post photos at your Blogspot blog, with iBlogger 2.