The Inversion of Control
C-suite people: Your CTO is probably lying to you.
OK, she's not actually lying, but she does need to represent the truth in a way you can handle.
Otherwise it would be too difficult for you to trust the development process.
Most companies today are managed in command-and-control style.
Corporate Officers (CEO, CFO, VP, etc.) are personally responsible for legal and fiduciary obligations in their areas of responsibility.
This need for executive control means that instructions flow downwards from the top, and accordingly, progress must be made and reported upwards. Autonomy tends to decrease down the organisational structure.
Companies also typically operate under inflexible temporal constraints such as funding milestones, "runway" length, regulatory deadlines, and scheduled market events.
Modern software engineering departments in many companies follow the popular "Agile" approach to managing the software delivery process. Agile is suited for innovation; it assumes that detailed plans cannot be made in advance, because there are too many "known unknowns" and especially "unknown unknowns".
The Agile approach encourages teams to be highly autonomous and self-organising, and to work in short cycles of experimentation, feedback and course correction. Agile eschews concepts such as hard deadlines and feature roadmaps. It attempts to linearise and quantise the process of innovation to support incremental yet constant progress, therefore increasing the likelihood of delivering a successful result.
"Scrum" is an Agile methodology that displays a disciplined and methodical approach to all activities, and a crisp cadence of iterations or "sprints". Progress can be tracked and efficiency measured. Under Scrum, everything can be made to appear very orderly and under control.
👌 This resonates perfectly with command-and-control-style managers.
🎵 It's music to their ears.
However, it is merely an illusion.
The stark truth is that innovation and truly original creative processes are neither linear nor deterministic. Agile Scrum is excellent at putting a framework around these activities, but it cannot change their underlying nature, nor should it attempt to do so.
There is therefore dissonance between the top-down diktats of executive management and the creative engineering process.
It is a valuable skill to be able to reconcile this discontinuity between the two contrasting approaches, or at least act as a buffer between them.
This is the stressful job of the CTO or VP Engineering. Good CTOs and Engineering VPs consistently deliver the outcomes the company needs, making it seem as if Engineering is a well-oiled and reliable input-output machine. They manage to reforge their engineering organisations as islands of agility, insulated from the command-and-control culture.
How do CTOs and Engineering VPs manage to do this?
Among the many things CTOs need to manage, these are the critical ones in our context:
Bets — they call upon their experience to make reasonable bets about:
1. the best directions to advance, and
2. what will actually be delivered and by when.
Insulation — they insulate the Engineering department from the command-and-control culture, allowing it to function in an Agile way. They must translate the top-down instructions into Agile constructs, and vice-versa (see Bets).
Risk Mitigation — they foresee, identify and monitor risks, and act early when things start going wrong.
Alignment — they use their leadership and communication skills to ensure that everyone is aligned, both within the Engineering department, and with other departments.
So is the CTO misrepresenting things? It depends whether you think a drawing of a cube on a flat piece of paper can ever be a faithful representation.