Systems Analysis Overview
Systems analysis is part of the software development lifecycle which specializes in analyzing and designing information systems and applications. In the sequential development processes, systems analysis usually follows the business analysis, takes its outputs, and specifies in detail the IT aspects of the outlined solutions. The goal of the business analysis is to identify the business problem, propose possible solutions, and select the one which provides the best value. The detail of the solution description varies from project to project, but in general, business analysis usually does not go beyond describing how the solution helps meet the business goals and what are its main components, capabilities or features, together with providing some basic modeling and design of the system. The technical details are left for systems analysis.
After the business analysis identified WHY the change should happen in the organization and WHAT solution will help make the change, it is time for the systems analysis to look at the solution from a technical perspective. This involves assessing its feasibility, alignment with the overall IT architecture, and providing cost and time estimations if required. Then the most important part of the systems analysis follows: to analyze and design the solution in the way which enables its implementation. Rather abstractly put, but it actually cannot be specified. Each development team works differently, following different process, so the form, detail, and amount of information provided by systems analysis depend on the actual needs of each team.
Even though we describe systems analysis as strictly following the business analysis, it is very simplified, as there is always a certain overlap. In most cases, these two roles are not strictly separated, and the systems analyst usually works in conjunction with the business analyst.
Unlike business analysis, systems analysis is not a standardized discipline, so there is no formal definition or a body of knowledge describing what systems analysts should do or what skills they should have. For this reason, there is also not a unified title for this role, so any of the following are used: systems analyst, business systems analyst, technical business analyst, IT analyst, IT systems analyst, application specialist, software analyst. As for the required skills, since systems analyst is an IT specialist, the core skills are related to IT. Systems analysts need to have the knowledge which enables them to sufficiently describe the system so that developers can implement it. This involves eliciting requirements and designing the system, consulting the design with software architects to identify the technical limitations such as fitting into the overall IT architecture, questioning performance impacts and security considerations, and designing the technical components of the final system. This all requires analysts to have solid modeling skills. Unlike business analysts, who model the business aspects of the solution, such as domain modeling, business process modeling, or workflow diagrams, systems analysts describe more technical parts of the solution. They are modeling systems architecture, data stores, integrations to other systems, or user interface designs.
Although systems analysts have a solid IT background, being familiar with various operating systems, networking, security, or even programming languages, they do not typically involve themselves in the actual software development.
Systems analysts do not primarily analyze and articulate business goals. However, they still need to understand them at the level, which is sufficient to understand what goals the IT solution must support and to continually verify whether the solution is still aligned with them.
Even though the systems analyst is an IT role, not the strategic role, systems analysts need to possess very similar qualities as the business analysts. Today's complex projects require even technical roles to be able to extensively communicate and collaborate, and together with the increasing trend of connecting IT with business, most of these roles need to be able to work closely with business people too. It is challenging but definitely makes sense. Systems analysts need to be very strong in eliciting, analyzing, and documenting requirements. They must also be great communicators and presenters to be able to introduce the future solution to architects, developers, and testers. Lastly, it is also essential for them to have interpersonal and leadership skills to drive the whole activity and motivate the team.
Becoming a Systems Analysts
Systems analyst is an IT role requiring solid knowledge of IT concepts and software engineering. Systems analysts are very close to the development, they very often know the underlying technologies, they do system design and architecture and perform system tests. For this reason, it is not very common for this role to be held by a non-technical person. Systems analysts are mostly either former software engineers or people holding a degree in computer science who love technologies but do not really enjoy full-time programming. It is indisputably best when systems analyst is a former or even current developer. In this case, SA can consider all technical aspects when designing the solution without the need to consult everything with the development team, which streamlines the whole development process.