Los diferentes roles y las diferentes responsabilidades que ocasiona un proyecto de desarrollo de software siempre son causa de malentendidos e incertidumbre. Es común que en un desarrollo pequeño una única persona lleve a cabo varios roles y responsabilidades, y en un proyecto grande sin embargo exista suficiente personal para diferenciar específicamente cada rol, esto es una muy buena practica que produce mucho beneficio al proyecto.