They put out fires, mitigate conflicts, explain needs, document facts and - in case of problems - prepare clear instructions. No, it is not a job description of yet another Marvel superhero, it is simply what system analysts do. A little overwhelming, isn’t it?
But let us start from the beginning.
System analyst, an intermediary between the client and the developer
It is a system analyst job to collect all of the client’s needs, clarify and formulate them as well as to translate them into specific solutions that will be further implemented by a developer.
To understand the business needs of a client is a MUST for a system analyst. Another must is to know how to ask the right questions and how to analyze the answers correctly, which can be tricky considering all the personality and communication differences both on the side of the client and the developer.
Something I’ve heard lately was that a programmer chose that job precisely to avoid having to deal with clients. Luckily, there are some exceptions! - Małgorzata Korthals, Senior Analyst at Comarch
What makes things even more difficult is that often people in different positions use a totally different language style. A system analyst must know how to adjust the communication style to a specific person, to “translate” the language used by the client’s representatives, who don’t always have many notions of technology, to programming jargon, and the other way around.
Don´t forget that an analyst is a rightful member of a team. Looking from above, I am an intermediary in the communication between a client and a developer, but my duties can vary according to the project. Instead of the word “intermediary”, I’d rather use the phrase “ human communication interface with a developer” - says Tomasz Wojtczak, a System Analyst at Comarch
The role of a system analyst in the project cycle
An analyst is in charge of collecting, formulating, documenting and maintaining the clients´ requirements. Moreover, he or she takes part in all the project process, starting by the business analysis stage, and plays a key role in detailing all the requirements, and sometimes even in designing the right solution. Both the client and the designing team bombard the system analyst with questions and doubts. A good and committed analyst makes the work of the development and testing team easier and more comfortable. Quite frequently, an analyst job is also to train the users of a newly designed system.
It is not only about collecting information from the client, drafting the necessary documentation and disappearing. As an analyst I remain at my team’s full disposal on each stage of the project, starting by the initial contact with the client and drafting the proposal of our solution, through consultations on the implementation and testing phase, to support in case of potential post-delivery problems. - Małgorzata
The group of people who an analyst needs to work with changes depending on the stage of the project. In the initial phase, when the business requirements are defined, the analyst works closely with the client´s reps, who include both future users of the requested solution as well as the managers who analyze the offer from the business point of view.
As soon as all the requirements get written down, the design phase begins. At this stage we start working very closely with our UX designers and other analysts, sometimes coming from other projects. Each individual experience is extremely valuable and it often allows to eliminate errors already at the design stage. It is very important to ensure solution consistency. As soon as the project enters the implementation phase, constant cooperation with the development team starts for us. We need to answer questions from our architects and developers and we define analytical requirements when necessary. At this stage, we also begin our cooperation with testers. We clarify doubts regarding the app functioning, we help design test protocols, and quite often we also offer our support in the – Agata Andrzejewska, Senior Analyst at Comarch
Surgical accuracy and Swiss precision
What skills and competencies are needed for this position? A good system analyst must above all be a good listener and know how to talk to a client, analyze his/her answers and define the scope of their requirement. Paying attention to details is important, but so is having a global view.
An analyst must know how to draft clear and easy-to-understand documentation, which is the basis of any further implementation efforts. Reckless solution ideas or badly defined problems can prove quite costly later on. An analyst needs to be creative and unafraid of making decisions - Agata
Another useful skill is being open to hearing other people’s opinions - both clients and developers or testers. And - needless to add - good communication skills are an absolute must.
I’ve often seen my activity and my decisiveness come in handy. If you ask what knowledge is necessary - I don’t think it comes down to any specific software or anything like that. Software varies from company to company, or even from project to project. What matters is what it is that we want to achieve with the help of a given software. Even the best knowledge of Enterprise Architect will prove useless if you don’t know the UML. As long as you know SQL you’ll be fine, no matter if what you can use is Toad or SQLDeveloper. – Małgorzata
Changes, changes, …. the ever-present changes
Of course, certain changes can be avoided with thorough analysis, accurate predictions, asking the right questions or searching for any incoherences or conflicting requirements. Yet, it is extremely important to define how to manage the inevitable changes. There are various methods and each analyst should find the one that suits them the most.
It is important to control changes, define priorities, analyze how they influence the whole system. Changes are desirable, they mean the system is alive, it is being constantly upgraded and updated and its users are interested in its development. – Agata
There is no reason to fear changes. Yet, you must always ask yourself whether a given change makes sense or not. Whether it is necessary or not. And whether its negative impact on other areas, functionalities and system can be minimized, and how to do it.
Rather than handling changes, I try to prevent them from being necessary. A well-conducted analysis of necessity should help define the real client requirements, which in effect will lower the risk of any changes being necessary later on. - Tomasz
System Analyst or Business Analyst, this is the question
Being a business analyst means that you get to handle company processes rather than system specifications. You might get to participate in defining the client’s needs, but your key-area is in fact business processes. A system analyst, on the other hand, is sort of next step in the process of building a specific solution. It is up to him or her to define the requirements and translate them into a specific system description and its integration with other systems. A system analyst is usually expected to have much more technical knowledge than a business analyst.
In real life, these two positions tend to blend into one. Perhaps it is because people usually use both names interchangeably, without thinking much about their true definition. - Małgorzata
Is it worth becoming a System Engineer?
There are many different jobs in the IT industry. Their number is ever-growing, which offers even more and more possibilities to choose from when deciding on your desired career path. Some of us are driven by development opportunities, some want to make sure to fit well into a team, others choose according to how much money they can earn.
I’ve been lucky enough to become part of a great team and work with fantastic, open-minded and supportive people. It is thanks to them that I am constantly learning new things and they help me maintain high motivation and work-satisfaction levels. – Małgorzata
Everyone who joins us can expect many interesting and challenging tasks to be handled in multidisciplinary teams. It never gets boring and the passion and commitment of others proves really contagious. – Agata
It doesn’t matter what motivates you when choosing a new job. What matters is that you feel fulfilled and happy in the place you find yourself in.
What can future candidates expect when joining our teams? Without any doubts, they can expect teams with a capital T, whose members know what they are doing and don’t hesitate to share their knowledge and experience. Trust me, there’s plenty to learn here. – Tomasz