My name is @yuya-takeyama and I am the Engineering Manager in the Global SRE Team.
Previously, our company had only one SRE team and I was the manager of that team, but we split the SRE team between Japan and Global because we were developing different products in Japan and other countries. I am now in charge of launching the Global SRE Team.
This article is about what I did with my pre-split SRE team. At that time, we defined our Vision, Mission, and Values with our team.
Quipper has a company Vision, Mission, and Identities.
- Vision: Distributors of Wisdom
- Mission: Bringing the Best Education to Every Corner of the World
- Identities: User-first, Diversity, Ownership, Fact-based, Growth
Although these have been established for more than a few years, they are still as important to Quipper employees as ever.
However, the day-to-day work of SREs does not directly contribute to teaching and learning. Of course, we do support them in ways they cannot see.
Therefore, we decided to establish a Vision as a future that is more intuitive to our team, Mission as what we should do to achieve it, and Values as the values that are important in our daily activities. The current team, after the team split, is still working under this Vision, Mission, and Values.
The following is a quick introduction.
Vision, Mission, and Values of the SRE Team
Vision: Realize a development organization that can continue to create the best learning products
Vision is a future that is not there yet, but should be aimed for and created.
In this context, we consider the “development organization” to be the direct customer for the team. The easiest way to explain the development organization is that it is the people who belong to the Product Development Division which makes Quipper products. Designers, Developers, Product Managers, QA Engineers and SREs are part of this division.
In a broader sense, however, product development involves a diverse range of people on a daily basis. In our products, the people who create content (learning materials) also play an important role in the product.
In order to execute our mission without falling into local optimization, it is important to understand that a wide variety of people are involved in product development in many different ways.
Mission: Create a platform and culture for self-contained teams to continue to deliver product quickly and safely.
Mission is what we do every day to realize our Vision.
A particularly important keyword in this context is “self-contained team”. This has been a theme I have been talking about ever since I became an Engineering Manager, even before we defined this Vision, Mission, and Values.
In a nutshell, the relationship between the development team and the SRE team should not be one of “ask” and “receive”.
For example, if a new database is needed for the development of a new service, and the development team requests it, and the SRE team creates it and hands it over to them, what kind of problems will there be? The lead time for infrastructure provisioning becomes long because of the waiting time after the request is made. And because it is difficult for the development team to control, it becomes an uncertainty in the development schedule. In addition, such a structure makes it difficult to motivate the development team to think about the optimal database and architecture to use, which in turn will affect the quality of the product.
To prevent this from happening, we provide a Terraform Platform for self-contained teams, which allows development team members to manage any kind of cloudd resources like databases, cache servers and messages queues by themselves.
And for applications, we similarly provide a Kubernetes Platform for self-contained teams that allows developers to build new services by themselves. They can continuously deploy services without the help of the SRE team.
Platforms that include tools such as CI/CD are visible in the form of source code, but to enable development teams to work as self-contained teams, it is not enough to have the tools alone. It is also necessary to understand and practice the methodology for developing as a self-contained team.
At Quipper, all development teams have SLOs, and all teams are able to regularly monitor and take action when there are problems. In addition, when problems such as failures occur, each team reviews the situation through postmortem.
Such measures may not require much effort for a one-time event. However, to make them sustainable, it is necessary to have a system and culture, not just a mentality.
We aim to realize our vision by having both a platform and a culture, and by continuously evolving them.
We have defined four Values. Quipper Identities are five, but we kept it to four because we are conscious of the number of chunks that can fit in short-term memory.
- Fail smart
- Do not blame failure, but use it as a learning opportunity. Also, control the scope of impact and incorporate failure into the process so that the greatest return can be obtained from the least risk.
- Failure is to be avoided if possible, but in complex systems, failure cannot be reduced to zero. It is important to face failures properly with Postmortem and other tools, rather than treating them as absolute evils.
- It is also important to actively utilize the remaining 0.1% of the 99.9% SLO through methodologies like Canary Release.
- Continue to see everything as an opportunity to learn and make necessary changes in order to discover and solve unknown problems.
- In Peter Senge’s The Fifth Discipline: The Art & Practice of The Learning Organization and in Accelerate: The Science of Lean Software and DevOps, the importance of learning and improvement as an organization is emphasized.
- “What we can do now” is important, but “what we will be able to do in the future” is even more important. It is necessary for the organization to continue to overcome the challenges while continuously updating the issue setting.
- Communicate and collaborate across organizational boundaries to achieve greater results.
- Individual ability is important, but a major job that has an impact on the product cannot be accomplished by itself.
- Especially since we are a functional organization, we cannot achieve results without actively working together to overcome the borders between ourselves and the development team.
- Measure all issues and things, see problems not as dots but as lines, and aim for flexible and automatic solutions.
- Even if it is not difficult to solve each thing one by one, it is necessary to monitor and detect by indicators to avoid it continuously or in advance.
- To solve problems systematically, it is necessary to model problems as indicators and control them or deal with their side effects.
These are the ways of being that we must value and build on in each of our actions as we carry out our Mission.
All of the members on our team are highly capable as individuals, but we feel that there are an increasing number of problems that cannot be solved by that alone. In order to overcome them, we need to improve the quality of our problem-solving and try to solve them at a higher level, and to do so, I believe we need to make these our action guidelines.
How we defined the Vision, Mission, and Values?
Although I was the one who proposed the idea of defining the Vision, Mission, and Values, the process was done by all team members at that time.
We would have liked to get together and discuss the Vision, Mission, and Values on a whiteboard, but due to COVID-19, we had to discuss the vision and values remotely.
After explaining why we were doing this, we presented our ideas of Vision, Mission, and Values to each other, and then we explored the values within each of them in depth, breaking them down into their elements and reconstructing them.
The reasons for doing this were explained as follows.
- To enable teams to work and make decisions in the same direction.
- As a tool for matching in recruitment
- To make the team more attractive to work with
We are now explaining our Vision, Mission, and Values in our hiring interviews and hope to attract more candidates who understand our ideas.