Generalization vs Specialization

A challenge that returns on every agile project is the strive for generalization instead of specialization.
In order to be able to deliver working software every iteration, impediments need to be removed quickly.
When your team is set up of specialists (dba, java programmer, UX designer, …), a lot of dependencies are created.
If the java programmer wants to start working on a user story, he has to make sure the dba has altered the database accordingly.
The UX designer has to wait for the java programmer to complete the business logic, …
And now I’m not even talking about absences, such as illness or vacation.

I believe it is worth the cost to start moving away from specialism to form a team of generalists with their own specialties.
This may slow down the team in the beginning, but over time, the team will be able to work more continuously and handle unforeseen absences quicker.
Off course everybody will still be the expert on one specific domain, but at least the others will be able to do the tasks as well.

You don’t have to worry about planning an equal amount of dba, java and UX work each iteration. Instead your focus can change to were it should be, delivering the features that have highest business value.
What about the bus factor? When working with specialists, this is often equal to 1.
Working with generalizing specialist, this is rarely equal to 1.

This often raises dilemma’s on a personal level:

  • Should I give up my specialist status?
  • What about my career plan? Isn’t generalization lowering my market value?

I believe most certainly not!
You will learn so many new things, become more complete as a software developer, have a broader perspective.
Software developers that have experience working in an agile team are desperately searched for. And that demand will only increase in the future.

About Nick Oostvogels

Hi, I'm an independent management consultant. My biggest strengths are located in the fields of teamwork, motivation, leadership and continuous improvement. In the IT industry you find a lot of these values in the agile movement, in which I often act as a project leader, product owner or coach. My interests go a lot further, into other industries where we find these values in lean production. Besides that, I try to broaden my horizon as much as possible, always looking for better ways of doing business.

One comment

  1. Pingback: Holiday velocity « Nick Oostvogels’s Weblog

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: