At $work, we've recently (as in three or four years ago now) split our development organisation in two (but not half): one group to develop the Next Big Thing (NBT), and the other group to handle customer-reported problems, diagnose them, and check in the fixes for the regularly-scheduled patches (development support, or DS). And the second group will then merge the changes into the NBT release as well.
Allegedly, this is to help the NBT team better plan the NBT - by having their developers not being distracted by customers, planning how much of their attention can be paid to the NBT product is theoretically easier. It also is supposed to help customers by having developers specialise in supporting customers.
What are your thoughts/experiences on such a split? Would you prefer this model? Would it cause you to look for further employment elsewhere? What are the pros and cons?
In my experience so far, I'm finding that:
- some people have quit (or, rather, forced their manager to lay them off) Others seem to prefer this (I'm not sure why)
- the NBT group is further removed from customers resulting in:
- less understanding of what pain points customers really have
- less understanding of where customers are getting confused by the interface (whether graphical or command-line or whatever)
- less ability to respond to stupid requirements with customer-related retorts
- The DS group is responsible for passing on what is learned from the customer to the NBT group.
- I don't know how you learn, but me and apparently most of our DS group seems to learn by experience better than by being told. So only a portion of the information will be retained relative to not having this split.
- It's impossible to remember everything from a two-week customer engagement to report back to the NBT group anyway, but if DS and NBT were a single group, Stupid Requirements would trigger the memory. So stuff we could have learned is never used.
- The planning of the NBT is failing as too many Stupid Requirements have come in, and the NBT team has asked our DS team for extra help. The flexibility that this split has removed is still required.
As you might be able to guess, I'm trying to make a case for re-merging the teams. However, I do recognise that my perspective may be getting the better of me, so I'm open to the reverse discussion: how this is helpful to the development process, and, ultimately, the customer. If you have positive experiences, I really would like to hear them, too.