Features of custom software development.

Lecture



Features of custom software development.


  Features of custom software development. This section contains information for company directors and managers responsible for software and automation. This article describes the difference between boxed programs and programs written to order. Further, the main stages of software development are considered.

When you need custom software and system integration


The acquisition of software, especially for the first time, seems to be a trip to a store where a box with a long-awaited program is bought or, more modernly, by downloading ready-made software from an online store. Under the boxed program refers to a program that is distributed in large series based on the mass consumer. Undoubtedly, sometimes for business it is better to purchase a boxed software product.

The reality is that each business is unique in its own way. If you take any two competitors, the differences in their business will always be found. Despite the same result, everyone wants to achieve it in his own way. Each company has its own historical experience and business processes. Of course, in some ways, this experience and these processes overlap. However, there is no universal ideal, only your vision of the ideal and practical experience of its implementation. Similarly, there is no universal program, with one single “Make” button, by clicking on which everything happens by itself.

If the company's business processes are unique, and every day they demand automation more and more, then the best way to survive in the current business environment is to order the development of a software product. It should be noted that custom development may turn out to be an order of magnitude more expensive than the boxed versions, but in the future, custom software, made in accordance with your individual requirements, may pleasantly affect your income.


Let's try to give a far from complete list of the reasons why many are inclined towards the purchase of custom software.
  • 1. The enterprise has organized a unique production, there is no program, since no one has written it.
  • 2. The company has many data sources, and reporting should be uniform.
  • 3. Partners have a different software and other data format.
  • 4. There is a desire that the corporate site would be able to automatically collect information from the internal network for publication.
  • 5. Many branches, and you need to synchronize their work.
  • 6. The company has unique equipment, but there is no corresponding software.
  • 7. The company's management is accustomed to rely on their own strength and independently control everything.


To help the customer

Features of customized software development

Stages of software development

Stage 0. Acquaintance. Technical and commercial proposal.
Stage 1. Inspection and development of technical specifications
Stage 2. Design and development of the program.
Stage 3. Testing.
Stage 4. Introduction to trial operation.
Stage 5. Staff training
Stage 6. Technical support of the software product

Acquaintance. Technical and commercial proposal.


As a rule, the process of developing a new program to order begins with a phone call, or an e-mail letter to a potential customer of the company-developer.

After that, there is a meeting at the level of the leaders of the two companies, where the project goals and wishes for it are briefly discussed.

After some time, the customer receives from the developer a technical-commercial proposal (TCH) , a document that summarizes the customer's requirements and proposals for developing a software system in accordance with these requirements. This document also estimates the laboriousness of the work on the project and its cost (the final cost of the work can be determined only after the development of the technical specifications. See below).
If the conditions suit the client, the parties sign an agreement to conduct a survey and the formation of a technical task .

Inspection and development of technical specifications.


  Features of custom software development. To successfully create a program, the developer needs to conduct a survey in order to identify all customer requirements for the software product being created. At this stage there is an explanation of the task. Specialists travel to the customer, clarify requirements, analyze business processes, communicate with experts.
From the customer’s side, employees should be provided for interaction. Analysts of the developer company can request from the customer samples of incoming and outgoing documentation involved in automated business processes.


During the survey, the developer company compiles the main development document, Terms of Reference (TOR) . According to this document, the architects will construct the system, and the programmers will implement it. Terms of Reference - a complex document, consisting, as a rule, of the requirements for the composition and requirements for the functioning of the system. In most cases, the TK also describes the interaction interfaces, data schemes, and the logic of the program's actions.
The customer must understand that the technical task is a very important document for him; this document should not be ambiguous interpretations; according to the technical task all disputes and claims are resolved, if such arise. Therefore, the customer, before signing the TZ, carefully examines it, asks questions to the developer, agrees to make adjustments to this document.

Inspection and preparation of TZ is a paid service. Typically, the cost is 10-15% of the estimated cost of the entire project.

After coordination of the technical specification, the total cost of development is specified and a calendar plan of work on the creation of a software product is formed. Developers begin to design and development.

Design and development of the program. Testing. Documentation.


  Features of custom software development. The main document for these stages of work is the technical task. These stages are the transfer of information from the language of people (TK) to the language of computers. At this stage, coding, testing and documentation is performed. Coding consists of creating software in accordance with the system architecture and the system creation technology defined at the stages of survey and technical design.



  Features of custom software development. Software testing is carried out on the basis of the developed test plans and testing for them.

The system is accompanied by the following documentation: user manual , system administrator 's manual, system programmer's manual.

The introduction of trial operation. Training.


  Features of custom software development. At these stages, the system is implemented and personnel is trained according to the following order:

The developer provides the first version of the system for preliminary tests. Preliminary tests are conducted by a joint group of representatives of the contractor and the customer according to an agreed program and methodology. The result of the preliminary tests of the system is a protocol , which indicates that the system is ready for trial operation or specifies comments that must be eliminated before installing the system into trial operation.

  Features of custom software development. On the basis of the preliminary test report, the parties sign a test operation start report . Trial operation involves the installation of the developed software, user training, participating in the trial operation and logging, in which errors, comments and suggestions are recorded. Personnel training is also necessary so that the customer’s company’s staff can quickly and easily master all the basics of the new system and don’t spend too much time reading the technical documentation.

After the end of trial operation, the development company releases an industrial version of the system, which takes into account errors and comments identified during trial operation. This version is submitted to acceptance tests. Based on the acceptance test protocol, the parties sign a certificate of system readiness for commercial operation .

