Approach
Request from a client
Each project begins with the request we receive from our customer. This request usually describes the functionality that needs to be covered by the future system.
-
Understanding the task
We assign a team consisting of an architect, experienced developers and consultants to understand the task specifics and provide suggestions about the technical solution such as programming languages, programming technologies and platforms. In order to be most efficient, during this phase we maintain extensive communication with the customer. Once we have reached a required level of completeness in our understanding we provide a brief summary of our views, which we negotiate with the customer before moving to the next phase. At this stage, we are able to provide a ballpark estimate for the project.
-
Writing functional specification & defining time frames
We discuss the project functionality with the customer and carefully store it in a functional specification document. If necessary, we also provide more detailed technical specification describing both software and hardware requirements for deploying the project. At the end of this phase we are able to determine the hourly-estimate and respectively the time frame, which usually consists of definition of the various milestones, along with deadlines for beta and final releases. To proceed with the next phase we need the customer approval for the functional specification, technical specification, estimate and time frame.
-
Project development process – programming &QA
This phase begins with the preparation of the design specification which describes in details the application’s architecture and its interconnections. The project is split into tasks and each task is allocated to a developer. The allocation is driven by the considerations for rational and compact task distribution and assigned to the most suitable developer. The strong communication between the developers and the quality-assurance teams ensures that each developed component is subject to elaborate and stressful testing in order to be considered as completed. The project planning mechanism employed by SBND Technologies facilitates the completion of all tasks according to the given time frame. At the end of the phase we are able to provide a beta release, which is free from major flaws.
Note: In the very short and simple projects some stages described in phase 3 and 4 are reduced or ignored because they are inessential for the project life cycle. -
Testing & release & documentation
The extensive testing process involves the creation of multiple test scenarios that are applied to the application(s) thus finding the run-time and logic errors that might occur. The test scenarios are reapplied until a flawless and stable application functioning is reached and a release candidate is deployed to the customer. The customer may run their own set of tests before approving the project status transition from a release candidate to a final release.
After the project has been successfully completed, the developers who took part in the development process summarize the documentation written during the programming phase and produce complete project documentation, which is sent to the customer, bundled with the installation package (distribution).
-
Follow-up support
Every project is covered by SBND Technologies’ guarantees for prompt fixing of problems free of charge to the customer within 6 months after the project release. Our support team is available and reacts to our customers’ critical situations. We also provide support for installations, monitoring, and administration of production environments.