blog

:)You have successfully subscribed! Thank you for subscribing to our newsletter!! Email has already been taken

back to blog

Mar 10 2017 | byDmitry Budko

DashBouquet processes: How We Manage to Constantly Deliver Quality (part 1)

At DashBouquet we are proud that we constantly deliver same good-quality results for all our projects. We are in state of constant improvement, noticing and considering all mistakes that we have made and are making. However, we manage to either eliminate or minimize them with the help of carefully developed technical process. And we would like to introduce you to our processes and give you a glance of what we really do behind the curtains.

Technical analysis

First thing we do is technical analysis. Without analyzing the project we never start working on it. Simple as that. 

We do not do full-fledged TOR because a) it takes too much effort and b) we have other processes that allow us to estimate the project, distribute tasks and control our work. What we do, however, is defining a vocabulary of terms for the project. It is important, because great amount of our time is dedicated to communication with the client and we want to speak same language with our customer. So we develop a list of terms and verify them with the customer. This guarantees that both sides understand each other and eliminates any misunderstanding.

To add more clarity in terms of our work we use UML diagrams: ER, StateChart, Composition or, in some cases, Deployment diagram.

In order to make sure everything is done in accordance with our standards, we have internal guidelines where we state all documentation work, testing processes, code writing processes, code review process, etc. As well we present to our client a list of technical decisions for the project.

Infrastructure building

After analyzing the project and defining what we are going to do with it, we start building the infrastructure. We use CircleCi to ensure that every team member is on the same page and nobody is slowing down the working process. As well, it allows us to save time on fixing bugs in the future.

We need to store our work somewhere, so for that we use two deployment landscapes (for testing and staging). They are either Docker or AWS.

We also do a lot of tracking in order to keep our processes transparent and to make each team member aware of what is being done at each stage. For that we use issue tracking system (Youtrack) and budget tracking system (either Excel or Quickbooks). We collect our logs and track crashes with Logentries, Rollbar or Fabric.

Because we constantly add something new to the project or, on contrary, remove some components or functions, it is important for us to be able to access few versions of our documentation. Git helps us a lot here.

What we believe makes DashBouquet special is initial planning and by that we mean two sprints ahead. We want to minimize any risks of bugs or unwanted processes, so we dedicate great deal of time to the planning.

In this article we described first part of DashBouquet processes. In our second article we will continue with the processes and after reading both articles you will get a clear idea of how we deal with our work.

Subscribe to our newsletter and don’t miss news and updates from Dashbouquet!