Question: How much of this does actually happen?
Anwer: We've covered a small fraction of 1, 2 and 6.
There are currently very visible lines between Sportsbet, AMS, Comms and Bitcasino.
We need to become a single team and forget about the previous setup. We need to start moving people from project to project - instead of keeping people working in silos, working only on the features they already know.
We need to acknowledge this and just give it time.... setting up a process isn't a solution for this.
Some missions take months to complete.
This causes multiple problems:
Your mission (including landing it in production) can take up to a month. Does not matter how many people are working on it. If the mission can't be done in a month, it has to be split up.
Your new fancy service needs to be be buildable + deployable automatically before you write the actual feature code. This will allow for quick iterations to easily improve this feature.
Instead of having the mindset that you have 4 weeks to build a feature, think of it as you have 1 week to build the feature and 3 weeks to improve it
A lot of missions are handled alone by a single developer.
This prevents developers from bouncing ideas between each other as everyone else does not know the context of your mission.
It also creates a silo - only one person knows anything about the specific mission.
Does not matter the scope of a mission, you need 2 people working on it.
There is no preparation work for missions being done by the leads of the missions.
Preparation work is done when the mission is already on-going.
You should work on preparing the mission to fully understand it before you actually start it.
Currently we're still somewhat operating in the paradigme that what the Project Owner wants, we build.
This is false - the mission lead has the responsibility to deliver the mission. This includes making sure it's delivered as expected as well as making decisions on what gets cut from the mission to make sure it gets delivered on time. (Teamwork with POs)
In a mission, the mission lead is the alpha. They are in charge of making sure everything gets delivered on time and according to needs of the business.
Leads need to have challenging conversations if something can't be built in the time frame. Missions are a wishlist, you're responsible for making the most out of the time and resources you are given.
Project Owners know the project in and out. Developers do not.
This needs to be kept in mind - domain knowledge of a product is not the same in the company. If a PO requests a feature, they may take some things for granted because they know it's needed for the feature. A developer who has no idea that they are needed will not build it - and deliver a mission that can't be launched.
You need to learn how to build, deploy, run etc all over again.
Automate workflow for all projects
Develop
Master
Any commits builds a new pre-release docker image
Pre-release images are automatically deployed to t2 env
Any commits builds a new release docker image
Release images are automatically deployed to prelive env
Add semantic release (or any other tool that creates either release notes or updates release notes)