2 years ago

Propose, prototype, and build

One of the things I like about Shopify is an internal tool called Vault. It’s the backbone of the organization. You can find people, navigate the report structure, find answers for your questions, follow projects and share updates with the rest of the organization, and praise someone. It’s crucial for the organization’s effectiveness.

When it comes to planning work, many organizations built their processes upon existing tools. As a result, they end up accommodating their organization to the tool and not the other way around. For example, they introduce a tool like Jira and all of a sudden everything is ticket-oriented. Teams have backlogs full of tickets. Some people get obsessed with cleaning backlogs and prioritizing tickets. Ticket gurus emerge and training are organized to use Jira the right way. That always annoyed me and I was glad to see that Shopify invested in doing the opposite: design a framework, GSD (Get Shit Done), to plan work and build tools around it.

The tool that you use to manage the project is an implementation detail of the developer or the team. You wanna use GitHub issues? Go ahead. Do you prefer Trello instead? That’s fine too. The focus is shifted from the tool to the actual project and what’s trying to solve. I think this is the trap many organizations fall into: they get too distracted with the tools.

A project is first proposed. Stakeholders ensure the problem or need is well defined, and that it’s worth solving right now. This ensures people are working on the right things. If you can’t relate your work to the organization’s needs, then you need to take a step back and try to understand the thing you are tackling. Proposals can include a video, and go upwards in the hierarchy for approval.

Once approved, the project is prototyped to explore different potential solutions. Once stakeholders agreed on a solution, the project moves to build and the actual execution happens. Simple, yet powerful.

Along the process, Vault can be used to keep track of the project. The project champion is responsible for sharing updates with the stakeholders. A project has a feed where you can see a timeline of the project’s evolution. It also has deadlines and checks that you can run with the project contributors assess the health of the project: is it moving steadily? is the direction clear? are there any unexpected roadblocks?

And because the organization is large and there are many projects are being executed, you can follow the projects interest you. You can filter the signal from the noise and only get the updates from the projects that you are interested in.

One thing that I think it’s also cool is that there’s a champion role. A person ensures the project moves forward and that decisions are made. And yes, if it’s a development project, that’s the developer. Developers also feel empowered when driving projects.

As I’ve said a few times in the past, Shopify has done amazing work at having the best tools for their needs and this is yet another example of that. Product is important, but also the tools the people in the org use to build the product. There’s so much inspiration to gain from Shopify that I can apply to the way the Tuist organization is managed.

If Shopify sounds an exciting place you’d like to work, let me know and we can talk about opportunities over here.

About Pedro Piñera

I created XcodeProj and Tuist, and co-founded Tuist Cloud. My work is trusted by companies like Adidas, American Express, and Etsy. I enjoy building delightful tools for developers and open-source communities.