Systems analyst

From Systems Analysis Wiki
Jump to navigation Jump to search

Systems Analyst — in a broad sense — is a specialist in solving complex organizational-technical problems of an interdisciplinary nature, using the principles of general systems theory and the methods of systems analysis.

In the field of information technology, the term "systems analyst" refers to a professional who analyzes user needs and determines how they can be met with information systems. The main task of a systems analyst is to develop organizational-technical solutions and formalize them as technical specifications for the creation of systems or software.

In the field of Information Technology

A systems analyst is a specialist in information technology (IT) who deals with the analysis, design, and implementation of information systems. Systems analysts evaluate the suitability of information systems in terms of achieving intended outcomes and interact with end-users, software vendors, and programmers to achieve these results.

Main Functions and Tasks

The main functions and tasks of a systems analyst include:

  • Gathering and analyzing requirements. The specialist interviews the client to understand the business problem that needs to be solved and the expected outcome from the system.
  • Developing the technical specification. Based on the gathered requirements, the analyst creates a technical specification (TS) for the development team in the form of detailed specifications for the future system.
  • Overseeing requirements implementation. During the development process, the systems analyst interacts with programmers and testers, advises them on ambiguous issues, and ensures that the implemented functionality corresponds to the approved technical specification.
  • Presenting the solution. The analyst demonstrates the finished product to the client, gets approval for the completed work, and, if necessary, provides the developers with a list of refinements or changes.
  • Implementation and support. The specialist oversees the implementation of the new system: organizes user training, answers their questions, and provides product support during the initial operational phase.
  • Optimizing existing systems. When an existing software product needs improvement, the systems analyst similarly gathers requirements for new functionality, prepares an updated technical specification, and supervises the implementation of changes together with the development team.

Role in the Information Systems Development Process

A systems analyst plays a key role at all stages of software creation. In the initial stage, they study the current processes and needs of the organization, gather requirements from clients and users, formulate tasks for developers and architects, and then develop project documentation based on them – technical specifications, models, and diagrams that become the "roadmap" for system development. This preliminary analytical work allows for defining the architecture and functionality of the future information system before coding begins.

During the development itself, the systems analyst continues to participate in the project, acting as a liaison between the business and the technical team. They work closely with programmers, testers, and system architects, clarifying requirements and helping to resolve emerging issues. The analyst also often participates in acceptance testing, verifying that the resulting product meets the initially stated requirements. By acting as a translator from the language of business to the language of technology, the systems analyst largely ensures the successful implementation of the project in precise accordance with the client's expectations.

Distinctions from Other Roles

Systems Analyst vs. Business Analyst

Despite the similar titles, a business analyst (BA) and a systems analyst (SA) perform different functions. A business analyst concentrates on modeling and improving the company's business processes (not necessarily related to software) and determines what needs to be done to solve a business problem. In contrast, a systems analyst focuses on IT solutions and describes how this should be implemented from a technical standpoint. A BA is typically deeply immersed in the subject domain and must understand the organization's business processes, whereas an SA is considered an IT specialist and may not be an expert in a specific industry. Additionally, a business analyst more often interacts directly with business stakeholders, while a systems analyst works with the IT project development team. Simply put, the business analyst formulates what to do, while the systems analyst determines how to do it within the context of an information system.

Systems Analyst vs. Programmer

The role of a systems analyst differs from that of a programmer. A programmer directly writes code and creates the software product, whereas a systems analyst typically does not write code. Their task is to formulate requirements and determine what exactly needs to be implemented in the software to solve the given problem. While the programmer is responsible for the technical implementation, the analyst handles the preliminary analysis and design: they clarify requirements and constraints and create a technical specification that helps developers clearly understand what needs to be programmed.

Systems Analyst vs. Architect

An IT architect (solutions architect) is responsible for the high-level technical design of the system and selecting the optimal architecture. A systems analyst, on the other hand, is focused on coordinating requirements and information flows between the components of the future system. In practice, it is noted that a systems analyst designs the information processing flow at the level of several interacting systems (determining how systems will exchange data and the loads on these interactions), whereas an architect develops a solution within a single system at a deeper technical level. In other words, the architect works at the final level of abstraction before direct coding, defining structural components and implementation technologies, while the analyst forms a complete vision of the system and ensures that the technical solution meets business requirements.

