Русский / English

Methods

During development process we use various methods to make development more effective:

Interactive prototyping is the creation of prototypes, i.e., incomplete versions of the user interface being developed. A prototype typically simulates only a few aspects of the features of the eventual program, and may be completely different from the eventual implementation. Prototyping helps to avoid the great expense and difficulty of changing a finished software product.

Waterfall model is a sequential development process, in which development is seen as flowing steadily downwards (like a waterfall) through the phases of requirements analysis, design, implementation, testing (validation), integration, and maintenance. To follow the waterfall model, one proceeds from one phase to the next in a purely sequential manner. Thus the waterfall model maintains that one should move to a phase only when its preceding phase is completed and perfected.

Spiral model is a software development process combining elements of both design and prototyping-in-stages, in an effort to combine advantages of top-down and bottom-up concepts. This model of development combines the features of the prototyping model and the waterfall model. The spiral model is intended for large, expensive and complicated projects.

Agile software development chooses to do things in small increments with minimal planning, rather than long-term planning. Iterations are short time frames (known as 'timeboxes') which typically last from one to four weeks. Each iteration is worked on by a team through a full software development cycle, including planning, requirements analysis, design, coding, unit testing, and acceptance testing when a working product is demonstrated to stakeholders. This helps to minimize the overall risk, and allows the project to adapt to changes more quickly.