Working with Coorva: What is it like?
By: Gabriel Cartuccia
Tags: Best Practices, Software Engineering, Agile, Programming, Software Development

Introduction

Working with Coorva entails a transparent and straightforward process which enables our team to work smoothly while you know precisely what to expect from the very beginning — no surprises.

Kick-off

We plan the kick-off once contracts have been signed and we’ve received the deposit. Then our VP of Engineering assembles a team according to the project requirements and challenges so that you get the right talent tailored to your project’s needs.

The kick-off features the following steps:

1- Product backlog

The product backlog is a list of the new features, changes to existing features, bug fixes, or other activities that a team may deliver to achieve some specific outcome. Sometimes, the client already has a well-defined to-do list, which is a high starting point. However, when they only have an idea of the specs or they have never written them down, the first thing we do is putting a product backlog together so that we can get an actionable plan.

2- Time estimates for each task

Our team will estimate the required effort for each task listed in the product backlog so that we can plan sprints on a weekly basis and address those tasks that fit within it. Looking at the big picture, these estimates will provide a notion of the ETA for every feature and the whole product, thus determining upfront what the required budget will be.

3- Definition of priorities

Considering the outcome of the previous steps, it is time to sort those tasks by their importance and urgency. Priorities will lead us to define a minimum viable product and the following versions — a minimum viable product will have only those essential features that allow the client to get feedback useful to plan the next development phase. We recommend addressing those features that will deliver the most value to the client first, and which best fit their budget so that they can get feedback from the users and iterate.

We recommend addressing those features that will deliver the most value to the client first, and which best fit their budget so that they can get feedback from the users and iterate.

4- Definition of sync-up meetings

We believe that smooth communication is crucial for the success of every project. So we encourage the client to get on 30-minutes calls over Hangouts regularly. The more complex the project, the more often sync-up meetings will happen; for instance, three times a week. However, if the project is quite straightforward, once a week will do. Generally, the goals of these meetings are: showing progress, getting feedback, answering questions, informing risks or problems and mitigating them.

Furthermore, we would go over the time report to see how much time we’ve spent in every task in the sprint, determine whether we are on track, and take action if deviation has happened.

Getting the client involved will bring transparency to the process and promote one of our most important values: trustworthiness.

Getting the client involved will bring transparency to the process and promote one of our most important values: trustworthiness.

Of course, these four steps will timely be carried out over the project’s lifecycle as clients usually need changes. Thus, the product backlog and priorities may change over time, time estimates might be updated according to new input, etc. We are flexible enough to adapt our planning to your business needs.

Methodology

We stick to an agile methodology defined as a combination of Scrum and Kanban. From Scrum, we take the product backlog, the meetings, the sprints. From Kanban, we take the board mostly.

Tools

We rely on a few tools to make collaboration and communication as productive as possible:

Trello: It’s a simple management tool, where we create lists for every stage a task will go through such as “work in progress,” “ready for testing,” and “done.” We create a Trello board per project, and the client gets access to the board — this will allow them to check how the project is coming along in real time: pending tasks, completed work, and so on.

Toggl: It’s a time tracking tool. Our team will log the time they spent on each task. We share a weekly time report with the clients, so they know exactly what’s going on with every hour they are paying for. We take transparency very seriously.

Hangouts / Google Meet: We use these tools to get on sync-up calls with the client and the team.

Slack: This is our preferred tool for instant messaging and daily communication among team members; we encourage the client to get involved as well, so that interacting with the team becomes easier than never before. For instance, the client may check how things are going, or the team may ask questions about the features right there and then, get an answer right away and avoid waiting times.

Naturally, these are our preferred tools; nevertheless, we would adapt to those tools the client uses such as Jira for project management, Zoom for video meetings, etc.

Risk detection

In the event of detecting an issue or a deviation, the client gets notified as soon as possible. We provide some alternatives so they can make an accurate decision and address that issue right away. For example, if we detect that a task is more difficult than expected and will take longer, we will let the client know and recommend a few alternatives such as splitting that task into smaller ones or addressing it later. This will enable the client to get involved in the decision making of their project. The client and Coorva work as a team to eliminate risks and increase the chances of success.

The client and Coorva work as a team to eliminate risks and increase the chances of success.

Deliverables

During the project’s life cycle, the client gets new enhancements and features on a sprint basis — a sprint usually lasts a week.

Furthermore, there are deliverables that we will consider as milestones — for example, a minimum viable product in which the product is released to the public for the first time.

Finally, as soon as the project is complete, we deliver assets to the client; among these, the client will find total time reports, source code, documentation, and credentials that may be used for infrastructure and third-party services. We want clients to have complete control of their technology.

We want clients to have complete control of their technology.

TL;DR

At Coorva we pay special attention to our development process. A well-defined, straightforward process increases the chances of success for any project, making things smooth for our team; this way, they focus on what matters the most: delivering value. At the same time, our process enables our clients to focus on what matters the most to them: their business.

When you partner with Coorva, you’re in good hands.