Agile Organisation

I'm currently working on transforming a small software development company. There's about 25 people working here in all possible fields (sales, marketing, support, operations, development....)

I've been asked to consult on the company organisation structure; what teams do we need and who needs to be on the teams. And I'm stuck between two considerations......

On the one hand I'd like to minimize handoffs and maximize flow. To do this, I'd want one team to do software development and support on the product they develop. A team would consist of a Product Owner, some software developers, someone who knows about server hardware/platforms etc, someone to pick up the phone when a customer calls with an issue. The entire operation of the product would lie with this team.

On the other hand, I'd like to maximize focus on the software development team. We all know that interrupting a developer that's in "the zone" is costly for his productivity. In this case I'd separate Development and Support, making sure there's a regular knowledge transfer (Support would be a stakeholder present during the demo and liaise with the PO for product improvement, issues that need one of de Devs to look at it immediately would be handled by use of the Illegitimus Non-interruptus pattern)

Both options have their merrits and their supporters. But which one would weigh in the heaviest? Should I opt for handoff-minimization or for Focus-maximization? And why? Any comments welcome in the Comments section or on EMail to