A feature team is “is a long-lived, cross-functional, cross-component team that completes many end-to-end customer features—one by one.”
Traditional development teams are often organised as component teams, where the team will work on a component which then needs to integrated with one (often many) components developed by other teams. Feature Teams on the other hand are organised to deliver the complete end-to-end feature.
Feature teams are an essential element to scaling up agile development. Without a feature team structure (but instead, a component team organization—based on code ownership, combined with a single-function organization—analyst group, programmer group, testing group, …) your organization is likely to create numerous wastes and sub-optimizations that lead to a sequential (waterfall, …) development cycle. Feature teams structure resolves many of these wastes but also introduces change and challenges.