SOFTWARE DEVELOPMENT 

 "AETA-Service" creates effective, scalable IT solutions, aimed at
the implementation of the client's business objectives.

        STRATEGY  

  The strategy assumes inspection of system. The main task of inspection is an assessment of the real scope of the project, its goals and objectives, and obtaining the definition of functions at a high level. At this stage, will be highly engaged the business analysts who have permanent access to the company’s management; also expected to work closely with the main users of the system.

The main target of this interaction is to get as much information about the system, uniquely understand the customer's requirements and to transmit this information in a formalized manner to developers. As a rule, information about system can be obtained on the basis of a series of workshops with managers, developers and users.

The outcome of the strategy definition phase becomes a document that clearly states the following: what the customer receives; the work schedule; financing schedule for large projects. In other words, as a result of the strategy definition, developer and the customer decide to continue the work under certain conditions with certain obligations of the parties.

It is necessary to highlight a set of facts, which should be necessarily reflected in the final document after the survey and analysis of the company’s activities:

  •  constraints and critical factors affecting the project;
  •  a set of operating conditions for the future system: architecture, hardware and software resources, external conditions of its operation;
  •  the scope of work and performers to ensure the system functioning;
  •  critical deadlines for the stages completion, works delivery process;
    protection of commercial information;
    a description of the functions performed by the system;
  •  interfaces and functions allocation among the user and the system;
  •  software and information components requirements;
  •  presence of a potential system development in the future.

ANALYSIS

Analysis stage includes detailed study of business processes (functions defined in the previous step), and the information required for their implementation. This step provides an information model, and following it the design phase - data model.
All information about the system, collected at the stage of strategy determining, is formalized and specified at the analysis phase. Special attention should be given to the completeness of the transmitted information, analyze the consistency, as well as finding an unused or duplicate information. Typically, the client first do not generate requirement for the overall system, but its individual components. At the same stage, the necessary components of a test plan should be determined as well. 

DESIGN

The data model generates at the design phase. Designers receive data analysis input. The end product of the design phase is the database schema (if it exists in the project) and a set of specifications for system modules (model of functions

In case of a small project, the same people can act as analysts, designers and developers. The question is how relevant the transmission of the results to yourself. Basically, quite relevant, it often helps to find, for example, are not described at all, unclearly or contradictory system components descriptions and other defects, helps to prevent potential errors and will provide an opportunity to think again.
All specifications must be extremely accurate. System test plan is also being finalized at this stage of development. In many projects, the results of the design phase are made in a single document - the so-called technical specifications.

The objectives of the design are:
  •  review the results of the analysis and verification of their completeness;
  •  workshops with the customer;
  •  definition of critical parts of the project and evaluation of the project constraints;
  •  definition of the system architecture;
  •  a decision about usage of third-party products, as well as how to integrate the information flow in these products;
    design the data warehouse: database model;
    design processes and code: the final choice of development tools, programming interfaces definition, system functions at its modules and definition of modules specifications;
    definition of the testing process requirements;
    definition of the system security requirements..  

DEVELOPMENT

During the project, it is important to coordinate the development team. All developers should be subject of strict rules controlling of the initial tests. After receiving the technical project, the project team begins to write modules code. Their main task is to clarify the specification: the designer writes what should be done, the developer determines how to do it. At the design stage, there is close interaction between designers, developers and testers groups. In case of intensive development, the tester literally inseparable from the developers, actually becoming a member of the development team. In most cases, during the development phase, user interfaces could be changed. This is due to, among other things, periodic modules demonstration to customer. It may also considerably influence on the data requests.
In addition, the storage of finished project modules and libraries should be organized and used for the assembly of modules. This store is constantly updated. Only one person should monitor the upgrade process.

TESTING

Test groups can be involved in cooperation in the early stages of project development. Strictly speaking, complex testing should be in a separate stage of development. Depending on the complexity of the project, testing and correcting errors can take a third of the project total time and even more.
Tests are divided into several categories:
    unit tests; It use at the development phase of the system components and allow  track errors of the individual components;
    relations system components tests; These tests are also used at the development phase and the testing phase, they allow you to keep track of the correctness of the interaction and exchange of information between system components;
    system test; it is the main criterion for acceptance of the system; This test should reproduce operation of all components and system functions; the main objective of this test - the internal acceptance of the system and its quality evaluation;
    acceptance test; its main purpose - to deliver the system to the customer; Here developers often reduce the requirements, compared to the system tests, and the reasons for this are obvious;
    performance tests and load; This group of tests included in the system test, but it is worthy of special mention, since this group is a major test for the evaluation of reliability of the system.
The tests of each group must include failure simulation tests, which test the reaction of component, group of components, the system as a whole, on the type of failures:
    Failure of an individual component of the information system;
    Failure of the information system components group;
    Failure of the main modules of the information system;
    OS failure;
    Hardware failure (power failure, hard drive).
These tests make possibility to assess the quality of the subsystem and assist as the primary source of information for developing strategies to prevent the negative consequences of failures for industrial operation.

IMPLEMENTATION 

Pilot operation covers the testing process. The system is rarely fully introduced.
As a rule, it is a gradual process or iterative.

 Putting into operation takes a minimum of three stages:
    initial download of information;
    accumulation of information;
    output at full capacity (ie, the actual transition to the operating phase).

The initial download of information initiates a fairly narrow range of errors: mainly talking about the problems of data error while loading or downloaders mistakes. It is required to apply the methods of data quality control (otherwise, imposed errors in the future will cost much more expensive). This is something that was not or could not be traced on the test data. Such errors should be corrected as quickly as possible.
During the period of information accumulation, the largest number of errors are revealed, which associated with multi-user access. Often, at the stage of testing, it has been ignored - due to the model complexity and high cost of automation process tools. The second category of corrections related to the fact that user do not like the interface. It does not always have to carry everything user desires, or the transition process will be endless. Currently cyclic model and model with feedback stages also allows reducing costs. This step is also the most important test – approval test. Achieving of designed system capacity in good form - is finishing minor bugs and infrequent serious defects.

MAINTENANCE AND SUPPORT 

Here, the last document, which influence on the developers, the document of technical acceptance. So, the project is handed over, the development is completed, the error with which the customer agreed, are described in the documentation, and ideally the parties satisfied with each other. The document also specifies the necessary staff and equipment required to support system health, as well as violations of the conditions of product operation and responsibilities of the parties. In addition, if the document concluded between the parties, it provides technical support terms and conditions.
Terms of technical support and situations that fall under the term "technical support" as well as terms of payment are usually determined in a separate document.

BENEFITS OF SOFTWARE DEVELOPMENT
"AETA-Service"

1. Extensive experience of software development 
"AETA-Service" has successfully implemented dozens of projects, 90% of which were performed in the approved time and within the planned budget. Over the years, our company has gained unique experience in software development for customers from various industries and can offer the best international practices of information systems development and implementation.

2. Quality assurance of IT solutions 
The company implements projects within a high quality process organization to ensure the quality of developed software. Implementation of the project includes the preparation of a complete set of documentation for each stage, thereby facilitating implementation, creating the conditions for the developers’ replacement, if necessary, and guaranteeing the necessary transparency of the work for the customer.

3. Transparency at the all stages of the software development 
Work on the project conducts according to well-constructed methodology that can be flexibly adapted to the specific processes of the company, including the organization of experts’ remote working and providing customer access to internal systems "AETA-Service."

USE OUR EXPERIENCE!