Compartmentalization addresses scaling. In particular, it addresses scaling group interaction between the members of a group with a common group goal but heterogeneous skills, responsibilities, and individual goals. It can address this problem well or poorly, but all the good solutions (and probably all the solutions) involve some amount of compartmentalization, and allowances for cross-compartment interactions. The really good solutions don't have huge downsides, but they all have costs. And there are tons of ways to do it wrong.
If you are a small start-up, you do not have this scaling issue yet. You shouldn't bring in the solution if you don't yet have the problem, especially because the solution is costly, treacherous, and difficult to do well.
I started to write a comment here but it became a bit lengthy and so thought I would post it to my blog. You can find it here<http://blog.parishmedia.info/post/708546766/no-departments-y...; if you are interested. For the tl;dr version, the problem isn't departments, its communication.
Departments means middle-managers. Middle-managers have no direct responsibility for making the product/company successful; they are destined to optimize their own department.
Which always ends up: construct the smallest possible product feature set with the largest possible budget (money AND time). Voila! the greatest chance of departmental success.
All middle managers should be lined up and shot (lined up so one bullet will do for the whole line). The company will immediately begin to be more profitable, and ramp up from there.
If you are a small start-up, you do not have this scaling issue yet. You shouldn't bring in the solution if you don't yet have the problem, especially because the solution is costly, treacherous, and difficult to do well.