Jeff Mesnil
Weblog · Dev · Photos · Books

People, Process, Product

January 19, 2005

One of the key issue in software development (but not restricted to that field) is to understand that the success of a project depends (among other things) of the balance betweeen the 3P:

  • People
  • Process
  • Product

Your project can be successful only if you find a correct balance between the 3P.

I see the People as the chaotic part of the balance. By chaos, I mean creativity without reins, wild ideas. Life is born in chaos, ideas and innovations happen when one think outside the box. But you can't build anything from the chaos. It needs to be tempered.
The Process is the order part of the equation. Order can be be a good thing and is essential for any contruction but it can also be a hinderance to your success. Too much order makes things rigid, without any movement. It slows things down and ultimately hamper the creativity of the People.
And the Product... well, my analogy to chaos and order shows its limit... Let say that if you have a good balance between People and Process and a crappy Product (or a good Product based on a crappy idea), it won't be a success.

As a developer, I see myself like a painter and I like to experiment a lot and let my imagination goes wild.
I want to make a good Product that I can be proud of and I understand that the Process is an invaluable asset to help me stay focused on what is important for the Product.
However, when I feel that the Process comes as a barrier between my work and the Product, when I feel that I'm less important than the Process, there is a problem. If I believe that the Process is there to prevent me to make decisions and think by myself, I feel robbed. If I see that the Process is too heavy for me and that there is no advantage at my own level to use it, I'll try to circumvent it (even if I try very hard not to...).

The Process can have a desastrous influence on the People and create a vicious circle where the People will work against the Process making it counter-productive.
But it can be different: People can also increase the value of the Process to make it better for them and the Product. If the Process is seen as an asset by the People, you can follow a virtuous circle which helps to reach success.

What I think is important is to have ongoing immediate feedback between the People and the Process to create this kind of virtuous circle.
If I understand that the Process helps me to create a great Product, I'll accept that from time to time it is annoying or too heavy for my taste. On the other hand, if I can't see how the Process helps me to create a great Product, it's up to me to give feedback to improve it or I'll be tempted to bypass it and will only make things even worse...