The insider secret to successfully leading teams on agile software development
The following is excerpt from People Over Process: Leadership for Agility (Productivity Press, September 30, 2019), with permission from Michael Levine.
Large scale software development and implementation is a new kind of human endeavor. Getting a hundred or more people to assemble complex ideas into an invisible machine that enables transactions, controls operations, and makes decisions hasn’t been done prior to the last fifty years or so.
Humans have cooperated to design and build large complex physical structures for millennia, certainly back to the Pyramids or before. And they have coordinated in large-scale command and control endeavors notably waging war. But the realm of creating pure ideas and turning them into code that invisibly runs, thousands or millions of interlocking instructions, is a brand-new challenge.
Purely intellectual collaboration that nevertheless demonstrably works or does not is quite novel.
To be successful in this new endeavor two leadership elements are crucial:
1. Leading teams of people to deliver valuable solutions, and
2. Enabling teams within larger organizations to succeed.
This chapter covers the first element: team and cultural leadership. The special demands on organizational leaders are covered in the next chapter. Together I am calling this model “Facilitative Leadership for Agility.”
The Facilitative Leader for Agility model is a simple triangle, as shown in Figure 2 below. The model reflects the elements needed to enable potentially large groups of highly intelligent, experienced, and diverse people to most successfully deliver outstanding results. An agile development team can, indeed must, have multiple facilitative leaders, especially in the critical development, testing, deployment, user experience, and program management functions.
The model is a triangle with three sides: rigor, alignment, and efficiency. I’ll refer to this as the “RAE” model at times.
I do not claim any right of origin for the either the term facilitative leader or the model itself.
The facilitative leader term has been used by a variety of people in a variety of contexts (just google it); I am using the term not as a copyrighted model but rather as a description of the kind of leadership needed to achieve technology agility. I would contrast the facilitative style with eg “The Process Enforcing Leader” or the “Directive Leader” or the “Risk Managing Leader.” These are of course ridiculous contrasting labels although we’ve all seen the styles demonstrated in our industry in practice to generally ill effect.
Let us briefly consider the meaning of the three legs of the triangle and the core of it, frameworks.
Figure 2.1: Facilitative leadership Triangle
Rigor. I put rigor first for a reason, in that I believe it to be primus inter pares (first among equals) in our model. In dealing with the uncertainties driving agile adaptive process control, there are many crucial decisions to be made. Rigor means clearly defining each decision to be made, gathering and considering facts, thoroughly considering options, and making clear decisions. Without rigor, alignment has to be command driven; while efficiency in pursuit of decision reached without rigor is just doing the wrong things quickly.
Alignment. Teams must work in a way that gets the best input from all members, and gains understanding and commitment around common goals, schedules, methods, and decisions/directions of all kinds. In this new process of invisibly codifying ideas, perhaps dozens or more team members make many decisions every day that are difficult if not impossible to control. How do we get everyone’s head in the game, draw out the best in each team member, and gain strong alignment on the way ahead?
Efficiency. In its simplest form, this means respecting the time of all team members as a valuable commodity not to be wasted. From the humble meeting agenda to a standard format for decision documents to in-person instead of phone meetings, there are proven techniques that can learned to drive efficiency. Above all it takes leadership that is offended by wasting time to drive the use of these techniques.
Frameworks. Frameworks are the mechanisms through which a leader facilitates a team to accomplish rigor, alignment, and efficiency. Think of a framework as a skeleton on which team members can hang ideas, confident in the flow of that idea towards efficient and rigorous decisions, great software, and ultimate value provision.
We will see frameworks at work in the important meetings that set the cadence for this book, on architecture, project planning, and team structures.
In the remainder of this book, we will learn much about frameworks for agility and see facilitative leadership for agility in practice at Pacifica Bank, exercised largely through the prism of effective meetings. The Appendix then provides more detail and a summary reference on some useful techniques. Let’s now consider the special obligations of the organizational leader, and then return to see some of these techniques in practice at Pacifica Bank.