No izpētes līdz ierīcei – kā top datorprogrammas?

01.09.2023
Accounting software
Krāsainu zīmuļu rindas attēls ar baltu fonu, zīmuļi dažādās krāsās ar sarkanu galiņu.

Every person who consumes the benefits of modern civilization uses several, if not dozens, of computer programs every day. We often do not even realize that every little thing we look at on our smartphones or computer screens is the end result of serious programming work. This includes even digital calculators and calendars, not to mention accounting or business management software.

But have you ever wondered how computer programs are created and how much time their development takes? If not, let us pull back the curtain on the work of information technology specialists, which results in the creation and improvement of our Jumis.

Development begins with research

Once a problem in performing a task has been identified and it is concluded that a computer program could be the most suitable solution, the planning phase begins. This process involves essential preliminary research into the potential product, as well as identifying customers and their needs. The opinion of potential users is crucial, especially if the program is being developed on demand for the specific needs of a company or industry. For such products, a specification detailing the required functionality is usually developed in advance. Conversely, for mass-market products, one must attempt to satisfy the wishes of the widest possible range of users, which is why the production of such items is generally more complex and time-consuming.

The next step is researching the application and infrastructure, as every product development requires specific technologies and programs upon which the new product will be based. If it is to be offered as a cloud service, one must account for the fact that the company will have to pay for the cloud resources where the product will be hosted. If customer data is stored in the cloud, there will be additional costs for the cloud resources used by each client.

All requirements for the new product are divided into two major groups: those relating to hardware and those relating to software. The project is broken down into detailed tasks, and the total number of man-hours required to complete the project is calculated, along with the necessary costs. Following the research into the program and technologies, the procurement process takes place.

Design, then code

No product can be developed without a defined graphic design, which means that through the use of various images and symbols, a visual identity with its own originality and style is created for the product. Graphic design also includes the development of the product logo, which is significant in marketing, as it is the logo that catches the potential user's eye and influences their decision to purchase the product. Essentially, graphic design defines the product's appearance. This is the most labor-intensive and time-consuming process. Once the decision to develop a product is made, the specification phase begins; all product functionality is identified, and specifications are written for every development action—every form, function, and button operation. This is also done for the graphic design, as it is linked to the product's usability. If the product is being developed for a specific client, that client prepares all specifications, defines functional requirements, and determines the program's usability and relationships, while the company carries out the development based on these specifications.

To understand what needs to be developed, a graphic sketch is usually drawn to outline the main functional requirements. After evaluating what needs to be built into the new product, the team assesses how this product or its components will integrate into the core product's functionality. For example, if a forum is being created to be included on a website, it must be studied to see how it will integrate into the overall site and whether it will visually differ from the main pages. After establishing the overall look, specifications are written and visualizations are drawn for every piece of functionality, every form, every calculation, and every button action. When writing specifications, every function must be justified, and every step and usage scenario must be described. Throughout the development period, specifications are updated, and during the debugging process, they are supplemented with descriptions of fixes for flaws discovered during testing.

Errors must be found and fixed

The next step is programming, or the development process, which involves detailing the algorithm and writing it in the appropriate programming language, as well as selecting data structures and coding them. This is also a time-consuming and complex process that may seem the most incomprehensible of all to a casual observer.

For development products, a prototype is often created—an early version of the product that is released and delivered to a select group of customers. The purpose of the prototype is to test the product, its functionality, and its usability before it is produced and released for mass use by customers.

The entire testing process can essentially be divided into two groups. The first is alpha testing, or alpha test —the first stage of testing newly developed software or hardware, performed by the developers themselves. Alpha testers are usually members of the team involved in the product development process; they are experienced users capable of verifying the developed functionality and articulating the errors and problems found during the testing process. This is followed by beta testing, or beta test, which involves real users. They work with the new product as if it were finished and released.

The developing program is checked step by step to ensure that everything works as intended. If errors are noticed during testing, they are registered and reported to the developer for corrections to be made.

No product can be developed without errors, which is why testing and the correction of identified bugs—known as debugging—are essential. This phase is considered complete when the development team agrees that the project is ready for deployment and release to end users. In reality, however, the product that reaches consumers often still contains bugs and opportunities for functional improvement. These are addressed over time through software updates.

Keywords:
datorprogrammas, programmatūras izstrāde, IT processi, programmēšana, testēšana, grafiskais dizains, specifikācijas, Jumis, ERP sistēmas, mākoņpakalpojumi

Additional articles on the topic