Thursday 5 February 2009

Software factory - good or bad?

The term software factory has been around for a while now. I've heard it used both in a visionary and derogatory sense. I suppose it depends on who you talk to.


So, just to throw it out there, could a software factory actually produce high quality software to spec? Remember a lot of the Lean stuff came from the Toyota Production System, which looks at innovation, minimal waste and high quality.


What kind of comparison can we draw between a traditional software factory and a lean, agile, buzzword spouting coding shop? Both would admit targets of high quality and waste elimination. But is the atmosphere any different in a traditional software factory. A traditional software factory in my mind would be pushing teams through waterfall, have heavy process and leave little room for innovation.


Obviously the lean software shop would be doing XP/Scrum, 40 hour weeks and be a fun place to work! It sounds like both are at opposite ends of the spectrum, but could both describe themselves as software factories?


Maybe a true comparison would be between a Toyota factory and an old-style sweatshop factory. I don't think the term software factory is a derogatory term, but it's an ambiguous term.

So, that leads to the main question of the post - would you like to work in a software factory?

There are a few clarifications to consider before answering:
  1. Is it a Lean factory or a harder, not smarter factory?
  2. Are you the architect or the coder?
  3. Who are you coding for? Yourself, your boss or the customer?

Point 1 is covered. Point 2 is interesting in the sense that it's cool to be dreaming up improvements and architectures for the team to be doing, but is it any fun being a coder in a team where you have no say in the direction? Well, that all depends on how open the architect is. If the architect is pretty open, he/she will listen to the team and involve them in such things. Share the "fun" work of design and improvements.

Point 3 is off the wall. That's personal preference, I suppose. But there are a few coders that lose sight of the fact that this is a job and sometimes you have to use an uncool technology or something that you don't personally like. That's a whole different subject...

So, software factories - good or bad? Like any company, it depends both on the goals and how they are achieved.

No comments:

Post a Comment