Who? What? When? When solving IT problems

Hello, my name is Ekaterina Shashkova – I am the chief systems analyst in fintech and one of the authors of the developing tg channel for analysts – Sprint Analytics

When conducting consultations, I am often faced with the question of what roles are involved in the implementation of tasks and how they interact with each other. I believe that this question needs to be answered taking into account the life cycle of an IT task on a specific project. This is how the idea for this article came about, which reveals who is doing what at each stage, as well as what artifacts need to be prepared.

The life cycle of a task inherits the life cycle of the system and contains similar stages. There are quite a few classifications of the development cycle, but they all reflect the general structure. For clarity and a deeper understanding of the process of implementing tasks, the article highlights the following stages:

  • planning

  • analysis

  • design

  • development

  • testing

  • deployment

  • operation and maintenance

Together, these blocks represent the complete cycle that the task goes through.

The description of the stages reveals: the main essence, the interaction of various roles and the main result of the work at each step.

The example from the article is based on my personal experience working on several projects in fintech, but even within the same company, the composition of the development team may differ depending on the size of the tasks.

Next, let's take a closer look at each of the stages to better understand what roles overlap when performing tasks, and also find out what artifacts they prepare.

This article will be useful for those who want to decide on the direction of development in IT or are just starting their journey. For experienced professionals, I suggest checking whether all the roles are on your team in order to get a complete picture of what is happening. Maybe you have competencies on the project that I haven’t encountered? I suggest collecting a complete list in the comments.

So, let's go. As with any business, it all starts with planning.

Planning

Participants:

customer, product owner (PO), project manager (PM), business analyst (BA)

Essence:

At this stage, the customer’s needs are identified and prioritized, product requirements are formed, risks are assessed and a work plan is drawn up.

The project manager is responsible for planning, budget control, and resource allocation. The Product Owner sets the overall strategy and vision for the product. If there is no PM on the project, then the PO performs its functions. Together, managers form a project backlog, the implementation of which will be monitored in the following stages.

A business analyst is involved to identify and formulate a business goal, and holds orientation meetings with stakeholders.

Result: Backlog generated

Final artifacts: Backlog

Requirements identification and analysis

Participants:

customer, BA, system analyst (SA, SA), optional UI/UX designer

Essence:

At the stage of identifying and analyzing requirements, the business analyst, together with the designer, needs to form a vision of what exactly should be implemented. This stage is necessary for further process design in order to clearly understand the boundaries and needs of the business.

The main tasks at this stage are performed by business analyst. He immerses himself in the needs of the business and holds several meetings with stakeholders. BA identifies, formulates and groups all types of requirements, analyzes current (as is) and future (to be) business processes. The business analyst records all requirements in the BRD (Business Requirements Document – a document containing top-level requirements for change) and agrees with the customer.

Also at this stage, the BA defines user scenarios and generates prototypes of screen forms in order to transfer them to the UI/UX designer for creating layouts. All stakeholders, including the development team, will be guided by these layouts.

Next, the BA passes the BRD to the system analyst so that he can supplement them with technical artifacts and also check feasibility.

After the designer creates the final layouts of screen forms, the BA adds them to the BRD and agrees on the final document with the customer. It is worth noting that layouts can be created or modified at a later stage after selecting a specific implementation solution.

Result: Requirements agreed with the customer

Final artifacts: BRD

Design

Participants:

BA, SA, architect, technical leader (tech lead) or senior of any role, optionally product owner and customer

Essence:

Once all the requirements have been formed, it is necessary to begin designing and selecting a technical solution. This step is key because depending on the implementation option, there may be different timelines, risks, and user satisfaction with the change. This is why design involves many roles of varying skill levels.

The BA stage begins, which generates several options for solutions to the to be business process, taking into account all the requirements and analysis of the as is process, which were prepared at the previous stage.

Next, the BA, together with the CA and the technical leader (or senior), select the optimal solution taking into account the customer’s needs and technical limitations.

If several implementation options are considered optimal, then the product owner and customer are involved in the selection, and they make management decisions taking into account all risks. The final business process to be is agreed upon by BA with the customer.

Together with the technical lead or senior specialist, the teams choose the technology for implementing this solution. Next, the CA describes the designed solution in the technical specifications (TOR) or change specifications, enriching it with a description of integrations, diagrams of technical algorithms, attributes, data mapping, etc.

For integration changes, an architect is involved who coordinates the integration interaction, develops the overall architecture of the software product, and also creates an architectural document for this change.

Result: The final business process and technical implementation were designed, and an optional architecture was created

Final artifacts: Terms of reference, architectural document

Development

Participants:

developers (full stack, backend, frontend), technical lead

Essence:

During the development phase, the systems analyst delegates the task to the developers. The main document on which the code will be written is the technical specification, which was created at the previous stage. Throughout the entire stage, developers consult with the CA on the technical specifications and, if necessary, jointly make adjustments to the documentation.

To begin with, developers create and coordinate with the technical lead a technical design, in which they describe the implementation algorithm and the structure of writing the code. Next, they begin to directly implement the change by writing code.

If a team has backend and frontend developers, then they write their parts of the code in parallel. Each specialist implements a specific part of the technical specifications. If a task is implemented by a fullstack developer, then he writes code for both the internal and external parts of the functionality.

The completion of this stage is a compiled project for delivery of improvements to users

Result: Code written

Final artifacts: Project Code (Compiled Project)

Testing

Participants:

testers (QA functional/manual tester), automated testers (AQA), load testers (LT)

Essence:

At this stage, extensive testing of the change is carried out. The task of testers of all directions is to check whether the description of the improvement in the technical specifications corresponds to what was implemented by the developers at the previous step.

To do this, some teams hold a meeting between the SA, developer and tester to transfer the task to testing. Similar to the development stage, testers consult with the CA on the technical specifications, and can also add or adjust the description.

QA creates checklists with a set of necessary checks for the task, which is then agreed upon with the developer and system analyst. Based on checklists, if necessary, the tester describes test cases, which he also agrees with team members.

When testing, QA records the bugs found and analyzes the testing results. If there is an error in the wording of the technical specifications, then the analyst corrects it, and if it is in the code, then the developers.

An automated tester can either replace functional testing or supplement it. Using automated tests, you can check the stability of work, as well as conduct accelerated re-testing (regression) to make sure that the new modification does not break the existing functionality.

Load testers verify that the application can withstand the required load from the application itself, databases, integrations with other systems, and other components.

Result: Change tested

Final artifacts: Test cases, checklists

Deployment (release)

Participants:

Implementation engineers

Essence:

At this stage, the new functionality of the program is installed and launched on the client’s servers, ensuring functionality in case of problems. This allows a tested and ready-to-use product to be available to end users. Implementation engineers are responsible for automating the deployment and monitoring processes.

Result: Change implemented

Final artifacts: Release document, deployment task and delivery plan

Support and support

Participants:

support and support specialists, business support

Essence:

At this stage, support and maintenance specialists ensure that the system is operational and respond to user requests.

Business support creates instructions and provides user training. Also involved in the calculation and analysis of metrics that reflect the effectiveness of refinement in accordance with the selected quality criteria at the analysis stage.

Result: System support was provided, users were trained and the effectiveness of the change was determined

Final artifacts: Metrics and reports


We have looked at the full life cycle of a task in detail. Depending on the project, some roles are performed by one person, while others, due to the specifics, may be absent altogether. Nevertheless, the stages presented in the article are explicitly or implicitly present in the implementation of almost any task, regardless of the chosen system methodology.

And you can find even more useful things on our tg channel – Sprint Analytics.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *