“I asked Ash.” Advantages and disadvantages of using artificial intelligence in the work of a systems analyst
With the advent of the opportunity to use LLM in work, solving many problems has taken on a completely new look. Of course, like all technologies, LLMs today help us find new approaches, come up with solutions, or can even do the work for us.
What problems can a systems analyst solve using AI? I will analyze those that were successfully solved by me in my work. If you have encountered anything else, then share your experience in the comments.
Code generation
I'll start with an atypical, at first glance, task for an analyst. In many of my talks, I often mention automation and writing scripts in Python for a systems analyst. In my opinion, this solves many routine or manual tasks. In addition, you can use this skill for testing or integration tasks.
But for a specialist who has not previously encountered writing code, it may be difficult to master it in a short time. This is where an LLM can help. By writing a request, you can receive not only a ready-made script, but also test cases for its operation and a detailed explanation of each line of code.
Various discussions and disputes are currently arising on the topic of code quality and the use of LLM in development. So here I will emphasize that LLM will be a great solution for simple short scripts that can help a systems analyst.
Creating diagrams and using notations
LLM can help generate different kinds of diagrams based on text descriptions. These can be diagrams in BPMN notation or in UML.
This opens up great possibilities for creating diagrams using the PlantUML tool. Since it allows you to create a graphical display of diagrams based on a text description with certain rules.
It's really convenient. But it is worth noting that I was not able to generate a complete high-quality diagram, since its creation requires analysis of the development of the system. But I managed to create a successful template, close to what I needed. Creating a further circuit not “from scratch” is much faster and easier.
Writing samples
I will touch on this point further in the shortcomings of the models. Among the advantages, I would like to highlight writing complex table joins, using unpopular functions, working with non-standard objects or finding errors.
In order to find an effective and correct solution to problems that arise when working with data in a database, sometimes you have to spend quite a lot of time. Now LLM can advise the right solution. In my experience, even a good specialist cannot remember absolutely the entire theoretical basis. Therefore, LLM can sometimes really recommend something suitable that I haven’t thought about for a long time.
Documentation and requirements
I don’t agree with many of the materials that discuss successful writing of documentation using LLM. Many areas use confidential information, and this solution is clearly not suitable for them. I also adhere to the idea that analysis and processing of information is better than what a person does himself, but it is still difficult to do, if we talk specifically about system analysis.
But an LLM in this area can advise on a methodology, approach or tool that will solve the problems that arise in the process of working with requirements.
By the way, on November 7, I will hold a free webinar: “User stories. Theory, practice, tools”, where I will analyze in detail what user stories are and how to work with them. I will also talk about the BDD methodology, PlantUML and much more. Registration for the webinar is available here.
Next, I will analyze the disadvantages of LLM that a systems analyst may encounter when used in work.
Incorrect sample results
LLM very often gives an incorrect script for sampling or results if you ask for an example of data obtained from a ready-made script.
If with code or theoretical information this problem can be solved by a repeated request or a changed prompt, then it was with samples that LLM came to a dead end, even when I was working with simple examples. You need to be careful here. The next point follows from this.
The need for knowledge of the material and subject area
If you are trying to work with something that you yourself have no skills in, then you will not see mistakes in the LLM work. And if you use the results of the model in solving real problems, then this may confuse you and the resources for solving the problem will only need to be increased.
You should always double-check the information received, especially if it is a script or sample. Incorrect code can negatively affect the performance of your system and lead to many problems.
No immersion in the system
Even if you have described in detail the processes in your system, you will not be able to explain absolutely everything to the model. It doesn't see through your eyes, doesn't communicate with customers, and can only assess business requirements to a limited extent. Therefore, the model cannot do writing requirements, developing business processes, and much more on the same level as a systems analyst.
Of course, you can create or train an existing model. Then the question above can already be worked out. But if we talk about a systems analyst, then this is hardly his area of responsibility. A systems analyst can be immersed in machine learning, but it requires a lot of resources to properly prepare and train the model.
In the following articles, I will look at examples of problems and their solutions using LLM and machine learning for a systems analyst.
Good luck with your ChatGPT queries! I will be glad to discuss your cases in the comments!