Iteration Zero is your chance to set up your project for success before the mayhem starts.
By building a “walking skeleton”, you can do this right from the start.
I find that iteration zero is a very rewarding time in a project. It’s a good time to bond with a new team and to get things done that literally aren’t on a schedule.
When talking about iteration zero, people tend to concentrate on the project side of things. Instead, I will concentrate on the build tasks and show how you can use the “dancing skeleton” pattern to make sure you start that you start your build in the right way.
Doing The Right Thing From the Start.
I’m a big fan of the principles behind initiatives like the 12-factor app, or the AWS well-architected framework. Their checklists and principles try to make it easy to make sure you’re doing the right thing.
They’re a little more detailed for our iteration zero purposes but there will be some overlap. For now, we just want to get the basics down.
The Walking Skeleton.
So where do we start? Well for me the main aim is to get a “walking skeleton” moving. That is a thin slice of the application deployed to a dev environment.
It might something as simple as a “Hello World Microservice”. But to get there, you will need all of the following.
- A Repo for your code.
- An environment to run that code.
- A Pipeline to deploy your code.
- Different style tests running.
Indirectly this will involve you considering the following
- Configuration of the application.
- What frameworks to use.
- Choosing a branching strategy
- Working out your monitoring, logging and alerting (mla)
- Chat channels, distribution lists etc
- ….. etc etc
By following the simple process of building this thin piece of functionality it will force you to address most of the common issues you are likely to come across in the wider build.
Everything will become more complex as you move towards a production environment, but by having your walking skeleton you will be in a good place.
Making your skeleton dance.
So you’ve got your application building and deploying to your dev environment. What’s next?
That’s easy, it’s time to make your skeleton dance into production.
I’ll leave the master of patterns, Dan North, to explain this.