How to integrate your AWS event-based system with external/legacy systems using RESTful APIs
The role of leadership on technology transformation has been one of the more overlooked topics in DevOps, When dealing with Digital Transformations, agile and Devops, the question of culture always comes up. The answer almost always involves Leadership. Or put another way: there is a direct correlation between leaders/managers, the culture they define, and the success of any Digital Transformation, agile or DevOps endeavour.
The big picture
From the book Accelerate, The Science of Lean Software and DevOps: Building and Scaling High Performing Technology Organizations, their research shows:
- employee engagement and satisfaction are indicative of employee loyalty and identity, can help reduce burnout, and can drive key organizational outcomes like profitability, productivity, and market share.
- Net Promoter Score (eNPS): employees in high-performing teams were 2.2 times more likely to recommend their organization to a friend as a great place to work, and 1.8 times more likely to recommend their team to a friend.
- good DevOps technical practices predict job satisfaction
- people who feel supported by their employers, who have the tools and resources to do their work, and who feel their judgment is valued, turn out better work. Better work results in higher software delivery performance, which results in a higher level of organizational performance.
And how do we reach this utopia of having engaged employees, doing better work, leading to better organisational performance?
By having good leaders!
Manage yourself first
To be good manager, you need to manage yourself first.
Too few managers think about the first rule of management: If you can’t manage yourself, you can’t manage other people. Modern work practices demand management excellence. Too few schools teach about management as managing humans. If you’re lucky, you had a great boss and you learned about excellent management from him or her. But, if you didn’t, you’re not alone.
And from our very own Mark Holtshousen, we learn that managers are too tired, because they are lacking:
The basics are sleep, diet, and exercise. You can’t get around these, and you never mature beyond them.
Managers create culture
We spoke about culture here, which is about high cooperation, sharing risks, not punishing failure, and a learning organisation. Culture expresses what managers value. Culture is what people can discuss, how people treat each other, and what we reward.
We need managers to understand how to create and cultivate an agile culture. They need to understand local vs global optimisation, feedback loops, resilience, and flow efficiency.
Cultural change does not arise from a change of beliefs. Cultural change arises from changed actions.
When it comes to culture, managers can improve matters by enabling specific DevOps practices in their teams and by visibly investing in DevOps and in their employees’ professional development.
If managers still act and use Theory X, an agile approach will not work.
If they want the benefits of a collaborative, flow-based approach where everyone can use an agile approach, they need to act as if they believe in Theory Y. (They don't have to believe to start. They need to act as if they believe in Y.)
By examining data from employee surveys and performance reviews, Google’s people analytics team identified eight key behaviours demonstrated by the company’s most effective managers.
- Is a good coach
- Empowers the team and does not micromanage
- Expresses interest in and concern for team members success and personal well-being
- Is productive and results-oriented
- Is a good communicator - listens and shares information
- Helps with career developement
- Has a clear vision and strategy for the team
- Has key technical skills that help him advise the team
Engineers hate being micromanaged on the technical side but love being closely managed on the career side.
What Agile Managers Might Do
For the traditional manager encountering Agile for the first time, counter-intuitive ideas abound. Managers find they can’t tell people what to do. Firms make more money by not focusing on making money. Dealing with big issues requires building on tiny teams. Control is enhanced by letting go of control. Leaders are less like heroic conquering warriors and more like curators or gardeners.
When traditional managers enter an Agile organization where these seeming paradoxes are the norm, it’s like travelers visiting a strange foreign country where everything is different: yes may mean no, where no one pays fixed prices, and where laughter may signify fury. The familiar cues that enable travelers to function in their home country are absent. In their place are new cues that are weird and incomprehensible. The result can be bewilderment, frustration, and an inability to cope. Until the traveler's grasp what has happened, learn the new cues of the different country and embody them in their behavior, they will find themselves disoriented and incompetent to deal with the different environment.
That’s why Agile can’t be implemented within the assumptions of current management practice. Agile means embracing fundamentally different assumptions. For traditional managers, the process usually isn’t comfortable. It isn’t easy. At the outset, it feels just wrong. It’s like learning a strange foreign language. It is only over time and through actual experience and practice that Agile becomes second nature and automatic. This is not about “doing Agile.” It’s about “being Agile.
A manager's job is to build resilience in the team and processes
- Reduce decision cycle time - multi-tasking causes longer decisions times and more wait time, and less work time.
- Talk about people instead of resources. Too many managers have been trained to talk about “resources” instead of humans.
- Remove yourself from the actual technical work of the team and take a more strategic view of the team: What bottlenecks does the team have? Does anyone need training? Do people need coaching in how to work as a team with those difficult-to-master interpersonal skills? Can you make your job be more about coaching and enabling the team, rather than doing?
- Coach your team to discover their flow, to find their best cycle time, to work with technical excellence to reduce the need to fix things after the team thinks they are done?
- Consider what you reward and when. The more you reward individual work, the less likely you will have a successful agile culture. Why would people work towards a greater good when you reward individuals?
- Ensure that existing resources are made available and accessible to everyone in the organization. Create space and opportunities for learning and improving.
- Establish a dedicated training budget and make sure people know about it. Also, give your staff the latitude to choose training that interests them. This training budget may include dedicated time during the day to make use of resources that already exist in the organization.
- Encourage staff to attend technical conferences at least once a year and summarize what they learned for the entire team.
- Set up internal hack days, where cross-functional teams can get together to work on a project.
- Encourage teams to organize internal “yak days,” where teams get together to work on technical debt. These are great events because technical debt is so rarely prioritized.
- Hold regular internal DevOps mini-conferences. We’ve seen organizations achieve success using the classic DevOpsDays format, which combines pre-prepared talks with “open spaces” projects.
- Creating a training budget and advocating for it internally. Emphasize how much the organization values a climate of learning by putting resources behind formal education opportunities.
- Ensuring that your team has the resources to engage in informal learning and the space to explore ideas. Learning often happens outside of formal education. Some companies, like 3M and Google, have famously set aside a portion of time (15% and 20%, respectively) for focused free-thinking and exploration of side projects.
- Making it safe to fail. If failure is punished, people won’t try new things. Treating failures as opportunities to learn and holding blameless postmortems to work out how to improve processes and systems helps people feel comfortable taking (reasonable) risks, and helps create a culture of innovation.
- Creating opportunities and spaces to share information. Whether you create weekly lightning talks or offer resources for monthly lunch-and-learns, set up a regular cadence of opportunities for employees to share their knowledge.
- Encourage sharing and innovation by having demo days and forums. This allows teams to share what they have created with each other. This also lets the teams celebrate their work and learn from each other.
- Make effective use of tools: Make sure your team can choose their tools. Unless there’s a good reason not to, practitioners should choose their own tools. If they can build infrastructure and applications the way they want, they’re much more likely to be invested in their work. This is backed up in the data: one of the major contributors to job satisfaction is whether employees feel they have the tools and resources to do their job. If your organization must standardize tools, ensure that procurement and finance are acting in the interests of teams, not the other way around.
- Make monitoring a priority. Refine your infrastructure and application monitoring system, and make sure you’re collecting information on the right services and putting that information to good use. The visibility and transparency yielded by effective monitoring are invaluable. Proactive monitoring was strongly related to performance and job satisfaction in our survey, and it is a key part of a strong technical foundation
Reward teamwork, not hero work
When managers encourage teamwork, the managers encourage a organisation optimization. Not person-based optimization, but optimization for the products/services that the organization needs.
Now, imagine that every level of the organization acts as a team. What might happen to the various cycle times? Managers make decisions faster. Everyone's cycle time decreases. The feedback loops get shorter. The organization creates resilience because there's less waiting everywhere.
The more we reward managers for doing technical work and reward individuals for their work, the less likely an agile approach will stick.
In his 2009 book, "Drive," Daniel Pink proposes a new motivational model that he believes is a better fit for today's creative and innovative workplaces.
Pink's model focuses on enabling people to become intrinsically motivated – that is, using internal drives as a source of motivation. He calls this behavior "Type I." It contrasts with the traditional model of extrinsic motivation, or "Type X" behavior, which focuses on motivating people through reward and punishment.
To build an intrinsically motivated team, you need to focus on three key factors:
- Autonomy – people are trusted and encouraged to take ownership of their own work and skill development.
- Mastery – people see no limits to their potential and are given the tools they need to continue to improve their skills.
- Purpose – people are encouraged to use their skills to achieve a "greater" purpose – for instance, getting involved in a "good cause" that they are passionate about.
Leading a team of managers
So far we have spoken so far about managing a team of experts, like engineers or other individual contributors. But leading a team of managers requires a different approach. This particularly applies to Execs leading a team of senior managers.
Strangely, however, I have found that it is possible to be a leader with a well developed personal life and career, one who has advanced up the corporate ladder, but somehow still fails at leading an effective leadership team.
Again Mark guides on how to leader managers: by trusting them, knowing them, and protecting them.
Transformational leadership means leaders inspiring and motivating followers to achieve higher performance by appealing to their values and sense of purpose, facilitating wide-scale organizational change. Such leaders encourage their teams to work toward a common goal through their vision, values, communication, example-setting, and their evident caring about their followers’ personal needs. It has been observed that there are similarities between servant leadership and transformational leadership, but they differ in the leader’s focus. Servant leaders focus on their followers’ development and performance, whereas transformational leaders focus on getting followers to identify with the organization and engage in support of organizational objectives.
A good leader affects a team’s ability to deliver code, architect good systems, and apply Lean principles to how the team manages its work and develops products. All of these have a measurable impact on an organization’s profitability, productivity, and market share. These also have an impact on customer satisfaction, efficiency, and the ability to achieve organizational goals
Leaders cannot achieve goals on their own. They need their teams executing the work on a suitable architecture, with good technical practices, and use of Lean principles. Transformational leadership enables the practices that correlate with high performance, and it also supports effective communication and collaboration between team members in pursuit of organizational goals. Such leadership also provides the foundation for a culture in which continuous experimentation and learning is part of everybody’s daily work.
Links for more learning
I was lucky enough that when I was first appointed as a manager, I had an awesome senior manager who taught me the ropes, and mentored me. I've tried to keep true to those lessons throughout my career. These are some of the links he frequently sent me:
Top managers who failed to guide, challenge, and stretch their more proactive middle managers were more likely to give negative performance reviews. But top managers who more effectively managed proactive employees’ goals gave better performance reviews
Strong managers know that most policies are only guidelines to help people navigate unfamiliar situations. They understand that context is everything. Sometimes there is a good reason to bend a policy — or to ditch the policy altogether!