Sunday, January 02, 2022

Optimizing in software development

What is the most efficient way of reaching business goals? We have three major parameters to play with: technology, processes and people. Of course it is best to be proficient on optimizing for all three at the same time, but it can be tricky to do. A simpler optimization problem is keeping two parameters fixed and optimize for the 3rd, but which one should you to start with?

The intention here is to be best prepared to solve any business goal, there are three parameters we could start with (keeping the others fixed).

  1. Hire the best people and create powerful teams. Make sure that they have a clear goal and the fewest obstacles possible to reach them (servant leadership). 
  2. Setup best practice processes and infrastructure. Focus on lean principles to identify process improvements.
  3. Use the best possible technical design and keep the technology continuously up to date.

Probably depends on where you are presently at with these parameters where you start. But of the three it is probably most costly to get 3) back into the optimal zone, so I would recommend optimizing for that first.

It can be helpful to look at this is as a regulation problem, where you regulate for the most important parameter first, then the others. This adds a constraint as to how far you go in optimizing for the first parameter before you go onto optimizing for the next one.

No comments: