Custom Software Product Development
One of the main specializations of our company is custom software development. Last years brought new technologies to software industry, and new opportunities changed customers' requirements and increased scale of projects. We have been always successful in following new trends, and adaptation to the new requirements is our strong point. Our employees are qualified in different software technologies and able to learn new ones. On the other hand, successful cooperation with some customers made them our permanent partners. Such long-lasting cooperation gave us special knowledge in several industry fields. At last but not the least, technical features of software that appeared from project to project made some our employees specialize in development of applications, which need specific technical solutions.
Software Development Workflow
During new software product development we usually follow the described below workflow:
- Project requirements clarification and analysis. Our project manager and business analyst study customer's input information. During this iterative phase we develop Software Requirements Specification/Use Cases. Conversation via e-mail and phone usually is enough in case of common tasks. We recommend personal (onsite) discussion of complex projects.
- Proposal package preparation. On basis of Software Requirements Specification we prepare a batch of documents (proposal package) which usually includes software architectural document, technical vision of the project (architecture, technologies to be used), preliminary project plan, estimation of project costs, project resources, project risks. This batch of documents is our offer for the contract on application development.
- Design. Design of application architecture is based on Software Requirements Specification. In case of complex projects we recommend prototype implementation, which allows testing of the proposed architectural solutions.
- Implementation. Project implementation is based on developed Software Architectural Document and Software Requirements Specification. Implementation process is transparent for the customer; customer can monitor activity progress. In case of large project, it may be divided into several milestones with individual check and acceptance.
- Testing. Tests are designed on base of Software Requirements Specification. Our testers develop a detailed test plan, which is used for application's testing.
- Acceptance of the product. The developed application is delivered to the customer for examination. In case of successful testing on customer's side the product is considered to be released and accepted by the customer.
- Maintenance. Maintenance is performed in case of enhancement/modification of the application's functionality.
Our technology knowledge, individual experience and technical specialization are described in Portfolio.
More details about our industrial experience and technical solutions see below.