Technical support of the software product.

  Features of custom software development.


After putting the system into commercial operation, the customer company uses the developed software product for its own purposes. During the warranty period agreed upon with the customer, the developer provides technical support for the software product. Technical support refers to consultations, as well as the correction of undetected errors at the stage of trial operation, if any. After the completion of the warranty period, and optionally, it is possible to enter into an agreement for technical support of the implemented software product.

Undoubtedly, after development, the customer may want to modify the product or add specific functions, since knowledge comes with experience. To do this, it is enough to agree with the developer, sign a new contract and after some time, the modifications will be introduced into the system.

In software development, software development stages are used to describe the degree of availability of a software product. Also, the development stage may reflect the number of implemented functions planned for a specific version of the program. The stages can either be officially announced and regulated by the developers, or sometimes this term is used informally to describe the state of the product. It should be noted that the stages Beta and Alpha (Pre-Alpha) are not indicators of release instability as they are assigned to the program once or once per series (the series, in this case, counts the number up to the first point), depending on the development system. They can be assigned to multiple releases in a row. The release in this case is considered the completed version (see Release (software)).

Content

  • 1 Stages of development
  • 2 Pre-alpha
  • 3 Alpha
  • 4 Beta
    • 4.1 Beta Escrow
  • 5 Release Candidate
    • 5.1 RC Escrow
  • 6 Release
    • 6.1 RTM Escrow
  • 7 Post Release
  • 8 Overall availability
  • 9 See also
  • 10 References

Stages of development

Milestone development stages - each stage is assigned a sequence number (1, 2, 3, etc.). For example: “The company made a product that is under development. Now he has the development phase of Milestone 1. ". This can be either pre-alpha or beta, as well as the early stage of development (formerly pre-alpha). Some development steps may be marked as “pre-”. For example, pre-Milestone 1.

Pre-alpha

Initial development stage - The time period from the start of development to the output of the Alpha stage (or to any other stage if there is no Alpha stage). It is also the name for programs that have not yet entered the alpha or beta stage, but have passed through the development stage, for the initial assessment of the functionality in action. Unlike alpha and beta versions, pre-alpha may not include the full range of program functionality. In this case, all actions performed during the design and development of the program up to testing are implied. Such actions include design development, requirements analysis, application development itself, as well as debugging of individual modules.

Alpha

Internal Testing - The stage of starting a program as a whole by testers, usually not software developers, but usually within an organization or a community developing a product. It may also be the stage of adding new functionality. Programs at this stage can only be used to familiarize themselves with future opportunities.

Beta

Public testing - Stage of active beta testing and debugging of the program that has passed alpha testing (if any). Programs at this level can be used by other software developers to test compatibility. Nevertheless, the programs of this stage may contain a rather large number of errors.

Since the beta product is not the final version, and public testing is performed at the user's own risk and risk, the manufacturer is not liable for any damage caused by using the beta version. Thus, many manufacturers shun responsibility by providing users with only beta versions of the product. So, ICQ in the 2003 version used this trick, releasing the 2003b (b means beta) version of this internet messenger. The final version of ICQ 2003 did not appear, instead two years later ICQ 4 and ICQ 5 came out.

Beta Escrow

Beta testing phase, release candidate for Beta.

Release Candidate

Release Candidate or RC ( release candidate ), Pre-release or Pre is the candidate stage to become stable. The programs of this stage underwent comprehensive testing, due to which all the found critical errors were corrected. But at the same time, there is the likelihood of detecting some more errors that were not noticed during testing.

RC Escrow

Release, which is ready to get the title of the release candidate. There may be more bugs in this release.

Release

Release or RTM (English release to manufacturing industrial edition) - edition of the product, ready for replication. This is a stable version of the program that has gone through all the previous stages, in which the major errors have been corrected, but there is a probability of new errors that have been previously noticed. RTM precedes General Availability (GA) when a product is released to the public.

RTM Escrow

The last stage of product development, which is ready to become an RTM release.

Post release

Post-release or Post-RTM (English post-release to manufacturing ), the product edition, which has several differences from RTM and is marked as the very first stage of development of the next product. Such releases are not released for sale, but are distributed to beta testers. This edition can be either stable (if no errors are noticed), or with errors.

  • These development stages (Beta Escrow, RC Escrow, RTM Escrow and Post-RTM) are rare.

The software development process (eng. Software development process , software process ) is the structure according to which software development is built.

There are several models of such a process, each of which describes its own approach, in the form of tasks and / or activities that take place during the process.

Process steps

The development process consists of many subprocesses, or disciplines, some of which are shown below. In the waterfall model, they go one after another, in other similar processes their order or composition changes.

  • Business modeling
  • Requirements analysis
  • Planning
  • Architecture development
  • Coding
  • Testing and debugging
  • Documenting
  • Certification
  • Implementation
  • Escort

Process models

  • Waterfall Model (Cascade Model)
  • Iterative process
    • Flexible development methodologies
    • Extreme Programming
  • Formal methods

see also

created: 2014-09-18
updated: 2021-01-10
132842



Rating 9 of 10. count vote: 2
Are you satisfied?:



Comments


To leave a comment
If you have any suggestion, idea, thanks or comment, feel free to write. We really value feedback and are glad to hear your opinion.
To reply

Web site or software design

Terms: Web site or software design