Lifion Development Platform Credos
Originally published on Medium in August 2018.
A great company culture comes down to one thing: people. At Lifion, we recognize this and actively nurture an inclusive, open, and motivating company culture.
Our company credos encapsulate our organization's beliefs. They serve as a focused set of reference points to guide actions and help groups and individuals stay aligned as we grow and evolve as an organization.
Recently, we undertook an effort to distill the essence of our engineering philosophy culture in a similar manner, extracting the best of our current development practices and combining them with a reachable set of goals. We'll use our credos as a tool to enable individual teams to move towards their own goals in a manner consistent with, and complementary to, that of others' efforts.
As the credos document was taking shape, we made the process open and transparent, welcoming input from all team members on an ongoing basis. That feedback loop was fundamental to ensuring that the content resonated with our people while remaining relevant both to our values and to the desired end state of our product.
Organization of the Credos
The credos are organized in a top-down fashion: we start by defining two top level goals — basic traits that define what we strive to be. Then both top level goals are broken into areas of focus and each described in more detail.
Team Autonomy
'Team Autonomy' is the first top-level credo, and an accurate representation of how Lifion approaches software design and development.
Teams have from the very beginning been given wide latitude to solve their own problems, without waiting for external help. No detailed prescriptive practices are pushed down by a centralized group or management, just an emphasis on creating, delivering, and operating software in as streamlined and process-light a way as possible; teams get to choose their tools and design their services independently. Teams are encouraged to trade ideas and share recommendations.
Areas of Focus
Team Autonomy breaks down into:
- Independence with just enough Governance
- Agile with just enough Coordination
Architecture Based on Principles
A crucial part of our development process is that architecture is based on principles and not prescribed by a team of architects. Although we have a set of architectural blueprints that address some technical concerns that cut across teams and need to be implemented in a compatible way, the design for the actual features is done by the team who will write the code. By letting teams have autonomy and clear ownership, we evolve the overall architecture continually. Our architects get feedback from the teams and adjust accordingly; when asked for advice, they engage by trying to reference principles from the credos. This is exactly what we wanted: the credos guide us and keep our discussions focused.
Production Ready
'Production Ready' is the second top-level credo, broken down into five desired traits:
- Designed
- Performant
- Secure
- Simple
- Cost efficient
The Path to Production
The Lifion path to production is demarcated by three distinct stages:
- Development only
- Production aware
- Production ready
The goals we are setting with our credos are specific to the last stage as we've passed stages one and two and are onboarding our first wave of clients. All our activities are geared towards making the right decisions and working on right initiatives such that the final result is a rock solid and secure development and runtime platform.
The Journey Continues
The Lifion journey has been an incredible experience so far, and we are taking all the necessary steps to make sure that it continues to be so.
This post was originally published on the Lifion Engineering blog on Medium on August 28, 2018.