Studies the software application domain, prepare software requirements, and specification documents. Liaises between the software users and the software developers. Conveys the demands of software users to the developers. Skills include working knowledge of software technology; computer programming experience/expertise; general business knowledge; problem solving/reduction skills; interpersonal relation skills; flexibility and adaptability.