What is a System Analyst?
A systems analyst is a professional who is familiar with computer systems, programming, technical architectures & platforms. With their expertise in Information Technology (IT) along with their knowledge of client’s business, systems analysts help companies analyze and implement new IT solutions or improve existing ones.
Difference between a Business Analyst and a Systems Analyst
Before heading any further, let’s clarify the difference between a Business Analyst and a Systems Analyst (I’ve often seen a great deal of confusion amongst both of them).
In the simplest of terms, a Systems Analyst (SA) is a type of Business Analyst (BA) who has extensive knowledge, hands-on experience and expertise in Information Technology and its applications.
A Business Analyst might not have an understanding of software coding but a Systems Analyst does. A Business Analyst might not know about Information systems (Structured systems for collecting, organizing, storing and retrieving information and data) but a Systems Analyst does. A Business Analyst might not be exposed to product/application’s technical architecture but a Systems Analyst is.
You got the drift, right?
Overview of the Systems Analyst Job
A system analyst pertains the understanding of programming languages, operating systems and information systems. Additionally, she/he helps identify and plan the technical solutions, write documents from technical aspects, create application models and keep himself up to date with technical and industry developments. Occasionally, a systems analyst may be a specialist for a specific set of technology and gives his services by providing the expert suggestions/recommendations against the application of technology in the betterment of the solution being developed.
It’s rare for a Systems Analyst to actually sit and code but they should understand the underlying coding basics, concepts and best practices as it will help them make better decisions when they are planning and designing Information systems that will help organizations be more effective and efficient in their operations.
It is interesting to note that Computer System Analyst is currently one of the best technology jobs in the world!
To get a broader sense of understanding of all the activities that are performed by a Systems Analyst, let’s see all the responsibilities and duties performed by him in each phase of a typical project life-cycle.
Duties and Responsibilities of a Systems Analyst
A Systems Analyst, like other analysts, has a diverse set of activities to perform throughout the course of a software development life-cycle (SDLC). Detailed below is a comprehensive listing of the activities performed by a Systems Analyst in each phase (Initiating, Planning, Executing and Closing) of a software development or support project.
In ‘Initiating’ phase of the project
- Examine and study the existing IT systems, process and business model of the Organization or the division you are working for
- Understand the expectations and high-level requirements of the IT solution/system to be developed
- Learn about the hardware, software and technical requirements and configurations from every perspective (infrastructure, location, availability, ease of use)
- Recommend whether you need to replace the old/legacy systems or modify the existing system
- Conduct a cost-benefit analysis/feasibility study to understand if it’s economically viable for the organization to develop the system
- Define the problem, how it intends to be resolved, what all will be required, high-level risks/concerns and limitations
- Validate that the suggested solution fits the business goals and objectives of the organization
In ‘Planning’ phase of the project
- Liaise with internal/external users to understand the exact business requirements
- Conduct facilitated workshops/interviews/sessions/questionnaire aimed at interacting with specialized audiences of the product being developed and understanding the complete requirements details
- Document detailed technical requirements, hardware requirements and logic implementations
- Technical Documentation – Prepare System Requirement Specification (SRS), Functional Requirement Specification (FRS), system/application architecture
- Requirement Documentation – Create use cases, user stories, Business Requirement Document (BRD), class diagram, Entity-Relationship (ER) diagram and sequence diagrams
- Application Modelling – Create models, flowcharts, wireframes, Data Flow Diagram (DFD and Process Flow Diagrams (PFD) by using modeling techniques and notations i.e. UML, BPMN, etc.
- System Design – Design the complete system by working with the technical team
- Plan how the system is expected to behave in different situations/environments and document exceptions
- Obtain approval of the complete requirement set and get a written sign-off on all the documents prepared for the project
In ‘Executing’ phase of the project
- Help programmers understand the complete requirements and all the associated aspects (technical, functional and operational)
- Oversee development, assign tasks and supervise the progress of the activities assigned to the development team
- Mentor the team by providing expert advice, suggestion, clarifying doubts and solving technical/functional issues
- Create test cases and assist the testing team in identifying testing scenarios
- Test the application by doing unit testing, functional testing and application testing – ensuring the functional and technical compatibility of the product with the requirements
- Assist in change management and in developing/recommending workarounds.
- Measure whether the development of the project is in sync with the documented and approved technical and functional requirements and planned deadlines (Very Important!)
- Control any deviations from the plan by having proper preventive actions in place and correct any defects by implementing corrective actions
- Present the interim and final solution/application to the business owners and seek their approval and feedback
In ‘Closing’ phase of the project
- Assist in the deployment of the system in the UAT and Production environments
- Inspect the installed and configured systems, validate their functioning and look out for any flaws and errors
- Aid in the maintenance of the deployed system along with operational support
- Prepare user manuals, technical handouts and operational manuals for the deployed application/system
- Train end users and system users and make them comfortable with the new system
Ad-Hoc duties and responsibilities
The following tasks, although not a part of the formal job description of a Systems Analyst, but are expected to be conducted by them:
- Stay updated with the latest developments and emerging technologies in the technical sphere
- Analyze whether the existing systems are outdated and need to be replaced with latest, easy to use, efficient or more optimal technology
- Research existing systems/process and prepare technical proposals for implementing new systems
- Author case studies, research papers, publications and continuously enhance the technical skills to be on top of the technology
- Compare different recommendations and proposals for system modifications and replacement on criteria like organizational feasibility, infrastructure, usability, the technology used, technical challenges, etc… and present a comparative report
Skills required to be a Systems Analyst
Some of the more common and domain-independent skills that the Systems Analyst must have are:
- Understanding of software development lifecycle (SDLC).
- Knowledge of software designing concepts.
- Working know how of data modeling.
- Awareness of database concepts like DBMS, ETL and SQL.
- Analysis and elicitation skills.
- Good command of spoken and written communication
- Testing skills and eye for detail.
For individuals who are having a bachelor’s degree in computers science, Information technology, business information systems or information science and an analytical aptitude, Systems Analyst is a lucrative career option both professionally and financially. Apart from the usual benefits of being an analyst, systems analyst gets the opportunity to work with the latest technology, tackle challenging techno-business issues and draw a handsome salary in the process (salary details below).
Education required for becoming a Systems Analyst
There are multiple entry points to becoming a Systems analyst and the favorable qualifications are listed below:
Bachelor’s degree: Although having a bachelor’s degree is not a prerequisite for becoming a Systems Analyst but its highly desirable. Additionally, some specific bachelor’s degrees around Technology and Business are preferred as they help to create a foundation for the Systems Analyst. Examples of Technology degrees are – Bachelor’s in Information Technology, Computer Science, Networking and Telecommunications, Information Sciences and Network Administration.
Likewise, Examples of Business degrees are – Bachelor’s in Business Administration, Business Management, Business Operations and Planning.
Master’s Degree: Systems Analyst who sought to work in complex and challenging technical environment should have superior knowledge of information technology (IT) and information systems and a master’s degree is recommended in such cases.
Specialized Courses: Professionals with bachelor’s degree in humanities or science streams usually undergo specialized short and long-term courses to acquaint themselves with the technical and analytical acumen required for becoming a Systems analyst. Courses in Web development, UI/UX framework COURSES, technology (JAVA/PHP/etc) specific courses, Database Administration (DBA) courses, cloud computing related courses.
Training and Certifications: It should be noted that for professionals working in specialized domains like finance, insurance or healthcare, special courses/certifications/ training might be required to gain command over the subject.
Systems Analyst Salary
Talking about India, Systems Analyst usually has a salary of INR 7,50,000 – 9,00,000 per annum. Taking a closer look at pay based on experience, the approximate base annual pay of Systems Analyst are:
- Fresher – INR 434,000
- 1-3 Years’ experience – INR 626,000
- 4-6 Years’ experience – INR 824,000
- 7-9 Years’ experience – INR 1,013,000
Similarly, in the United States Systems Analyst usually make between $64,000 – $76,000 per annum. Taking a closer look at pay based on experience, the approximate base annual pay Systems Analyst are:
- Fresher – $60,000
- 1-3 Years’ experience – $69,000
- 4-6 Years’ experience – $80,000
- 7-9 Years’ experience – $96,000