jump to navigation

SOA and Developer Productivity: It Depends January 11, 2010

Posted by Peter Varhol in Architectures.
trackback

Fred Brooks and his seminal work The Mythical Man-Month have gained almost heroic stature over the years, due in part to the now-obvious observation that adding programmers to an already-late project simply makes the project later.

Since Brooks made that statement in 1974, people have been attempting to quantify just how much adding additional programmers added to (or subtracted from) a project.  According to Computerworld’s Mark Everett Hall:

“Steven Birchfield, CEO of Automation Centre LLC in Tucson, estimates that with traditional development techniques as you add programmers to the project you only get between 30-60% additional value per individual as compared to the productivity of the one developer-per-project model.”

I have no idea if that is correct, but I would guess that it depends upon the quality and experience of the programmers, the size and complexity of the project, the schedule, and a myriad of other factors.  Even with research, I would hate to try to quantify it.  In some circumstances, it could even be negative.

Now comes the argument, noted in Hall’s post, that SOA projects improve upon Brooks’ observation:

“ . . . Birchfield estimates you can get 80% value from every good developer added to a SOA project.”

I’m skeptical.  Once again, it depends.  An SOA is not a single project; it is multiple projects, often not concurrent or even contiguous.  As individual efforts, these multiple projects may be less complex than a single large development effort, but there’s nothing inherent in any one of them that make it possible to achieve 80 percent of an additional programmer’s productivity.

The best way of getting fast results from an SOA project is to leverage existing services, have a specific goal in mind, and work within the context of the enterprise architecture to achieve that goal.

And let’s not lose sight of Brooks’ original observation – you can’t speed up a late project by throwing additional programmer bodies at it.  Beyond that, I don’t think that whether or not it’s an SOA project makes any difference.

Advertisements

Comments»

1. Robert Shumake - February 2, 2010

what a great site and informative posts, I will add a backlink and bookmark your site. Keep up the good work!

Robert Shumake Fifth Third

2. scott f - November 5, 2012

I think Brooks comment on SOA (can’t track it down) was that while a service reduces the complexity of each component, the complexity within the system as a whole is simply moved from the services to the interactions between services – call it the Law of Conservation of Complexity. Sadly too many architects, developers and CIO’s don;t see this. A Silver Bullet indeed!


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: