Please introduce your company and give a brief about your role within the company?
datarockets is an experienced team of product developers with offices in Toronto, Canada and Minsk, Belarus.
We know how to build successful web & mobile applications and do our best to share that experience with our clients. I believe we have a very special approach, when building relationships with our customers which results in productive partnerships that last for years.
At datarockets, we use Holacracy to distribute roles between people, so my roles are constantly evolving. In short, I have the pleasure to:
Define the future of the company by researching new business opportunities
Give product strategy advice to our customers
Try to share our knowledge writing articles about startups and product development
What was the idea behind starting this organization?
The idea behind starting datarockets was to create an intellectual hub where engineers come to learn product development skills from one hand, and clients come to create products for their businesses and startups from another hand.
Together with Dmitry Zhlobo (the CTO and co-founder at datarockets), we had been working for leading outsourcing companies in the industry and seen their processes from the inside. We didn’t like many things, such as:
the lack of transparency. Typical outsourcing companies were trying to “build a fence” between their developers and clients with the help of project managers.
indifferent attitude towards the success of their projects. Our managers were more concerned about clients paying their bills rather than our ideas on how to improve things around.
unwillingness to invest in the personal growth of their engineering teams. We were working in a typical corporate culture embracing overtimes and trying to squeeze as much as possible from their employees.
We couldn’t find a place for ourselves, and that’s why we started datarockets. We were lucky to find 20 more like-minded individuals who joined our team and now:
What is your company’s business model–in house team or third party vendors/ outsourcing?
Our business model is called “Dedicated Team”. We don’t outsource and prefer to rely on our own resources.
Working as dedicated teams means a close integration into our clients’ businesses and their teams. We bring our communication and development processes, automate routine work, and exchange best practices. This way, we create a productive environment where we grow together with our customers.
How is your business model beneficial from a value addition perspective to the clients compared to other companies' models?
Apart from actual coding, we bring our own ideas to the table. Writing high-quality code is what we do by default, but there are many good engineers out there, and we go the extra mile to stand out. We contribute to our projects by sharing our culture, bringing our processes, and providing our ideas on how to make things faster/better.
Our major strength is transparency and simplicity. datarockets’ clients don’t worry about the technical part of their products anymore - we handle that. We set up clear work and communication processes, so our clients can see what we discuss, how we make decisions, and what issues we experience in real time. We let our customers focus on what really matters to them: overall product strategy, finances, and marketing.
We try to automate as much routine work as possible. Our engineers don’t really enjoy the work that can be done by robots/scripts, and that always turns out to be very beneficial for our customers.
What industries do you generally cater to? Are your customers repetitive?
We don’t stick to a specific industry. Our team consists of people who are fond of complex architectures, like to resolve complex problems and create something really useful. We never stop learning. The best way to use all this knowledge and learn more is to take different kinds of projects.
For the last 6 years, we have been building products for the following industries:
Almost all of our clients come back to us with new projects and refer their business partners/friends to us.
Mention the objectives or the parameters critical in determining the time frame of developing web and mobile apps.
To provide an accurate estimate, we need to know as much as possible. Usually, before we give an estimate, we try to determine:
Functional business requirements. What kind of features we need to build and how they actually help the users.
Technical business requirements. For example, if we need Internet Explorer browser support, it can add some extra work.
Product strategy. Before taking on a project, we need to believe in the idea behind it as well as its strategy. We need to know why exactly we build a certain feature to share our insights and suggest improvements.
Marketing strategy. Nowadays, marketing matters even more than development, and we need to ensure that our prospective clients are aware of that. We need to know their marketing strategy to suggest our own ideas and share relevant experience.
Budget. Depending on the budget, we can offer alternative technology stack or suggest our vision on the scope of work/priorities.
Legacy Code. If a project is not from scratch, we need to perform an initial code review to assess its current state and provide estimates based on what has been done already.
Our estimation process is collaborative and transparent. Our prospect clients see how much time we plan to spend on each feature/change and free to share their questions/concerns during the process.
How much effort in terms of time goes into developing the front end and back end of a web application?
It really depends. In our portfolio, we have some API-only projects that didn’t involve any frontend and at the same time, some frontend-only projects without any backend.
What are the key parameters to be considered before selecting the right framework for developing software?
- Common use cases. Every framework/technology is aimed to resolve a particular class of tasks, and you need to be aware of that. For example, it’s possible to develop a simple website & blog with C++, but with Wordpress, it’s gonna be 1000 times faster.
- Technical limitations. Each framework has its own limits and they need to match your technical business requirements. Otherwise, at some point, you will need to switch to another framework, which can be extremely expensive.
- Flexibility. At some point, you may need to make a strategic pivot and be sure your current framework can handle that.
- Ecosystem. When using a popular framework with a highly developed ecosystem, you almost always can find an open source library that does exactly what you need. For example, the Ruby ecosystem has thousands of open-source libraries that you can plug & play. That significantly cuts down the total cost and timeline.
- License. Not every framework is free, and some of them are authorized to be used in certain conditions.
- Community. Your development team should be able to find the necessary information fairly easy. Moreover, there should be a community behind the framework which is able to answer questions, fix bugs, and patch security breaches as they get discovered.
Which languages & frameworks do you prefer to use in development of web and mobile applications?
For the backend we prefer to use:
Ruby / Rails
Talking about mobile apps, we use:
There are 2 reasons why we use these technologies:
They fit our needs the best. The technologies listed above give enough flexibility and at the same time, speed up web/mobile app development.
Our team has the most experience with them and enjoy using those languages/frameworks.
What kind of payment structure do you follow to bill your clients? Is it Pay per Feature, Fixed Cost, Pay per Milestone (could be in phases, months, versions etc.)
We bill for our time only. When a project needs to be done in a certain budget and time, we usually apply the FFF approach (Fixed Price, Fixed Time, Flexible Scope). What we actually do in this case:
We break down the scope of work into User Stories and sort them based on their priorities
We work on the User Stories iteratively based on their priority.
We release new functionality as soon as it’s ready, sometimes we make multiple releases per week.
This way, at any time, we have a working version of the product. When we get closer to the deadline, we can just stop and skip some minor features, but deliver the most crucial functionality under the budget.
We don’t like fixing the overall project/milestone cost for the following reasons:
Providing estimates on fixed price projects development teams have to lie. If they provide positive estimates - their companies inevitably lose money. If negative - they kinda lie to their clients.
After a fixed price project is signed, the client has no flexibility as the scope of work is fixed for that price. Requesting even a minor feature turns into the bureaucracy hell when project managers need to re-assess the scope of work, get updated estimates from the team, and re-sign the budget agreement. We strongly believe that it’s a waste of everyone’s time.
There is not enough freedom for teams working on fixed price projects. Engineers don’t have time to suggest their ideas, improve processes and automate routine work. Such atmosphere embraces poor productivity, low-quality code, and reluctant attitude to the project in general.
Do you take in projects which meet your basic budget requirement? If yes, what is the minimum requirement? If no, on what minimum budget you have worked for?
In practice, the minimum budget we can work with is $20k. The reason is that we don’t build simple websites that can be done with CMS like Wordpress, we take on the projects that require custom solutions. Having a budget less than $20k is pretty challenging to kick off something like that, even an MVP.
What is the price range (min and max) of the projects that you catered to in 2018?
$30k - $220k
I have to note here that we always build long-term relationships with our clients. The medium project duration with us is approximately 12 months. Our clients work with us for years; for some of them, we become their exclusive software development partners.
Kindly share your feedback on how GoodFirms has been doing so far in increasing your visibility among potential clients.
Since our company created a profile on GoodFirms, datarockets visibility has grown significantly. Goodfirms helped us to meet motivated clients. At the same time, with the help of such platforms, businesses can find the right team for their applications and software development needs.