Getting to predictable: Engineering software delivery teams that stay

Getting to predictable: Engineering software delivery teams that stay

Lorén Rose, COO, Global Kinetic

Lorén Rose is a co-founder and COO of Global Kinetic. Drawn to software engineering by its utility in solving complex problems, as well as its satisfying testability, she spent a decade and a half designing and developing enterprise software, primarily in financial services. Working with her future colleagues at Global Kinetic much of that time, she gradually shifted her attention to another kind of problem-solving: operational strategy. Today, Lorén’s focus is on building top-quality, highly motivated, and happy software delivery teams in support of a steadily growing business.

De-risking software delivery

Remote work has shone a light on mental health and all-round wellness in our industry, bringing into relief issues around isolation, stress, and burnout. A lot of companies have started talking about “empathy” as a guiding principle or cultural value, and I really hope that the discussions we are all having in that regard translate into actionable change supporting workers, not just shiny new recruitment campaigns.

I sometimes describe my job at Global Kinetic as principally focused on de-risking the business. That’s admittedly not terminology a “chief empathy officer” or “employer brand manager” would use, but hear me out. I am responsible for developing our software delivery teams, for managing sustainable growth in our capacity to deliver high-quality enterprise software on time and at a good price.

“De-risking the business” may sound cold, but the truth is many companies risk the loss of their greatest assets – people, experienced and enculturated engineers – through uncontrolled and misdirected growth.

What I have learned over the years is that supporting a genuine work-life balance is essential to meeting our business goals. And work-life balance conversely requires us to set our goals with greater care.

Predictability is key

Global Kinetic is always looking for fresh talent, but what we strive for more than anything is for our existing employees to be happy, fulfilled, and up for anything. I want to benefit from their accumulated experience for as long as I can keep them. I can’t afford to lose them to burnout or another company that offers them what I wasn’t able to do.

Remuneration is a factor here, one we take seriously, and there are others, including the nature of the work and opportunities for growth. The most important one for me, however, is predictability.

Almost all of us prefer some kind of routine – a pattern we can trace through daily life – and some idea of how the pattern might change over time. Habits (the good ones) and routines are proven to aid sleep, boost energy and concentration, to improve your sense of well-being, to positively impact your health and quality of life. Without the regularity and forward-thinking involved in routines, people find themselves stretched for time and anxious about what they’ve left undone.

Predictability provides our employees with a reassuring sense of control over their professional and after-work lives. It is fundamental to achieving work–life balance and, as such, lowers levels of stress, burnout, and attrition. We have seen the benefits of predictability in our own rate of attrition, which is significantly below the industry average.

That level of continuity helps us forecast more accurately, manage and mitigate risk, and make better decisions about our future as a business.

Benefits of predictability:

image

The “how” of predictability in software delivery

Machines don’t write our code, people do. As averse to unpredictability as they may be, they can be pretty unpredictable themselves. So, what strategies should businesses like ours use to achieve a baseline of predictability both for their employees’ and their business’s sakes, thus de-risking their software delivery?

My pre-requisites for building and maintaining a predictable work environment are listed below.

Getting to predictable:

  • Real ownership and accountability at team level
  • Proven, bullet-proof processes guiding decision making
  • Clear quality standards and processes to ensure that these are met
  • The right number of experienced engineers per team to transfer tacit knowledge and provide direction
  • Frequent but incremental change, never in reaction, always towards a pre-defined goal
  • Knowledge sharing to improve organizational efficacy and promote a culture of innovation
  • Honesty and transparency

If any of these elements is missing, badly formulated, misunderstood, or inconsistently applied in your organization, you really ought to reset your expectations of your engineering teams. Pursuing significant growth in these conditions will put an unsustainable amount of pressure on them. Morale will nosedive, deadlines won’t be met, decisions will be made and unmade in quick succession, and quality will suffer.

Bad quality is probably the biggest cause of unpredictability in software delivery! If poor-quality code gets into production, that software is going to be on fire, and the predictability we strive for will go up in smoke. Our developers will take the brunt of it with unforeseen work hours and stress piled on their shoulders. Where are we then, six months to a year down the line? You can almost picture the snowball effect that follows.

Further considerations

A strong sense of ownership and accountability can provoke a fear of failure, of course. Our approach comes with the possibility that errors will be made, but they will likely be low impact and the team will, by design, have both the headspace and resilience to recover. They won’t cause a catastrophic security flaw in the production environment; they won’t damage the brand. They are something you and others can learn from but from which you can move on fast.

Playing it safe is not ideal. It’s important to mix it up a bit, to throw in a few surprises occasionally. If that sounds contradictory, it isn’t really, if change wasn’t forced on you by events outside of your control. When their days become overly predictable, people drift, become bored. They lose some of their drive and ability to solve problems on the fly. So we introduce changes fairly frequently at roughly one part to four, like a cocktail with a big dash of Red Bull. Change may involve the team membership or structure, the work, special projects, or activities related to occupational growth.

I was sad to see that the eminent researcher of creativity and happiness Mihály Csíkszentmihályi passed away recently. He developed the concept of “flow” – being in the zone – forty or so years ago. A precondition for this state, which many developers aspire to, is being sufficiently skilled or knowledgeable to know how to set about a task but challenged enough to be intrigued and excited enough to tackle it with gusto. We want that for our teams: challenged but always in control. That’s why we are constantly circling back to a state of predictability.