Technically, we could easily draw a line at the HTTP boundary. We have a very clean separation between client and server logic- the client contains NO business logic at all- it is all pure presentation. Even validation is handled purely server side (though originally we were going to replicate validation logic client side for usability purposes, some user-driven preferences actually ended up with us pushing that logic to server side only). Communication between the two uses a RESTful interface and data serialized as JSON. With the client being written in Silverlight, the client and server sides share interfaces that serve as a contract for serializing and serializing the JSON; however, these interfaces are data only and client side does have any access to methods on our entities (or any of the objects that operate on these entities).
All that to say- easily technically feasible to separate into a Silverlight and Backend team, but I just can't see this flying with QA. I don't think our QA folks are going to be comfortable talking directly to web services with JSON in order to test the backend team's stories. Right now the back end code is only tested going through the UI, and I can't see that changing. Of course, even as I say that my brain is scheming for a way to give them a tool that could auto generate data entry for all of our interfaces and allow them to bypass the UI... I can't help it, it's the twisted mad scientist in my head!
Anyway- I think we'd end up in a situation where none of the back end code is tested until the front end stories are done, and that really just pushes it all back into one big team. Which is not to say that there isn't value in separating the developers into sub-teams- at least then bugs would be clearly assignable (front end goes to team A, back end goes to team B). Also, due to the architecture as I described above, the only shared code between sub teams would be data-only interfaces, which would at least allow poor decisions by one sub team to have less effect on the other team. It's certainly a thought.
_________________________
-Jeff
Rome did not create a great empire by having meetings; they did it by killing all those who opposed them.