The world of computing, and software development in particular, is very complex. I was looking for a simpler way to explain my way of working to anyone who came to visit me. That’s how I came up with DDD, which you can see in the image below:
Decentralize: Create infrastructure that allows people to do what needs to be done, whether or not you are there.
Delegate: Train people and trust the work of those who will take over.
Enjoy: Once the previous two steps are complete, the workplace becomes productive and free of bottlenecks. People identify with the environment because they have time left to learn new techniques, improve what is already in place, and balance their personal lives—they no longer need to take work home. Here, “enjoy” describes the state of mind a person reaches when they are part of a healthy workplace.
Note: Pay attention to the diagram: DDD forms a staircase. It indicates that reaching the final D (Enjoy) requires going up the previous steps.
Whenever I start a software development project, my goal is always to climb this staircase. It makes it easy to explain my approach to anyone involved in a project with me. From the beginning, they understand that I’ll spend some time automating processes, and then they’ll take charge of the automated system.
The diagram also helps keep me accountable: whenever I fail to create decentralized infrastructure, I’ll have to do the work myself, using time that could have gone to another task.
I know the DDD method won’t fit every field; that wasn’t my intention. But see whether it works for you. If it does, I hope it proves useful.
Best wishes, and see you in the next post.