Software Development archives - Overheard in the tech blogosphere

Overheard in the tech blogosphere:

Software development

Apr 7 2009   5:25PM GMT

Overheard - How the birds and the bees can teach us about management



Posted by: Margaret Rouse
Software development, business management
“What I find in software projects is something called the invisible line. At start of the project, we’re all working for collective success.  But then a line is crossed somewhere in the project and I’m no longer working for collective success. I’m working for the avoidance of individual blame.”

Ken Thompson in an interview with Robert Scoble

Today’s whatis.com Word of the Day is bioteam.   Software engineer Ken Thompson came up with the concept after looking at how biological teams in nature communicate to achieve goals.

There’s no blamestorming in a beehive — no politics in a pelican flock.

When you see Canada geese migrating north, you’re looking at a little P2P network. The geese take turns leading the V formation because distributed leadership gets them further than following just one alpha goose. Each honking node on the network has the power to be a client and a server.

The flock itself is a living organism, just like the individual geese that make it up.  The members stay in constant communication, doing whatever needs to be done to keep the flock healthy.  There are no job descriptions in a flock. Each goose says says to the flock,  “You need someone to honk? I can honk.”  or “What, now you need me to lead? Sure I’ll lead.” or  “I think somebody needs to stay behind with old grandfather goose — I’ll do it.”

It sounds very efficient. Why can we humans be that efficient?

As Ken points out in his quote above, we usually start out software projects with good intentions.  Do we end up in survival mode just because total success is so very rare? Is every project like the beginning of tenth grade, where we start out the school year with fresh notebooks and daydreams of straight As, only to end up at mid-terms satisfied with a C?

I wonder. If the flock hardly ever made it back to Canada, would they still continue to operate in a P2P mode?

I’m not sure — but Ken became convinced that there really are lessons to be learned from this distributed leadership model in Mother nature’s repetoire — and I think he’s on to something.  To learn more about bioteams and self-directed virtual teams, I recommend you visit Ken’s blog, The Bumble Bee.

Yesterday I wrote to him to ask if it was fair to say that Wikipedia was created by a bioteam.  Here’s his answer:

“I would say a definite YES given the definition of a bioteam as:

1. The group is not co-located and may only occasionally meet physically - in fact sometimes all the members of such a group never meet physically.

2. No single channel (e.g. email or web) suits the communications of the entire group - this may be a by-product of the first point but can also be a function of personal group member preference.

3. The group has fluid and/or complex structures such as groups within groups, groups within communities, overlapping group memberships or different types/levels of group membership.

4. There is no obvious single point of command - there is no single leader with the authority to command the entire team and leadership must be implemented collectively. If somebody says “working with these guys is like herding cats” its often a clue.

5. The group has to be formed via an incubation process over an extended period. Its growth looks very similar to that of an ant colony or beehive which are both exceptionally vulnerable until a critical mass is reached but almost indestructible after this point. This is in total contrast to the traditional (command and control) team which usually starts at its strongest but weakens quickly over time.”

I raise guide dogs, so when I’m challenged by how to work more effectively with my distributed, growing and ever-changing team here at TechTarget, I naturally think about about pack management and the role of the alpha dog — but I have to admit, Ken has extrapolated some useful management guidelines for self-directed teams, even if he does compare working with a bioteam to “herding cats.” : -)

Jul 31 2008   10:10AM GMT

Overheard: Justin Gehtland and continuous integration



Posted by: Margaret Rouse
Programming, Technology, Software development, unit testing, Justin Gehtland
justin_gehtland2.jpg All development teams (read: more than one programmer) have to deal with integration builds. This is where you pull together all the bits and pieces that the different team members were working on, and check to see if you have a fully functioning product or a Frankenstein’s monster.

Justin Gehtland, Continuous Integration with CruiseControl.NET and Draco.NET

Justin Gehtland is great teacher. (That’s my highest compliment!)


Jun 19 2008   11:51AM GMT

Overheard: Keystroke dynamics in two-factor authentication



Posted by: Margaret Rouse
Programming, Software development
jason_striegel.jpg Nathan Harrington amended the GNOME Desktop Manager to include keystroke dynamics in the user verification process. When the user enters their username, the timings between key press events are measured and compared against a stored pattern.

Jason Striegel, Add keystroke user verification to Gnome

I think Nathan Harrington has one of the coolest jobs of anyone I know. He’s always putting something new out for people to tinker with.


Dec 8 2007   11:08AM GMT

Overheard: Brooks’ law



Posted by: Margaret Rouse
Technology, tech laws, Software development
frederick-p-brooks.jpg “Adding manpower to a late software project makes it later.”

Frederick P. Brooks, The Mythical Man-Month

For those of us who need an analogy, Dr. Brooks explained it this way — “The bearing of a child takes nine months, no matter how many women are assigned.”