Gli analisti software determinano e privilegiano i requisiti degli utenti, producono e documentano le specifiche del software, testano la loro applicazione e li riesaminano durante lo sviluppo del software. Fungono da interfaccia tra gli utenti e il team di sviluppo del software.