Before we get into the empirical vs defined processes in project management, let us understand their meanings.
Empirical: based on experiment (rather than theory)
Defined: every step/activity is documented
In project management, there are processes and the processes can either be pre-defined or they can be built on empirical data.
A defined process is repeatable in nature. So you do the work the same way each time it’s a prescribed process of action. Imagine a manufacturing line where a car is assembled. The process works in the same every single time. This is a defined process.
Defined processes are not only used in manufacturing environments but in all industries including software development. I will tell you why this is a bad idea.
Empirical processes mean that we observe and act. So it’s based on our experience about what’s happening with the results of our work.
So you can imagine a developer that based on how they’re developing and the results of a test they have to make adjustments.
So that’s an empirical process based on observation. They know how to respond to that scenario.
So we’re thinking about transparency inspection and that you’re able to adapt to what’s happening in the project.
Let’s compare empirical processes against defined.
When you manufacture an item, all the variables are known. The solution is available. The materials used are well versed. There are no surprises. So, it is a must that the processes be defined and followed to the tee.
The problem is when you take this defined process and apply it to software. Because software work is creative. There are many unknowns through the process. Developers have to improvize on the move.
Knowledge work requires observation of the results and to use this information to make changes to come up with the expected goods.
So there’s lots of moving parts that we have to consider with empirical processes while working in knowledge area. Defining every single step will defeat the purpose. This is what waterfall did, and it isn’t the best choice.
Empirical processes are more creative that you react based on what’s happening or you create based on your experiences. They are interactive and they’re incremental. They change often.
We adapt to what’s happening in the scenario and then the results of what we create will pass the reviews, so it’s not a free for all.