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.