Efficiency vs. Effectivity in Software Engineering
Helping CEOs Understand Technology
This is part of my CTO Coaching
Many CTO struggle in communicating with the business side, especially the CTO. They phrase their wishes and opinions in tech speak, they explain the world with their engineering mind model. This does not resonate with the CEO. If they’d care about engineering problems they would have your job.
One concept that is helpful in discussion with business is efficiency vs. effectivity in software engineering. You can either maximize efficiency or you can maximize effectivity. What’s best for the company is the CEOs call. But to make that call, they need to understand the tradeoffs and consequences.
Efficiency means getting the most for you the invested money (salaries, cloud, developer laptops). For this, all developers and people in the development organization need to work as much as possible. If they only work 80% of the time, 20% of the money is wasted. To maximize efficiency you have long roadmaps, parallel work on projects, and a split of work into specialized people (developers, UI designers, product managers, quality) just like hundreds of years ago with the division of labor in ancient Rome. With the division of labor everyone works on things that they are best at. With parallelization people can jump to another project if work is stuck on one. Everyone works, and you get maximum output for your money. Because this has driven business for the last hundreds of years, this is what the CEO defaults to, this is “Why we always end up with waterfall.” Think SAP.
Effectivity means getting the best outcome, creating the best features and products. You do not get the most output for your money but the best outcome. Features that work, that are used by users reduce churn and create upsell opportunities. For this it’s better to work in teams together. Diverse teams are less efficient but more innovative. People might need to wait for others as the team works on one feature or project at the same time. Though not everyone is utilized 100% and time is “lost” due to discussion and friction between the teams, and there is no waterfall, they do create better and more effective features and products. Think Apple.
If efficiency (more features) or effectivity (better features) is the way to go forward is the call of the CEO. And from this decisions may consequences follow about processes, team structure, reporting lines, responsibilities and ownership.
For CEOs, tech departments are a black boxes. They don’t know how to guide technology, what the levers and metrics are, so they can influence software development. Efficiency vs. Effectivity is one lever with which they can steer their technology department.