Software development life cycle

Waterfall

During the process of software development different kinds of life cycles are used, however, a typical cycle of software development (‘Waterfall’) includes the following.

Waterfall development cycle
01 Initial Initial Collection and processing of the project requirements. Preliminary planning of the phases and stages of work, of terms and deadlines, of the resources required and the costs.
02 Requirements elaboration Requirements Elaboration Receiving terms of references and developing specifications. The partner receives a written statement of his demands and work plans.
03 Construction Construction
  • Design, i.e. creation of graphic layouts, visual models, interface design. Creation of individual styles.
  • Coding, i.e. writing the source code.
  • Testing, i.e. checking the conformity of the program to all the requirements and standards.
  • Documenting, i.e. transferring the accumulated volume of knowledge to users and other software engineers.
04 Support Support
  • Deployment, i.e. installation of the product and training of end-users.
  • Maintenance, i.e. patching of bugs found and end-user support.

Agile

The second solution is a flexible development cycle (agile), which provides the option of altering the course of activities, introducing additional tasks, and allows for a detailed elaboration of subtle details without any negative consequences.

Agile development cycle

Any agile software development consists of small iterations – short cycles – or sprints, which are in fact small projects lasting from one to four weeks. On completion of a separate productive period, an analysis and reorientation to new tasks for the next cycle is conducted. There can be any number of sprints.

Agile development cycle
01 Planning Planning Goal setting and choice of actions for implementation, distribution of available resources.
02 Development Development Practical solution of tasks for creation of an application.
03 Testing Testing Accumulation of final information to monitor the fulfillment of tasks; analysis of mistakes and reasons for deviations from plan; identification of methods to correct faults.
04 Demonstration Demonstration Presentation of the completed part of the software to the client.
05 Deployment Deployment Use of the software as an independent product on request.

Comparison

Using an agile flexible cycle is reasonable for large, long-term projects when users' demands are prone to constant changes, and in other cases where strict planning is impossible. The ‘waterfall’ method will suffice for small projects with strictly defined requirements, providing that there are specialists with relevant qualifications available.

Comparison of waterfall and agile development cycles

The degree of risk in software development varies according to the chosen method. In flexible cycle development there is a higher possibility of ineffectual architecture, but it is easier to correct mistakes. When using the waterfall method, any failures in the architecture become manifest at the end of the project, when it is more difficult and expensive to eliminate such defects.

Agile Waterfall
A detailed software requirements specification is not needed. A detailed software requirements specification that must be provided.
There is no clear idea of the size of the budget at the start of the project, only an approximate figure. The exact cost and deadline are specified in the contract.
Development can be started immediately after the contract is signed. It will take some time to write and negotiate the software requirements specification.
It is easy to change certain implementation requirements if they are no longer relevant or the project vision has shifted. An additional agreement must be signed before implementation requirements can be changed.
Lower project cost. Higher project cost.
Payment is made according to the actual time spent. The cost includes a buffer for unforeseen labour input.

Working using the agile cycle costs less and presupposes the delivery of completed units in installments. The waterfall method requires a fixed sum for the final product, often without the presentation of intermediary results.

The choice of cycle depends on the specifics of the project and is to be discussed and decided upon. Contact us — even on our first examination of the problem, we will choose the most suitable method of development and provide a free appraisal within a few days.