The planning phase helps us fulfill the purpose of our project, which is creating an amazing product that caters to our client’s needs. During this phase, we rely quite a bit on our clients' input because it helps us determine essential elements of the project.
Communication is the key when we're planning our next move, which is why we like to meet with our clients face-to-face in order to learn as much as we can about them and their ideas and goals. If such a meeting is not possible, we use tools like Slack and Skype to help us out.
In order to achieve the best design possible, we discuss every aspect of it with our clients. The first step is to define the goal of the project.
We perfect the design by studying our client’s competitors and industry. As a client, you will have a full insight into the concept and drafts of the design, as well as the reasoning behind them. Our team of designers always makes sure that every necessary change is rapidly implemented.
Your app should solve your users’ problem. Depending on what the problem is, we choose the correct platform.
Every project is different. It aims different audiance, and it's meant for different purposes. That's why there is no silver buller. That's why we talk with our clients about their unique needs, and we do the research on what is the best approach to take from choosing technology point of view. Of course, after years of experience, we know what works best in certain types of scenarios.
Production is a part of the software development life cycle in which we focus on the product the most. Production grade apps should sustain heavy load without breaking. Read replicas, mutliple instances, load balancer, DDoS protection, and performance monitoring are some of the elements of puzzle for keeping app up and running even when you are not awake.
For hosting, we use Heroku, Amazon and many other services depending on project. Sometimes raw power is the best, sometimes something else. In any case we choose what's best for production application.Amazon’s Platform as a Service helps us focus on the most important thing—creating the app. We don’t have to worry about web and app servers. Sometimes Amazon is not the best choice and it's good to have some fail-safe system.
We have worked with numerous companies around the world and perfected the process based on our experience. We gathered experience working with big startups in USA, Melbourne and accross Europe. Different approaches, great people, big knowledge.
A big part of the product development process is Test Driven Development (TDD). In order to ensure the quality of our code, we strive to use it in all processes. Of course, we use pull requests, peer review and several other processes to ensure code quality.
Without KPIs, it would be challenging to solve performance issues and stay focused on the software development life cycle.
KPI (Key Performance Indicators) are business metrics we use to track several factors that affect the overall success of the process. They serve as guidance towards strategic plans and show the progress that has been made. We measure KPIs periodically and compare them to the previously set objects.
In order to ensure the maximum quality of the product development process, we regularly have retrospective meetings. What we can we improve, on weekly basis. Like sports team, ready for top of the game through the year.
Retrospective meetings help us analyze all the previous activities and identify the ones that need improvement.
Over the years, we have faced the challenge of demonstrating compliance. Working with higly regulated business like banks and boards, one should have compliance in check.
We are focused on making sure that you, as our client, are protected from any type of fraud and error or usage of the code that would lead them to some problems in the future.
Furthermore, we have policies and control procedures to ensure client’s protection. From safely storying documents, access rights but at the same time not sacrificing agility.