Kindly share your feedback on how Goodfirms has been doing so far in increasing your visibility among potential clients.
We’ve just started to our profile on Goodfirms and it’s too early to say about some particular results - we are actively working in this direction to have more clients’ reviews.
Please introduce your company and give a brief about your role within the company?
DOIT Software is a technology company that develops mobile and web solutions with the aim of helping our clients achieve sustainable growth.
DOIT Software offers:
- Staffing of the best professionals in the industry. DOIT Software provides professionals that work remotely to supplement teams within a client’s company.
- Development of Custom Mobile Apps & Software Solutions from scratch. DOIT Software can help clients develop a solution by taking an idea from concept to creation.
There are many challenges clients face during development. It's not only about speed, quality, and communication, as these are essentials, but the primary problem is engagement in the process. An IT team should not only provide excellent performance but also collaborate with you to create the best solutions.
In addition to IT expertise, DOIT Software also has its own experience in startups and new business development. We're professional in Mobile App creation (native iOS, Android, React Native, Flutter), Web Solutions, Back-End, UX/UI, QA, and Data Science Team Augmentation.
My role as CEO involves observing, analyzing, and optimizing all key processes of our company. My main goals are to create a sustainable team and processes that will allow the company to scale. The basis of it is a comprehensive customer-centric approach.
What was the idea behind starting this organization?
There were 3 whales behind our decision to create the company: values, passion, and experience. As a core, we took the values of founders and adapted it to business. Both of us had a passion for IT projects and we enjoy when we deliver valuable software products for our clients. Both founders (CEO and CTO) had previous experience of managing software development companies and it was natural for us to join efforts and create DOIT Software based on our values.
What is your company’s business model–in house team or third party vendors/ outsourcing?
We have our R&D team with CTO and Project Management, as well our own strong Recruitment team that helps clients extend their in-house team with our remote developers or even build a remote dedicated team for complex projects. As the next step of our process with a dedicated team, we offer an R&D office - a turn-key solution for the client’s dedicated team with its own branding, team buildings, and our ongoing support.
How is your business model beneficial from a value addition perspective to the clients compared to other companies' models?
Many of our clients previously have had bad experiences with freelance software developers and were careful before agreeing to start their project with DOIT as an outsourcing vendor. The best approach is to start with a 6-month length project, where we are responsible for delivery, and our R&D team is attracted to the project. That way, clients can see the whole process and decide if there is a fit.
We have several examples of us using the outsourcing model with a client and then after everything was delivered as they expected, they liked working with us and were willing to continue cooperation. It’s the best way to continue with team extension and provide the client with a dedicated developer (or developers) who works entirely on their project for 6+ months.
DOIT Software has previously used the steps described above to build a dedicated team with a designer, iOS developers, full-stack developers, and quality assurance engineer for a client. In total, 8 people were working remotely from our R&D center in Kyiv.
Now, you may be wondering what can be offered next in addition to a complete product team. Right now we are offering the next step - a dedicated team in a separate branded office with all processes set up, integrated team culture, and ongoing support in technical, recruiting, and administrative areas.
What industries do you generally cater to? Are your customers repetitive? If yes, what ratio of clients have continued to work with you?
Most of our clients are from healthcare tech, retail, online education, transport/navigation, and IoT areas, but we also have projects in other industries like wellness & sports, sales & marketing, social media.
With some of our clients, we work together for more than 2-3 years and have 2 and even 3 projects. I need to say that we have a high repetitive ratio, and we’ve received good referrals from our existing clients, who have recommended us to their partners and friends.
Mention the objectives or the parameters critical in determining the time frame of developing a mobile app.
A bunch of factors can influence the development time of a mobile application.
The main ones are:
- The number and complexity of the functionality that the customer wants to see in their product.
- This is an essential factor in the development time range calculation. There are simple applications, and there are also quite complex solutions.
- We always recommend setting priorities for functions and developing them in stages. This allows you to bring the product to market earlier and be quite flexible according to its needs. A very practical approach for new products is to launch MVP (minimum viable product) first in order to validate their business idea.
- Communication and involvement of the customer
- It is challenging to build useful projects, without communication, even if you have very experienced team members. This is one of the crucial elements.
- The results are usually much better when someone from the customer's side is involved in the role of Product Owner. Business requirements and their priorities are better defined, the team is quickly informed about new requirements, and so on.
- Level of experience and number of specialists in the team
- We always recommend involving the right number of people with the right level of experience that is needed in each project.
- It is worth remembering that quantity does not always mean better quality or speed.
- At the same time, it is crucial to cover all the needs of the team from a professional point of view. It's hard to build a solution quickly if you don't have a QA (quality assurance) engineer or PM (project manager). The customer does not always understand the value of all team members, and sometimes we have to make an effort to show it from the beginning.
- A similar problem is the desire of customers to hire people with a lower price rate than the market level. Usually, a cheaper and less experienced team has a slower pace of development and many additional problems that were not anticipated from the beginning.
- Development methodology
- There are many different approaches to the project management process, and the speed and quality of development depends on the right choice of methodology.
- If you have clearly defined product requirements and you are positive that no critical changes will be made in the process, and you need a more structured understanding of the plan - then you can consider the Waterfall approach. It should be remembered that any changes to the requirements of the product are quite expensive and time consuming with this approach.
- But in reality, everything is constantly changing, and quite often, the Product Owner realizes in the development process that the vector and priorities need to be adjusted. Also, if you need to get faster feedback from users and give more value according to the market needs - then we recommend considering an Agile approach.
- Additional points
- Integration of third-party services
- Here everything is quite simple - the more third-party integrations, the higher the chance of unpredictable difficulties is. It is challenging to oversee specific technical updates if necessary, and so on.
- Design solution
- This factor can also affect development time. The more customized the design solution for each of the supported platforms, the more time it takes to implement.
- To do this, we always have internal discussions of all design updates with the team. This is essential to keep a balance between beautiful UI, convenient UX, and optimal customization of these elements.
- Placement in application stores
- Even this factor can affect the release. If you do not plan this step, you can sometimes lose up to 2-3 weeks. There are cases when the moderation of the application is delayed due to circumstances that were not foreseen in advance. And this too, must be taken into account and anticipated.
How much effort in terms of time goes into developing the front end and back end of a mobile app?
It all depends on the number and complexity of the functionality we develop.
Usually, we help outline a set of critical functionalities that are required for the MVP version to test the business idea in the market. This stage varies on average within three months.
All further stages depend on whether they have a good marketing strategy, whether there is a vision of project development in terms of business, etc.
In our experience, I would say that the average time to develop projects is 4-6 months.
What are the key parameters to be considered before selecting the right platform for a mobile application?
Usually, we have two main factors that influence the choice of platforms:
- Users persona
- This is a key factor in this matter. If certain research has been conducted and the user profile has been created, we can understand which of the platforms (iOS or Android) should be considered with higher priority for development. We usually discuss this with clients to see if they have already passed this stage or if they need help here.
- Budgets
- If there is no option to optimize the budget by choosing a technical stack, we may have a case where the decision is made to work only with one particular platform, to begin with.
Which platform do you suggest your clients begin with when they approach you with an idea (Android or iOS) and why?
As I said above, it depends on several factors.
If this is an early stage, and we do not have information on budgeting or audience profiles, then we usually consider development for Android and iOS by default.
Otherwise, we make decisions based on user persona and budgets.
Android or iOS, Native or Hybrid — which platform is best to use to build your app? What are your recommendations?
These concepts often have different meanings for different people :)
Therefore, applications are classified into three groups: Native apps, Cross-platform, and Hybrids.
The first group includes applications that are created for one platform, using appropriate languages such as Java or Kotlin for Android, and Objective-C, or Swift for iOS.
Cross-platform is an application we can create for multiple platforms but have one shared codebase.
We usually use React, Native, or Flutter for this type of project.
Hybrids.
These are applications that are developed using HTML, CSS, JS, and just run in a specific wrapper on mobile devices.
So, we work with Native and Cross-Platform stacks and for the most part, don’t work with the Hybrid type.
We recommend Native development if:
- You need to work deeply with the native functions of the platform;
- You need to have the app released sooner;
- More guarantees are required for stable operation;
- You want to build an app with excellent performance;
- The project development plan for each of the platforms is slightly different, and you need more flexibility and independence.
At the same time, we recommend React, Native, or Flutter if the above items are not strictly required, or when you need to optimize your budget and costs. You can have one developer for two platforms.
What are the key factors that you consider before determining the cost of a mobile application?
The project budget depends on the methodology we are considering for the project, who will be involved from the team, and the amount of work that needs to be done.
If we have clear requirements for the project and a client is ready for the Waterfall approach, then the client receives a file with detailed information about the evaluation of individual functional units and the cost depending on the team composition and the duration that each member needs to be involved.
This is usually an estimate that allows us to focus on the size of the budget and the development period, but we work with a T&M approach and charge only for the time that is actually spent on work.
In the case of the Agile Approach, we can estimate a project using the checkpoints (they can also be converted in time units if desired) and how long it will take to involve the entire team to get the desired functionality.
As for the calculations, here we are talking about the team cost for a certain period of work.
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.)
If we are talking about the project from scratch - a mobile app development or custom software development - we have a time and material (T&M) contract type for payments, so clients pay for the hours that each team member (contracted to this project) worked, and we share bi-weekly or monthly invoices with detailed reports.
If it’s a dedicated team or a dedicated developer who is contracted full-time for a client’s project, we have a monthly fee that is paid by the client for a full-time, month-long attraction (160 hours) of each dedicated developer, QA, designer, project manager, etc.
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?
For outsourcing types of projects, we had some clients to whom we’ve built a demo version of the application, and it was around $7k-$10k.
We believe that even for large-scale apps we need to start with the Discovery phase which we have as an initial subproject from the very beginning of the development cycle. It may take from 2 to 4 weeks and have a fixed budget up to $5k and help clients to test their solution idea with real users and/or investors by having a clickable prototype and prepared documentation from our side.
What is the price range (min and max) of the projects that you catered to in 2019?
Which business model do you suggest to your clients enabling them to generate revenue from mobile applications? Why?
Despite the numerous app revenue models, we’d recommend Software-as-a-Service (SaaS), a subscription-based app monetization model.
Right now, it’s a mainstream, global trend among enterprises and startups to use Mobile SaaS app development with cloud-based technology to replace outdated commercial software.
This means that complete information from all team members as well as updates is stored in the cloud. Users rent the software on a monthly cost-per-user or usage basis instead of buying and implementing it. Also, users can scale up and down the scope of service if needed.
Referring to the benefits of this model, I’d mention that based on the number of your SaaS app users and the number of services you provide, you can plan and predict your revenue. Your clients don’t need to update software and take care of outdated hardware which removes the workload from their IT-departments. Even if something goes wrong with your servers, your customers can always go back to the previous savings with the backup log and get access to information from any device with an internet connection.