Working on System Initiative
The System Initiative software is open source, and we try to work in public as much as possible. Our goal with this section is to help you understand how we work as a product and engineering team to help you find ways to collaborate with us: by writing code, by giving feedback, or by just talking with each other on Discord.
How we decide what to do
When we're deciding what we should work on or what we will accept as an outside contribution, we're always looking at it through 3 lenses:
- Product, which is responsible for deciding what our priorities are, and what directions we should pursue.
- Engineering, which is responsible for deciding how the technology will be built and maintained.
- User Experience, which is responsible for deciding how the product is experienced by the user.
All three exercise their responsibility primarily through editorial control rather than directing every detail of anybody's work. We will sometimes refer to these people as the Triad.
Ultimately, it is up to our Product team to decide what goes in to System Initiative. In practice, it's a consensus between Product, Engineering, and User Experience.
Storytelling
System Initiative's product and engineering process is centered around collaborative storytelling. We don't think in terms of specific features, we think in terms of outcomes we want to deliver to users and then work together to find the best answer.
We tell stories about those outcomes to each other at various levels of scale:
- The Road Map contains high-level Themes, which we use to focus the team on what's most important.
- Then, we find Opportunities to improve the product within those themes, which we then evaluate using an Opportunity Canvas.
- If we pursue an Opportunity, we build a Persona and a Story Map. A Persona helps us refine who we are solving the problem for, and the Story Map charts the course for all the tasks we need to accomplish to deliver on the Opportunity.
- We then assess the Story Map and decide what the right next set of work to do is by running Workshops.
Road Map Themes
System Initiative's Road Map contains the high-level themes we're focused on. Typically, these are themes that will run for a long time - think on the level of quarters at least, but more frequently, a year or more.
Opportunities
Opportunities let us explore what problems we are trying to solve, who we are solving them for, how they solve the problem today, and what value that will get out of our solution, and how we'll understand if we deliver on that value. They also clarify why this opportunity matters for System Initiative as a business.
Each opportunity is assigned either a budget or a deadline, and both are decided collectively by the engineers, product folks, and UX designers involved. Budgets give our imaginations boundaries - there isn’t enough time to build everything we want, so we need a way to focus on what we think will prove that the solution meets the outcome. We sometimes extend budgets if needed, and sometimes, we even completely scrap an opportunity if we learn that the solution is not working out.
Deadlines, however, are high-integrity commitments we make to each other. They’re usually driven by a need for high coordination, such as customer commitments, special events (like our launch), etc. We do everything in our power to not miss a deadline.
Personas
We build a new persona for each opportunity we work on. These help us clarify exactly who we are solving the problem for, and help to spur our imaginations about what would make a great outcome for them.
Story Maps
Story maps are a living reference for executing an opportunity. They are made up of all the different tasks (of all shapes and sizes) the team can imagine needing to be done to accomplish the outcome described in the opportunity. Those tasks get sorted into a narrative flow, expressed as a backbone running across the top of the map. Then they are broken down into slices, which allows us to deliver on the story incrementally.
Workshops
As we work on the opportunity, we refer back to the map frequently - we take a small piece of work, informed by what we learned previously, and then get clarity on how we want to execute on the next step by running a Workshop.
We ask ourselves who the user is, how they will use this next piece of work, what it looks like, how the software will work, how we will demo it, and what will we check to confirm the software is done.
With that in hand, an engineering team can get to work.
How you can participate
For every opportunity we take, we:
- Publish a blog that walks you through the opportunity
- Publish a video walk-through of the opportunity, persona, and story map
- Update the Road Map
- Post weekly demos to YouTube and our Changelog
The simplest way to participate is to give us feedback on Discord.
If you want to make a larger contribution, you can reach out to us on Discord, and we can run this process together. It will help us align on the solution before you start writing code and ensure we're all aligned before you invest a lot of time.