Download Brochure

Development Cycle

There are plenty of process models which can be applied on software development and every of them has its own benefits and shortcomings. Our software development model is a good model we have learnt to work successfully with. The Model combines best approaches of Unified Process (UP), Microsoft Solution Framework (MSF), ISO 9001:2000 and CMMI.

Envisioning

1. ENVISIONING: One of the most fundamental phases for project success. Project goals and constraints are determined, common project vision and project scope is formed and business requirements are identified and analyzed. On this stage project team and customer agree on overall direction for the project and high-level project assumptions, high level risks are evaluated and risk management procedure is being initiated.

Input: Customer’s vision of product, set of supplementary documents (report forms, input forms). End User/Customer implication, use case or usage stories, expectations.

Output: Project Vision Document, Project Specification Document (draft) or Project Scope document, Project Risk Assessment document (if necessary or can be evaluated).

Planning

2. PLANNING: The main object of planning stage is to identify all project requirements and define them in project requirements specification document. The functional specification describes in details how each feature has to look and behave. At this stage all requirements should be clarified and fixed in project requirement specification. Most of the project risks are identified here, each risk probability impact and cost are evaluated, risk mitigation strategy is determined and as the result a risk management process is included into project estimation and configuration.

Input: Project Vision Document, Project Scope document, Project Risk Assessment document.

Output: Product Specification Documentation, Project Plan Document, Development Plan, Test Plan, Risks Assessment Document.

Developing

3. DEVELOPING: Developing is divided into 3 phases (DESIGN, IMPLEMENTATION and INTEGRATION).

 Output Design Phase: Technical Design Documentation, Final version of Project Plan (Project Plan Document, Development Plan, Test Plan, Risks Assessment Document), Product Prototype, Test specifications and test cases.

 Output Implementation Phase: Source codes and binary executables, list of implemented features. Updated project documentation.

 Output Integration Phase: Confirmed implemented features list, tested software build, updated project documentation and user guides.

The Developing Phase is better perceived when explained in detail.

Stabilizing

4. STABILIZING: Preparing testing environment, deploying product solution, test cases execution, product verification are performance at this stage. Software test team performs complete project testing, and development team - bug fixing and making build improvements to have a build as release candidate. The team focuses on resolving and triaging (prioritizing) bugs and preparing the solution for release. Release candidate passes the customer acceptance test.

 Input: Confirmed implemented features list, tested software build, Project Specification Document, Technical Design Document, Project Plan, user guides.

 Output: Test Results report (passed/failed tests), submitted defects in defect tracking system, ready product. 

Deploying

 5. DEPLOYING: During this phase the team provides installation package and other project deliverables to customer, deploys the product and components to the customer environment, stabilizes the deployment, transitions the project to support, and obtains final customer approval of the project. After the deployment, the team conducts a project review and a customer’s satisfaction survey. 

Activity: Provide project deliverables to customer, deploy on production environment.

Input: Test Results report, submitted defects in defect tracking system, ready product.

Output: Deployed/installed product, User guide, Issues list, Test Results report, Customer survey.