Существует всего два варианта: функциональные команды и компонентные команды (Pichler, 2008; Larman and Vodde, 2009). Функциональная команда внедряет сквозной набор требований – например, одну или несколько тем или функций. В результате появляется сквозной вертикальный срез, который проходит через основные части программной архитектуры. Компонентная команда выдает компонент или подсистему. Эти два варианта ортогональны друг другу: функциональные команды организуются вокруг бэклога продукта, а компонентные – вокруг программной архитектуры.