The Role of the analyst in Software Development - Студенческий научный форум

XV Международная студенческая научная конференция Студенческий научный форум - 2023

The Role of the analyst in Software Development

 Комментарии
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF

Despite the existence of the field of software development for more than fifty years, successful software companies still put a lot of effort into collecting and managing software requirements. Insufficient information from users, a dramatic change in requirements, misunderstanding business goals of the customer are the main reasons why project teams fail to successfully complete the project. An analyst is a specialist who collects and manages user requirements, he interacts with all classes of users and helps the customer to correctly formulate business requirements. This article discusses the main tasks of the analyst, the problems that arise in the process of software development, the main methods of analysis and the prospects for the development of this industry.

Features of software development

Like any other field, software development has its own characteristics. This industry is transparent, that is, the achievements and mistakes of employees and managers do not go unnoticed. However, one of the main features of the industry, which is both an advantage and a disadvantage, is a huge layer of software development theory and a large number of techniques. Employees working in the field of software development have to constantly learn and comprehend new methods and technologies. The consequence of this feature is the lack of pronounced development standards. Of course, we should not forget about ISO and other standards organizations in the IT sector, but the reality is that in every company the roles and tasks of employees will be different. A huge misconception is that IT professionals should be techies to the bone and absolutely ignore social skills. In fact, a lot depends on the development of communication and communication skills of IT specialists, sometimes even the fate of the project.

Software development process

The software development process involves 3 types of specialists - analysts, developers and testers. Each type of specialist is responsible for his part of the IT project. Let's take a look at each of these types. Developers are specialists who are directly involved in writing program code. Analysts are specialists who are the link between technical developers and non-technical customers. And testers are specialists who, throughout the entire project, check and test programs written by developers. In addition to the listed specialists, others also participate in the project: managers, consultants or other interested persons.

Let's talk a little about the software development process. At the moment, two development methods are popular - waterfall and agile. In real projects, both models are most often used, namely the mixed development model. We will focus on the waterfall model. The waterfall model is used to "lay the foundation" of an IT project.

The figure above shows a standard software development algorithm in a waterfall model. The main stages of development are requirements analysis, system design, implementation and testing. With a waterfall development model, the work of an analyst including high-quality collection and analysis of requirements is of great importance. An analyst's mistake at an early stage of a project can jeopardize the overall success of the development. Such bugs can pop up in the middle and late stages of development, and the developers have to rework and rewrite the code, and therefore the project runs the risk of running out of budget.

After the bulk of the work with the requirements is completed, the analyst does not leave the project. He continues to be the link between the customer and the developers. After completing the collection of requirements, the main task of the analyst is to hold meetings with the customer and demonstrate ready-made solutions. Such meetings help both parties as the customer is sure that he receives the product he needs, and the developer company is sure that it satisfies the needs of the customer. The main conclusion that can be drawn is that the more parties interact with each other, the more likely that the project will be completed successfully for both parties. The connecting link of this communication is the analyst, a lot depends on his skills and enthusiasm.

Skills required for an analyst

The profession of an analyst implies that a specialist possesses good social skills. The analyst must be able to apply various techniques for collecting information and presenting the information received in an understandable language. The main traits of a successful analyst are patience and a desire to work with people.

I have identified the following traits and skills necessary for an analyst to work:

Communication skills. These are the main skills for an analyst, since his work is connected with communicating with other people. The analyst must be able to win over the other person. An analyst must be able to speak clearly and understandably to any person.

The ability to listen. To become a good analyst, an analyst must learn to listen effectively. This involves making eye contact with the narrator, as well as repeating the main points to reinforce them.

The ability to ask questions. This skill builds on the previous one. The main part of the analyst's job is to collect requirements from users. Each user may have his own personal preferences on the operation of the system. The analyst must be able to ask the right questions in order to extract the necessary information from the communication to draw up the requirements for the system.

The ability to think on the move. Analysts keep in their heads all the information about the system received from users. At the same time, they should identify contradictions and ambiguities in the course of communication with the user, and clarify the information. The analyst always has to ask the user clarifying questions that he did not prepare for the interview.

Tasks solved by the analyst

One of the most important tasks of an analyst is to help the customer determine what he needs. Often, the customer cannot say exactly what kind of IT solution he needs. The analyst, as described in the pack, is an intermediary in communication between the customer and the developers. The analyst has business, technical and IT knowledge, and thus can help the customer. The main tasks of an analyst in software development are as follows:

Elicitation of requirements. The analyst collects information from users and helps them outline the features of the desired system needed to achieve the business goal.

Requirements analysis. The analyst must look for derived requirements that stem from user requests. He finds contradictions in requirements and fills in the gaps.

Documenting requirements. The analyst is responsible for creating a document that contains clearly structured requirements for the system.

Checking requirements. This task is related to the work of developers and testers. The analyst is obliged to accept the results of the developers' work and demonstrate it to the customer, while the result must comply with the collected requirements.

Thus a successful IT project requires the constant interaction of specialists from all areas. When analysts collect user requirements, they work with developers to understand what user requirements and whims can and cannot be implemented. Testers interact with analysts to create acceptance tests, and with developers to review written code. Only by using this synergy the project will be successfully completed.

The role of the analyst in software development is the link between the parties. The reality is that people in business cannot understand people who make programs. An analyst is a specialist who knows both software development and business that leads to minimizing misunderstandings with customers.

Literature:

1. Karl Eugene Wiegers, Joy Beatty«Software requirements», 2021https://books.google.ru/books?id=40lDmAEACAAJ&hl=ru&source=gbs_navlinks_s

2. What is software development? | IBM https://www.ibm.com/topics/software-development

https://dev.to/awwsmm/20-most-recommended-books-for-software developers-5578

Просмотров работы: 9