I am glad to see InfoQ have posted a writeup about scaling agile teams using feature teams rather than component teams. This includes a downloadable chapter in the latest book by Craig Larman on the subject. We used to call this working vertically or horizontally. It has also been called cross-functional teams. I have always preferred to work vertically for the following reasons:
- Less people needed to reach a consensus about interfaces between layers of the application.
- It helps to give you the big picture of the application which is something that most of us developers strive to see.