Progetta procedure informatiche in risposta alle esigenze specifiche di clienti o utenti che abbiano la necessità di gestire in maniera informatizzata determinati processi o applicazioni. Il suo compito fondamentale consiste nella elaborazione della documentazione progettuale relativa al software da implementare, con la definizione delle specifiche a cui dovrà attenersi il team incaricato di svilupparne il codice, formato in genere da figure quali il Tecnico di programmazione e sviluppo software (vedi Tecnico della programmazione e dello sviluppo di programmi informatici) e/o l'Analista programmatore (vedi Responsabile della progettazione e dello sviluppo di programmi informatici); tale team può essere organizzato anche su siti diversi e comunicare attraverso collegamenti remoti. Generalmente non si occupa della stesura del codice (programmazione), pur essendo in possesso delle competenze necessarie