In the previous three articles in this series, we looked at the roles of business analysts, software architects, and programmers when creating software. In the last part, we will tell you about the other professionals employed in the IT company.
Here they are:
Testers
The source code has been written and it is the turn of the code to be downloaded to see if it works and performs the tasks asked of it by the specification. This is an essential stage in the creation of any computer program. The colleagues who handle this task are called testers or Quality Assurance (QA). Testers check the functionality for errors and return the development to its author if the errors are too many.
All software has bugs and works with them, but they must be below a certain level.
The tester checks and returns the code for rework and “bug fixing”. This is repeated until the bugs are reduced to a minimum, the program runs almost trouble-free, and the management team decides that the program is now running within normal limits. When that happens, the code goes to the builders.
Builders
The team that assembles all the pieces of code and makes an installation package of the program is called the builders. We can think of the build system as a conveyor belt where all the pieces of code written by the programmers are run on the input, scripts are run that perform certain tasks, it goes through some compilation stages, and an executable (.exe) file comes out on the output. It is put somewhere where clients can download it, install it and use the newly created computer program. Package versions can be trial, beta, alpha, pre-release, release. What type of version depends on how many bugs are in the program. When the number of bugs is large, the version is pre-release. When it gets to release the bugs must be at a level that the program is usable and the user can execute all the use cases described in the first step specification.
Deployment team
This is the team that deploys. Some programs need an accompanying implementation in the client software and this is the job of the deployers. They are usually very experienced programmers, as the task of deployment requires complex knowledge. This team often works on-site at the client and helps them get their computer program up and running.
Support team
It is there in every software manufacturing company. It is usually a team of different specialists at several levels. First level support are in direct contact with the customer and are able to resolve the most common recurring issues related to the normal operation of the program. Second and third level support are specialists troubleshooting problems of varying difficulty that prevent normal use of the program. Occasionally, as a result of customer inquiries or complaints, development of new product functionality or modification of existing functionality is required. Then the whole cycle of creating the software program is gone through again.
DevOps
The entire process of architecture planning, software creation, testing and debugging is then supported by Development Operations software engineers (DevOps). Their responsibilities are numerous, but roughly speaking they are responsible for determining the hardware needs for software development, testing and use, are responsible for ensuring that the software debugs (goes live) smoothly, provide automation tools, and monitor system security.
When working all alone, one must be able to embody the various roles we have listed – one must be a business analyst, architect, programmer, tester, builder, etc. But generally people specialize in some stage of project execution and work only that.
If you also want to join the IT team of CODIX Bulgaria – one of the world leaders in financial software development – sign up for our training for the Junior Back-end Developer profession.
