Wednesday, November 13, 2019

Accelerate Chapter 11 Discussion Points

Chapter 11 of Accelerate: The Science of Lean Software and DevOps: Building and Scaling High Performing Technology Organizations, covers leaders and managers:

  • Transformational leadership
    • Leadership has a powerful impact on results
    • Being a leader isn't about having people report to you on an organizational chart
    • It's about inspiring and motivating those around you
    • 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
    • Transformational leadership is essential for:
      • Establishing and supporting generative and high-trust cultural norms
      • Creating technologies that enable developer productivity, reducing code deployment lead times and supporting more reliable infrastructures
      • Supporting team experimentation and innovation, and creating and implementing better products faster
      • Working across organizational silos to achieve strategic alignment
    • Engaged leadership is essential for successful DevOps transformations
    • Leaders have the authority and budget to
      • Make the large-scale changes that are often needed
      • Provide air cover when a transformation is underway
      • Change the incentives of entire groups of technical professionals
    • Leaders are those who set the tone of the organization and reinforce the desired cultural norms
    • The five characteristics of a transformational leader are:
      • Vision: Has a clear understanding of where the organization is going and where it should be in 5 years
      • Inspirational communication: Communicates in a way that inspires and motivates, even in an uncertain or changing environment
      • Intellectual stimulation: Challenges followers to think about problems in new ways
      • Supportive leadership: Demonstrates care and consideration of followers' personal needs and feelings
      • Personal recognition: Praises and acknowledges achievement of goals and improvements in work quality; personally compliments others when they do outstanding work
    • What is transformational leadership?
      • 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
    • Teams that report leadership in the bottom one-third of leadership strength are only half as likely to be high performers
    • Transformational leadership is highly correlated with employee Net Promoter Score
    • Leadership helps build great teams, great technology, and great organizations - but indirectly
    • Transformational leaders act as an amplifier to the effectiveness of the technical and organization practices discussed thus far
  • The role of managers
    • We see that leaders play a critical role in any technology transformation
    • When those leaders are managers, they may have an even bigger role in affecting change
    • Managers play a critical role in connecting the strategic objectives of the business to the work their teams do
    • Managers can do a lot to improve their team's performance by
      • Creating a work environment where employees feel safe
      • Investing in developing the capabilities of their people
      • Removing obstacles to work
      • Taking measures to make deployments less painful
      • Making performance metrics visible and taking pains to align these with organizational goals
      • Delegating more authority to their employees
    • Knowledge is power, and you should give power to those who have the knowledge
    • How can technology leaders invest in their teams?
      • 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" where participants self-organize to propose and facilitate their own sessions
      • Give staff dedicated time, such as 20% time or several days after a release, to experiment with new tools and technologies
      • Allocate budget and infrastructure for special projects
  • Tips to improve culture and support your teams
    • The most valuable work they can do is growing and supporting a strong organizational culture among those they serve: their teams
    • Three things are highly correlated with software delivery performance and contribute to a strong team culture:
      • Cross-functional collaboration
      • A climate for learning
      • Tools
    • Enable cross-functional collaboration by:
      • Building trust with your counterparts on other teams
      • Encouraging practitioners to move between departments
      • Actively seeking, encouraging, and rewarding work that facilitates collaboration
    • Help create a climate of learning by:
      • Creating a training budget and advocating for it internally
      • Making it safe to fail
      • Creating opportunities and spaces to share information
    • Make effective use of tools:
      • Make sure your team can choose their tools
      • Make monitoring a priority