You might wonder why you can’t just take a process and adapt it like a recipe? Why not taking Scrum, give everyone a role, fallow the events and handle all the artefacts. And that’s it. No?
Unfortunate no. There is more to tackle a complex problem as we often see in software projects. But what is complexity?
A complex problem has:
- a huge number of variables
- tight coupling between variables
- many stakeholders with many wishes
- dynamic changing context
it’s not possible to predict what effect a cause has but we can analyse it in hindsight.
Dave Snowden shows complexity in the so called Cynefin Framework:
Simple: Here works best practice. You want assembly that IKEA bookshelf. You take the instructions and do it.
Complicated: Your job is to create a website for your local sports club which also want’s to have a little web shop integrated to sell some merchandise. As you have created some websites before but haven’t done any webshop yet. It is complicated and you have to analyse the problem first before you do it.
Complex: As there are now too many parameters to be able to sense first, you try some stuff out and see how customers react. Based on that, you adapt and respond.
Chaotic: Imagine yourself at the start of a downhill race in skiing.
As most of our software projects are complex and there is no recipe to follow, I advise you to adapt and react on the response you get from users on what you are doing. You should do so with your team, learn best practices and adapt them to your situation.
Learn and adapt!