OKTEND — develop at any price!
We are — a well-coordinated development team where everyone knows each other well, understand who you can rely on. We're less than 30 people, but that's enough to do enough... cool projects. We soberly assess our capabilities and do not take more projects than we can develop.
We have developed a number of principles for our work and we declare them openly, so you can assess whether you'd be comfortable working with us.
We offer several development options to our clients to save time or money, but we insist on quality assurance.
We are able to work with several popular technology stacks to develop web applications, mobile and desktop applications. Among them there are as open source stacks, as well as from famous vendors.For more details
Business automation (CRM, warehouse accounting, price calculation, management processes, etc.)
Ecommerce (online stores, catalogues, etc.)
Financial technologies (securities exchanges, blockchain, etc.)
Internet (aggregators, grabbers, notifiers, analyzers, etc.)
Geoinformation systems (control of employees, transport, order distribution, etc.)
our projects products research
Our employees have implemented several dozens of joint projects. We will provide information about them on demand, while selecting the most relevant ones for your task.
Typical project for us is web application with server part (backend), web interface (frontend), mobile interfaces (mobile apps) and in some cases with desktop applications (desktop)..
In our projects, we have implemented a large number of integrations with different services, including with state information systems.
We have developed enough systems with monolithic. and micro-service architectures, to tell you which one is best for your project.
We have repeatedly faced the need to provide high level of fault tolerance systems, optimize performance and process large data arrays (including data pre-processing).
Members of our team have all the necessary specializations for to ensure development from idea to support.
In addition to the responsibility for ensuring the delivery of the work in the projects in accordance with the following provisions with the criteria set, it's equally important for us to keep learning. the development of technologies, methodologies, tools and a continuous process of training new specialists. Simple and transparent concept of division of employees into leagues, depending on from their level of competence, is designed to allocate roles in these processes..
Any of the senior league employees is a professional, up and running in my line of work.
Find out more
Senior league representatives on the team are professionals who are capable of to perform any tasks in their own field, or organize the execution as a team.
Senior league is the backbone of all projects. For commercial projects, it is usually the main league. In the most responsible projects, teams are formed exclusively for of the senior league staff.
In their own developments, the staff of the senior league perform as mentors, instigators of new technologies, approaches.
Well-trained professionals in their field, but not possessing experienced enough to be self-guaranteed solutions to complex problems.
Find out more
Junior League — these are well trained professionals in their field, but not experienced enough to be self-sufficient guaranteed to solve complex problems.
Almost all employees get into the junior league through our Internship programs, where their abilities are tested independently. to solve tasks, personal skills. Theoretical knowledge of candidates is tested even before admission to the program. the internship and during the internship the ability to apply is tested this knowledge in practice.
Mostly junior league specialists are involved in the development of of our own products, but may be attracted to commercially development for the sake of cost reduction. In any case, the projects are supervised by senior league specialists, which ensure the necessary level of development quality.
We can work with Agile Scrum|Kanban, Waterfall, GOST 34, WaterScrumFall and others. However, the choice of methodology in a particular project depends on the duration of development, Specification, customer preferences, availability, nature of tasks. Moreover, different methodologies can be used for different teams within the same project.
Troubles won't be silenced.
If something went wrong on the project, we'll report it, suggest a better problem. to decide. No matter on whose side the problem arose, it's important to find it, to report it, to turn into a task and solve. We count on the fact that the customer is ready to openly discuss the difficulties, not "silent mode."
We will not seek 100% unit coverage with tests just for the sake of an IDE message about it, but we will, if there is a customer requirement or a need caused by the specific task. We will not make an application with a REST API and SPA just to have REST everywhere. We won't use Scrum in all projects just to claim that we work with Scrum.
Customer participates in the project.
A representative of the customer must participate in the project throughout the development: accept the results of individual stages, clarify their requirements, criticize or approve. Of course, the necessary degree of participation depends on the project; it is enough to put the following in some stages The task is first to accept the development at the end, others require regular weekly meetings. But in any case, the customer will have to spend their time to participate in the project.
We love new technologies, we follow their frantic pace of development, but in the development we apply that what you've experienced in practice and what you're sure of. At the same time, in order not to become obsolete, we test new developments in our own, or as agreed with the customer in projects where the risks associated with implementation low-rolled technology is acceptable.
Requirements are fixed
We record the requirements for the software product. For a small project, it could be freely described concept, for the big one - a complete structure in Confluence. We help develop the requirements if there is a need, or if they are formulated. by the customer himself, but one way or another the requirements for the software product are always described.
Our approach to cost calculation is such that we fix a certain value in any case level of development quality sufficient to support the project in the future, and the cost of the project is affected by the term-to-cost ratio. In this case the quality is not only the quality of the product from the user's point of view, but also code maintainability, architecture transparency, security, reliability of infrastructure, availability of documentation.
In case of attracting mainly specialists from the senior league, the project, given the risks, will be delivered as soon as possible, but the cost of the project will increase accordingly.
We insist that the work be done qualitatively.
Choose what's more important to you, development time or cost?
The cost of the project can be reduced by attracting specialists from the junior league, but due to the fact that the project is not yet available, that they will need more time to develop to achieve the right quality.