How do we work?
We know how important your project is for you and we commit to it as if it was ours.
Experience has proved us that developing with agile methodologies is the best way to achieve success. We keep constant communication with you through our project management tools, to which we'll give you access. Through the use of continuous integration (CI), we guarantee that new changes don't affect to features already coded, specially with the use of unit and integration testing, that we will be developing at the same time as the features.
We work with Agile methodologies
With traditional methodologies, requirements are gathered and then all the work is done until results are given to the customer, without much interaction in between, often finishing with something delivered not exactly as expected. Agile methodologies, focus on iterative development, split in development cycles (sprints, in Scrum, one of the most famous Agile methodologies). Between cycles priorities can be reordered and features can be changed. After each cycle the project will already have the new features, you don't need to wait till the end to see progress.
Phases for a project typically are:
1. Initial contact
We meet with you and your team to know exactly the essence of that you want to build, or the problem to solve. We are interested in getting to the root because it's the way in which we can add more value to the solution, due to all our previous experience.
2. Estimation
Development will take, in most cases, more than one work cycle (sprints in Scrum, one of the most popular Agile methodologies). In any case, and so you can make an idea of the order of magnitude of the total cost por the project, or what can be achieved with a certain budget, we will give you an estimate of how many cycles it would take to develop the project with current level of definition (one of the good things about Agile methodologies is that it's easy and not very traumatic to change this during development).
3. Architecture
As with house building, we don't start by tiling the bathroom, the first thing will be to create the architecture that will sustain the project, always thinking on scalability (the system will be able to adapt to the workload, depending on the number or users/processing needed, etc) and easy to maintain.
4. Development
Thanks to the use of Agile methodologies, at the end of each work cycle (sprints), we will deliver the product of the sprint and you will be able to see how much we are getting closer to the expected end-result. After each cycle we can add changes for the next one, establish new priorities, adjusting, ultimately, to the new realities that appear. Meanwhile, we'll be in constant communication with you, among other ways, with our project management software, to which we'll give you access. Using continuous integration (CI), we guarantee that new features don't affect what's already done, specially with the use of unit and integration testing, which we'll code in paralell to the features.
5. Delivery
As we deliver often, we use tools to make delivery as easy and seamless as possible, for you, for us, with delivery automation software (to deliver to any of the environments we use -development, preproduction, production), and continuous delivery systems.