With everyone present, the stand-up meeting got started. The team members each took a turn holding the company conch (pictured above), it gave them the floor to discuss, inform, and update the company on their projects or personal things like a vacation coming up. This meeting ensures that everyone in the company is on the same page and that everyone is aware of all the general activities within the company as a whole.
What’s a typical morning like at Boltmade?
Ben: People start trickling into the office around 8am. Most of the office is there between 9 and 9:30am. We have a company wide stand-up at 10am that everybody attends. It’s our chance to gather face-to-face.
When we started we had a classic stand-up routine, everybody would answer what they did yesterday, what they’re going to do today and if there was anything blocking them. By the time we hit 15 people it became tough to keep going at that high level of detail so we changed it to focus on company wide news.
Now stand-up takes about ten minutes and is used to keep everybody on the same page about company wide business. Hires, vacations, projects starting and finishing, that kind of thing.
After that most teams will go back to their room and have a project team stand-up covering higher detail. Then it’s just heads down until lunch.
Can you tell us a bit about the structure of the team? How is work divided?
Ben: We’re 24 people now and are broken down into 7 semi-independent project teams.
Every project requires various types of expertise at different points. We might start off with a heavy design or research phase before transitioning to a development focused phase.
At any moment, everybody in the company is fully assigned to just one project. The type of work we do is very focus intensive so we decided early on that we didn’t want to split people across multiple projects. We can contribute a lot more value focused on just one product/domain for an extended period of time than we can if we’re jumping around every few hours/days.
One thing that’s a bit unusual about us is that we don’t have any product/project managers. Every team is responsible for making sure communication happens and that their project is on track. We like to keep as few barriers as possible between our customers and the teams actually doing the work.
Is there a general process you follow for every project or is each one different?
Ben: We have a strong process that each team follows, with the understanding that every project is different and people can change something if there’s a good reason to. It’s about putting sensible defaults in place but having the ability to change them if they don’t make sense.
The only set meetings that are common across all projects are the weekly Sprint Planning and the monthly Release Planning.
Sprint planning happens at a set time every week and lasts for a couple of hours. We’ll start with a demo of everything that was completed last week. The purpose of the demo isn’t so much to provide feedback on what was done as it is to update everybody on where we are and inform the next part of the process.
Once we’re all on the same page we’ll move onto the actual planning. This is where we decide what we’re going to do during the next sprint (week) and commit to it. For each sprint, we try to have a spiritual theme that we can work towards. It might be “User On-Boarding”, “Search Filtering” or “General Polish”. We find that it’s helpful to have a larger goal than just individual features to keep everybody focused on what we’re actually trying to do. It’s easy to get lost when your work becomes a never-ending list of features.
We’ll go through all of the user stories in the backlog and estimate the effort required to complete them using story points. We use a number of different tools to inform us on how many points we think we should be able to get done based on historical velocity.
The final piece of the meeting is called the retrospective. It’s the team’s space to recognize what’s been working, what we could improve on and then picking one thing to focus on for next week. In next week’s meeting we’ll evaluate how we did and decide to either double down or pick something new to focus on for improvement.
Every 4-6 weeks, each project has a Release Planning meeting separate from the Sprint Planning. It’s intended to let us look at the project from a higher level and evaluate how we’re doing. As most of our projects are 2-6 months in length it’s easy to drift and lose the path if you don’t have frequent check-ins.
During Release Planning we’ll look at where we are relative to the start of the project and where we’d like to end up.