У екстремальному програмуванні існують дві ключові ролі: замовник і розробник.
Замовник
Людина або група людей, зацікавлених в створенні конкретного програмного продукту. Він має наступні має рацію і обов'язки:
- зафіксувати терміни випуску версій продукту;
- приймати вирішення щодо запланованих складових програми;
- знати орієнтовну вартість кожної функціональної складової;
- приймати важливі бізнес рішення;
- знати поточний стан системи;
- змінювати вимоги до системи, коли це дійсно важливо.
Для успішного використання своїх прав замовник повинен вважатися на дані, що надаються розробниками.
Укладач історій– фахівець наочної області, що володіє здібностями доступно викласти і описати вимоги до системи, що розробляється. Ця людина або група людей відповідальні за написання історій користувача і прояснення нерозуміння з боку програмістів.
Приймальник– людина, контролююча правильність функціонування системи. Добре володіє наочною областю. У обов'язки входить написання приймальних тестів.
Великий бос– стежить за роботою всіх ланок, від розробників до кінцевих користувачів. Він контролює впровадження системи і супутні організаційні моменти. Може бути також інвестором проекту.