A systems analyst is an IT professional who specializes in analyzing, designing and implementing information systems. System analysts assess the suitability of information systems in terms of their intended outcomes and liaise with end users, software vendors and programmers in order to achieve these outcomes. A systems analyst is a person who uses analysis and design techniques to solve business problems using information technology. Systems analysts may serve as change agents who identify the organizational improvements needed, design systems to implement those changes, and train and motivate others to use the systems. Although they may be familiar with a variety of programming languages, operating systems, and computer hardware platforms, they do not normally involve themselves in the actual hardware or software development. They may be responsible for developing cost analysis, design considerations, staff impact amelioration, and implementation timelines. A systems analyst is typically confined to an assigned or given system and will often work in conjunction with a business analyst. These roles, although having some overlap, are not the same. A business analyst will evaluate the business need and identify the appropriate solution and, to some degree, design a solution without diving too deep into the technical nature of such. They will often rely on a systems analyst to do so. A systems analyst will often evaluate code, review scripting and, possibly, even modify such to some extent. Some dedicated professionals possess practical knowledge in both areas (business and system analysis) and manage to successfully combine both of these occupations, effectively blending the line between business analyst and systems analyst.