Our way of working is grounded in the belief that all of us at RIVIGO are ‘pilots in a relay’. This note presents our approach and thinking on building a unique and agile engineering culture.
The most critical success factor for new-age enterprises is their pace of building great technology products. At RIVIGO, we are solving the toughest never-done-before problems of a trillion-dollar industry and working on hundreds of global-first patent-worthy applications. The most important thing that will determine the scale of transformation we’d bring about is ‘pace’.
RIVIGO’s engineering culture is unique and grounded on this premise. It has the following three related tenets:
This is further strengthened through what we call the 3Cs. This stands for connect (with the larger mission), clarity (on charter) and concentration (removal of all distractions and drudgeries).
Relay is RIVIGO’s idea for India and the world. A simple yet powerful idea that is transforming the lives of thousands of truck drivers while redefining logistics as we know it. However, it is not just an operating model that is applicable to logistics. We have adopted the same to our way of working to build a great institution. Teams at RIVIGO are organized such that they are empowered through all the tenets mentioned above. Hence, our way of coming together is based on common objectives (alignment) in self-sufficient cross-functional groups (agility and autonomy).
A track is a cross-functional team with a long-term mission. It consists of several smaller groups who work independently in sprints on objectives drawn from its broader mission. There is limited inter-dependence between tracks. A track includes the following key role holders: business owner, product owner, architect, track coach, relay coaches, agents (for adoption) and engineering team (developers, designers, DevOps, QA).
Part of a track, a relay team is an autonomous unit of 8-10 people who are aligned with the relay goal (usually short-term) and the track’s larger mission. Much like our own relay model, a relay team works on smaller iterative sections of a larger problem in sprints, ensuring pace.
RIVIGO relay teams have full autonomy on how to build a feature and how to work while building it. They are responsible for the entire cycle – design, build, deployment and maintenance. Within a track, relay teams can have collateral dependencies. For instance, while some of the roles are shared across relay teams within a track (like business owner, architect etc.), the engineering team is clearly assigned to specific relay teams.
The indicative pictorial depiction below shows how alignment between relay teams is maintained through key common role holders while autonomy is enabled through a dedicated and self-sufficient engineering team working in sprints.
The ownership of the relay team’s agility, autonomy and alignment lies with the relay coach. S/he defines the way of working of a relay team and ensures meeting of the relay team’s objective.
Typically, a relay team works in a two-week sprint environment, which includes the entire lifecycle of the feature/objective. Two weeks is the ideal duration. However, for any projects that require longer timelines, the same is sometimes extended to three-four weeks.
Following are the mandatory touchpoints for every relay team’s sprint.
Before the kick-off, the business owner, product manager and relay coach align on the relay goal and definition. All requirements are debated, discussed and signed off. It is critical to go into the last level of depth in this step to ensure there are no surprises during the relay run. Alignment points include BRD-PRD sign-off, PRD-Tech sign-off, estimation of total story points needed in the relay, fitness function, release plan, adoption plan and relay team assignment.
At the kick-off meeting, the product manager, relay coach, engineering, QA and DevOps team must come together to do a through walk-through of the PRD note. The product manager is the owner of this touch point and ensures alignment and clarity. In this step, typical alignment points include relay outcome – fitness test, overall architecture, technology stack, task planning, working cadence and key milestones.
The relay coach ensures that the relay team functions well and operates with the 3Cs (connect, clarity and concentration). Daily stand-up and problem-solving sessions are led by the relay coach. Daily stand-ups are structured 15-30 minute check-ins with the engineering team (developers, DevOps, QA and product manager) with the following two objectives:
Reflection session and Barometer survey
At the end of the relay, the track coach (usually the director of engineering for the track) runs a short Barometer survey with an objective to get feedback from the relay team members (engineering team). These questions are around the tenets of our engineering culture, learning, peer group, relay coach etc. The purpose of this is to create the following story for each relay member, “I work at RIVIGO with a deep connect with our mission. I have utmost clarity which enables full concentration free from any distractions or drudgery. I deliver quality every time and keep learning continuously to hone my capabilities. I work with the best team and am inspired by my coaches. In the end, I feel the pure joy for the impact I have created.” Over time, these surveys not only help us assess the state of various relay teams but also help us learn and evolve our culture and execution at a meta level.
Once the barometer is complete, the relay team meets together for a reflection session for team learning. The track coach moderates this open session. These are important sessions for reflecting, learning and celebrating in an open and transparent culture.
At the end of the relay, the product manager* publishes a short, templated summary and sends it out to the entire track. This not only helps in building organizational memory but also creates a culture of cross-relay team learnings and celebrations. Components that are included in the summary are fitness test achievement including say/do ratio, quality metrics (code coverage, QA automation, API/code performance etc.), hits, misses including any production issues, learnings and barometer insights.
*In certain cases, the business owner may also send a broader summary
Given the QA cycle and planning required for releases, typically they are generally big affairs with low frequency. However, since agility and pace are critical, releases should not be large events but engrained in the routine way of life. Our release methodology is lean, frequent and efficient. We make our releases through ‘release vehicles’. Every week, on Tuesday and Thursday, a release vehicle would be run in which multiple relay teams can put in their features or milestones out for release.
Relay teams embody RIVIGO’s spirit of pace and inventiveness. Relay team members are deeply connected to the larger mission of their respective tracks and of RIVIGO. They know the ‘why’ of every ‘what’. They work in an agile environment with complete ownership. As we evolve and do several more reflection sessions with our relay teams, we will continue to also evolve our way of engineering to ensure we are build the greatest technology products for the world at pace.