We are very meticulous about the quality of our code. One of the most important characteristics of the code quality is how easily it can be extended. The market is changing at incredible speed, and new needs of users are emerging constantly. Under such circumstances, the ability to respond quickly to new needs is crucial in order to stay competitive on the one hand and to save money on the other. For these purposes we are constantly integrating new and improving the existing practices, that minimize the time spent on the entrance to the market of the new functionality of product. The main practices we use are:
- Unit tests
- Integration tests
- Continuous integration & delivery
- End-to-end testing
- Code reviews
These techniques make it possible to create an easily extensible and sustainable architecture, providing that the necessary updates enter the market within the shortest possible time.
Another important characteristic of our development process is its flexibility, which is also the result of the need to adapt to a constantly changing market. Our goal is to continually prepare a partially finished product that can be presented for utilization of the end users. The process of preparation of such a release is called a sprint. Depending on the complexity of the project, the duration of the sprint can last from one to four weeks. At the end of the sprint, the product is being tested by the main stakeholders, the priorities are being reviewed when necessary, and the next sprint is being planned. And it lasts until the product is in its ideal state and is ready for the final public release. Such an approach ensures that the product to be released will meet the expectations of the users in the best way. And this is our ultimate goal.