Favro forGame Development
Continuous Integration (CI) and Continuous Delivery (CD) are essential modern game development practices for delivering new Games as a Service features and content early and often.
Coupled with a release train, they take much of the pain out of release planning, management, and deployment. At the same time, they allow for speedier value delivery and faster feedback from players.
The first step when setting up a release train is determining a release cadence. Based on your studio’s current development iterations, integration capabilities and preferences a hard and fast release schedule should be established. It could be monthly, every two weeks, every week or even daily. Mapping this cadence to Favro is as simple as creating a release train board. Using the example of a weekly cadence, each column will represent the released backlog items: features, assets, levels, etc. for the current week’s development. Each week a new column is added to the left side of the board, with weekly releases flowing left to right, most recent to past weeks.
Before adding or moving any backlog items to release train columns, it’s a good idea to use Favro’s workflow rules to setup auto release tagging. For each release train column click the down arrow and select “Set workflow rule…”. For the current column next to “Add these tags” click “Specify tags…” and create a tag for the release. From this point forward, every time a card is moved, added or created in this column the release tag will automatically be applied. This is excellent for better visualizing when each backlog item was released. The tags can also be used as a report filter, which I’ll discuss in a bit.
Release day has arrived. Whether you have a single team or multiple teams working on boards in multiple Favro collections, this process will be the same. Each team’s workflow board should have “Ready for Release” or something similar as it’s furthest rightmost column. The game’s Release Manager only needs to look at each team’s board and multi-select (Alt-Click or Shift-Click) all of the cards in “Ready for Release”. The batch edit bar will appear at the top of the app, where “Add or move to…” is selected. The Release Manager then chooses the game’s release train board and can either move the cards or add them to the current release. This same process should be repeated for each subsequent release, creating a visual release history.
There may be situations where two teams are working on the same backlog item. One team has finished their work on the card, but the other team still has the card in progress. For live production testing or other reasons, the Release Manager might want to release the partially finished feature. In this case, it’s a common practice to use feature toggles. The feature in progress is released but toggled off, so it is not accessible to customers. The easiest way to represent this on the Favro Release Train board is with a tag. When the feature is fully complete, the tag is removed.
While the release train board provides an excellent view as to what was released and when, everyone probably isn’t looking at it on a daily basis. If you’re currently using Slack, it’s a good best practice to enable Favro’s Slack integration on the release train board, which will instantly and automatically communicate new releases to the rest of the studio. In Slack create a dedicated channel for each live game. Once those are created, ensure that the Slack integration is enabled for your studio by clicking the Apps selection icon and selecting “Apps and integrations”, then follow the detailed instructions in this article. Now, whenever a new backlog item is released, everyone in the studio who needs to know will receive a real-time Slack notification. If required, clickable links to both the cards and the release train board provide more information.
To wrap it all up Favro’s reporting capabilities make it simple to create and share an on-demand release train report. Click the Apps selection icon and select “Advanced search”. To create the report click “Create new report”, select the game’s release train board, select the desired release tags and click the “Tags” header to sort by release. Save the report to give it a name and click the report’s menu icon on the left pane to share it with others in the studio.
Feel free to set up your studio’s game productions, teams and release trains in Favro.