Professional Skills

  • Understanding of information systems. Knowledge of the basic principles of IS architecture (client-server models, microservices, and cloud architecture) allows the analyst to develop competent technical solutions and requirements.
  • Data analysis. Skills in working with data and data processing tools (e.g., spreadsheets, BI systems like Tableau or Power BI) are necessary for analyzing large volumes of information and identifying patterns.
  • Basic programming knowledge. An understanding of the principles of programming languages (e.g., SQL, Python, or Java) helps a systems analyst to communicate effectively with developers and understand technical documentation and source code when necessary.
  • Knowledge of UX/UI fundamentals. A basic understanding of user interface design is needed for an analyst to consider the end-user experience and create user-friendly systems when formulating requirements.
  • Information security fundamentals. An understanding of information security principles helps in designing secure systems and considering security requirements during solution development.
  • Proficiency with modeling tools: BPMN, UML, etc.
  • English Language Proficiency. Proficiency in English is often essential, as a large portion of professional literature, documentation, and international standards are in English. It is also crucial for collaborating with international clients and teams.
  • Systems thinking. The ability to think systematically and see the big picture helps the analyst to deeply analyze problems and find interconnections between different elements of a system.
  • Communication skills. A systems analyst has to communicate with a wide variety of project participants – from clients and managers to programmers and testers. It is important to be able to establish effective communication with everyone and explain technical details in a language understandable to the audience.

History and Development of the Profession

The profession of a systems analyst emerged relatively recently – in the mid-20th century, with the development of computing technology and the systems approach in engineering. The advent of electronic computers and the growth in the volume of processed data created a need for specialists who would collect and analyze large arrays of information for subsequent processing and decision-making. As early as the 1960s, with the dawn of the Management Information Systems (MIS) era, the functions of systems analysis began to form a separate discipline: corporations merged departments responsible for systems and procedures with their electronic data processing departments, thereby laying the foundation for a new professional role. This was a significant milestone in the history of systems development: systems engineers had to delve deeper into computer technologies, and programmers had to understand business processes, which gradually led to the formation of the distinct role of the systems analyst.

The profession was fully established by the turn of the 20th–21st centuries, when methods of systems analysis and software development became widely used everywhere. The position of systems analyst appeared in official national job classifications only in the 2000s. For example, in the Republic of Belarus, the category "Systems Analyst" was added to the registry in 2010, and in Russia, the closely related position of "software analyst" received official status around 2012. Today, systems analysts are part of almost every large IT team. As software projects become more complex, the importance of competent analysts only grows – according to data, the popularity of this profession worldwide has not decreased over the years.

The Systems Analyst Profession and Education

A systems analyst in IT is a specialist responsible for applying systems thinking to the design and development of information systems: forming and validating requirements, modeling (UML/BPMN), coordinating architectural decisions, and ensuring integration. In the Russian Federation, the role and qualification requirements are established in professional and federal educational standards.

The main goal of this professional activity is: To ensure that an IT service, automated system, automated information system, automated control system, software, information product, or tool (hereinafter referred to as the System) conforms to its environment, initial requirements and constraints, and the goals of automation and automated activities by developing and delivering high-quality, interconnected design solutions to stakeholders, and by launching and coordinating the work of individual performers throughout the entire lifecycle of the System (according to the professional standard).[1]

Regulatory Framework (Russian Federation)

  • Professional Standard "Systems Analyst" (Order of the Ministry of Labor of the RF No. 367n dated April 27, 2023).
  • FSES HE 27.03.03 "Systems Analysis and Management" (Bachelor's degree), Order of the Ministry of Education and Science of the RF No. 902 dated August 7, 2020.
  • FSES HE 27.04.03 "Systems Analysis and Management" (Master's degree), Order of the Ministry of Education and Science of the RF No. 837 dated July 29, 2020.

Educational Institutions

  • NRNU MEPhI — Bachelor's program 27.03.03 "Systems Analysis and Management": program description • admissions.
  • Bauman Moscow State Technical University (Kaluga Branch) — 27.03.03: profile "Systems Analysis of Information and Control Systems".
  • Moscow Aviation Institute (National Research University) — 27.03.03 in the list of programs: official section.
  • UrFU — 27.03.03 "Systems Analysis and Management": program page.
  • SPbU — 27.03.03 (educational program "Applied Computer Technologies and AI" within the 27 "Control in Technical Systems" group): description.
  • TUSUR — 27.03.03 (official educational programs and documents): program section.
  • ITMO University — Master's program 27.04.03 "Systems Analysis and Management": list of programs.

Professional Development (Continuing Education at Universities)

  • SPbPU (Polytech) — Professional development programs in systems analysis (university certificate): official page of the Higher School of Engineering.
  • UrFU — Continuing education in analytics and systems analysis: "Systems Analytics" and other programs on the continuing education portal.
  • NRNU MEPhI — Continuing education section (professional development and retraining for engineers/IT specialists): official page.


Notes

  1. Professional Standard "Systems Analyst" (Order of the Ministry of Labor of the Russian Federation No. 367n dated April 27, 2023).