Opensource is beautiful – but one thing that’s hard is effective communication. GitHub works great for clearly-defined work where each issue has a relatively small scope.
However, projects that are vague, have a large impact on Tuist, and take a long time to implement are not that well-suited to individual GitHub issues.
That’s why we’re announcing what we call Tuist Inititatives. We have already kicked off the first initiative for Tuist Previews and we’ll soon follow up with more.
Why
Let’s first talk about what the Tuist Initiatives should solve:
- Align with the community on the direction of a new feature, big refactor, etc.
- Ensure everybody is well-informed during the implementation phase.
- Raise any setbacks or blockers as soon as possible.
- It is clearly defined what the initiative’s success criteria are.
- The initiative has a responsible individual who plans and executes the work needed to fulfill the success criteria.
What
Now that we have a sense of what Tuist Initiatives are solving, let’s talk about how we envision the Tuist Initiatives to work.
Align phase
Each Tuist Initiative should start with describing the problem and potential solutions in an RFC. The RFC is the time to gather as much feedback as possible and align on the direction of the initiative. The initiative shouldn’t go into the next phase until all major concerns have been resolved.
To make better informed decisions, it’s recommended to create a prototype during the RFC phase.
Implementation phase
Once the RFC is accepted, it’s time to start building! Create an initiative which will serve as a place to provide updates about how the initiative is going. The initiative is driven by a champion – the champion is typically also the person that worked on the initial RFC.
A champion is expected to:
- Plan what work that needs to be done and coordinates with the initiative’s contributors
- Post continuous updates
The updates should ideally be posted weekly. Updates should answer the following questions:
- What progress have been done towards the initiative’s success criteria?
- Were there any setbacks or blockers? How are we tackling those?
Release phase
Once all the initiative’s goals have been met, it’s time for a release in case the work has not been continuously released.
Either way, the champion should follow up with a broader announcement consisting of a blog post and ideally a video to showcase the new features or changes.