All About Agile | Agile Development Made Easy

Software Development: Specialize or Generalize?

by Michael Dubakov, 11 January 2013 | The Agile Blogosphere

This post is from Edge of Chaos | Agile Development Blog by Michael Dubakov. Click here to see the original post in full.

Now here’s a good topic for discussion. Many years ago we were hiring software developers as such. For the most part, they were good at their job, but not all of them.  Me, personally, and all my teammates back from these times – we were writing in any language. Something needs to be done in .NET? There we go. Any HTML work? No problem (well, the HTML work was mostly for me). Shoot something in javascript? Done. I’m not talking about the quality of these solutions, not yet.

Then, we became set apart from each other:  here’s the JS team, and they give zero consideration to the server-side tasks. These guys are .NET guys, and God forbid if they lay their hands on the client-side (with rare exceptions). This distinction projects into hiring as well: here’s a .NET, a .JS and an iOS position. It manifested itself in particular as we got down to tp3, putting the clear boundaries between various areas of responsibility. The UI is done in .JS and .JS only, everything communicates with REST API, the core team negotiates the query/response format with the .JS team, and off we go. This is a nice way to start a new project. Each team is busy with their part: they design architecture and do the refactoring as they aspire to perfection within their boundaries.

However, there comes a time when the teams are almost done with the architecture, but there’s a flurry of horizontal application-specific issues.  It somehow turns out that...

read more


Leave a Reply

What is 5 + 10 ?
Please leave these two fields as-is:
Please do this simple sum so I know you are human:)