Data Solutions provides various opportunities for projects with full software development life cycle for its customers.

We possess a well-defined and matured software development process, which includes full cycle of software development, from business analysis to maintenance and support of the application.

Phase 1: Business Analysis and Requirements Gathering
Data Solutions business analysts together with the client get acquainted with the general business requirements that need to be implemented.

Our knowledge in business domains allow us to discuss with the client desired solutions in line with business objectives and outcomes required to achieve.

After clarifying the basic requirements, restrictions and parameters the project’s scope is defined and basic deliveries and dates, respectively, and the necessary resources, prepare the general plan of the project.

After defining the scope and main deliveries, begins the process of detailed investigation of all the basic requirements.

All functionalities of the software solution and integration with other systems are described in detail.

In that way the back-log or list of user requirements (stories) is formed, and  together with the client (the owner of the product) prioritization of deliveries is done.

The plan is inspected and additional functions and requirements may be included.

Artifacts:

  • The project scope and preliminary plan
  • List of confirmed requirements (product back-log)
  • User cases for each functionality of the application (User-stories)
  • Detailed and updated plan
Phase 2: Design
Data Solutions business analysts, software engineers and architects define logical sequences, processes and operations that software should accomplish. Various types of diagrams describing the different functions, data and functionalities are prepared.

Design is the user interface, the necessary controls and interfaces with other systems

The user interface and the necessary controls are designed as well as  interfaces with other systems.

Artifacts:

  • Workflow diagrams and Business Process Diagrams
  • UML diagrams
  • Wireframes and Mockups of User Interface (UI)
  • Database schemas and all the necessary objects (Database schemas)
  • Test plan and test cases to perform testing in QA process
Phase 3: Implementation
Data Solutions software engineers carry out the software development in the Sprints, by implementing user stories. In this phase a final design is stabilized and implemented. In Scrum Phase 2, 3 and 4 are performed together.

Artifacts:

  • Software components and modules
  • Unit tests
Phase 4: Testing
Data Solutions QA engineers perform manual and automated tests for each completed component following the certain test cases.  The found bugs are entered in a bug tracking system. The testing begins in phase 3 development, as each finished Sprint ensures the appropriate quality of the developed functionalities in accordance with the requirements.

Artifacts:

  • Unit Tests
  • Compatibility Tests
  • User Tests
  • Stress Tests & Load Tests
  • Beta candidate software release
Phase 5: Deployment
Data Solutions software engineers install the application software (system) in the Staging environment, which is a replica  of the  production one. Customers carry out user acceptance tests (UAT). Upon successful acceptance tests the system is transferred to Production environment.

Artifacts:

  • Source code documentation
  • User and administration guides
  • User Acceptance Tests
  • Final candidate software release
Phase 6: Maintenance and Support
Data Solutions service desk and support-system engineers perform customer service and software support in accordance with ISO 20000-1: 2011 for IT service management (ITSM-ITIL v3).

Data Solutions completes the necessary software updates to ensure compatibility with new versions of browsers, operating systems, application servers and mobile devices.

Data Solutions performs software improvements, based on requests for changes by customers for additional features or changes in existing ones.

Artifacts:

  • Service Level Agreement (SLA)
  • New versions of the application