This article needs additional citations for verification. (January 2021)
In a software development team, a software analyst  is the person who studies the software application domain, prepares software requirements, and specification (Software Requirements Specification) documents. The software analyst is the seam between the software users and the software developers. They convey the demands of software users to the developers.