While DevOps is widely recognized for streamlining software delivery and boosting quality, creating a truly effective team goes beyond implementing a single tool. It's a strategic combination of the right elements: culture, processes, collaboration, and technology. This article explores the critical components of a high-performing DevOps team and provides insights on how organizations can integrate them for optimal results.
For this Q&A, we’ve talked to David Brooks, Senior Vice President of Evangelism at Copado. A 35-year veteran of Silicon Valley, he joined Copado in 2018 to create the Product Management practice and led the product team for four years. Brooks joined Salesforce.com in 2005 to launch the AppExchange. As Vice President of Product, he led teams that built the Force.com platform during his nine-year tenure at Salesforce.
Thank you so much for talking to us! Before we dive in, will you share your backstory?
I earned my Master’s Degree in Electrical Engineering from Auburn University in 1984. My thesis project was a Fault Tolerant Multiprocessor Operating System for Ballistic Missile Defense.
I moved to Silicon Valley, working for eight startup companies with successful exits from three so far. I also joined Salesforce just after they went public in 2005. I led the teams that launched AppExchange and then the Salesforce platform. I have mostly held senior leadership roles in engineering and product management, although I was the founder and CEO of two companies.
None of us can achieve success without some help along the way. Is there a particular person who helped get you to where you are?
There are two significant people. Chuck Comiso was the CEO of Link Technologies, where I ran product development. He was an old-school HP manager. Chuck taught me quite a lot about managing people. Ted Elliott was the CEO of JobScience and is the CEO of Copado today. Ted taught me how to focus on the important things and what it takes to grow a startup company.
What three strengths, skills, or characteristics helped you reach this place in your career? How can others actively build these areas within themselves?
Curiosity, communication, and creativity. I am naturally curious and a lifelong learner, a gift I appreciate the most. I also have the ability to communicate with people in a way they can understand. I speak Chinese and have learned to be patient with people who speak English as a second language. This also translates into explaining technical ideas to non-technical people.
People often are so busy planning what they want to say next that they miss the core issue in a conversation. Finally, because I have such a wide interest, I am able to put ideas together in novel ways. So my creativity is more of an ability to synthesize lots of information into a new application.
Which skills are you still trying to grow now?
It would have to be communications. I recently moved into a new role as a Technical Evangelist, which requires me to up my game in communicating the core ideas that make Copado different. I am also leading our effort in China, so my Chinese will be put to the test.
Let’s talk about having a successful DevOps team. What key goals might a DevOps team identify for a digital transformation journey?
I think clarity and respect are paramount. Getting clear on what needs to be done is a matter of priority, and it clearly defines the individual user stories and features. A great product manager should be able to communicate the “what” and the “why.”
It starts by deeply understanding the “why” and then making sure the development and testing teams understand it, too. There must be mutual respect among the team members, wherein each believes their opinions are valued and their concerns are heard. But then, each member of the team must deliver on their responsibilities and earn that trust in every sprint.
Are there any challenges or common pitfalls that DevOps teams should consider?
Too often, a product owner does a poor job of understanding users' needs—not what they asked for, but what they need. I was always taught to ask “why?” five times. Then, you will understand what is truly needed and be able to communicate that to the rest of the team.
The other challenge is when team members are not candid about disagreements. I’ve seen developers tell a PM that something was technically not possible just because they didn’t think it was the right thing to do. Every team member should feel their opinion is valued and speak up when they disagree. Ultimately, the team leader must make a decision, and the rest of the team needs to get behind it.
How can effective collaboration and communication among team members enhance the productivity and success of a DevOps team, and what practices can facilitate this?
Candid, open communication in which everyone’s opinion is valued, and everyone has the opportunity to be heard is so important. Understanding the why is also important. If a team member sees a better way to deliver on the requirement, the team should be open to the idea. This often results in a better solution delivered in less time.
What role does CI/CD play in DevOps, and what are the best practices for implementing CI/CD pipelines to ensure a seamless and reliable software release process?
CI/CD is all about releasing many small changes. It starts with defining User Stories in a way that they can be realized in hours, not days, and released to the next stage without breaking things. Automated functional and security testing is critical as well.
Teams should embrace test-driven development so that functionality can flow quickly through the pipeline. Quality gates should be established at each stage to ensure a change cannot proceed unless it is complete. True CI/CD into production is not practical in some heavily regulated industries, but that shouldn’t prevent the practice for all of the stages short of production.
How does fostering a DevOps culture and mindset contribute to a team's overall success, and what strategies can organizations use to promote this culture among their development and operations teams?
A DevOps mindset means that all the members of the team have a common goal of delivering quality work all the way into production. Developers can’t think their job is done when they push changes into the repository. Quality is not a single person's job; it is the responsibility of every team member. This, combined with trust and openness to continuous improvement, makes the team successful.
What are the essential components of a successful DevOps team?
1 . Mutual Trust—Earlier in my career, I worked in a team where team members did not trust each other fully. They constantly second-guessed others’ decisions and secretly made changes to “correct” problems. This slowed development and made working in the team very unpleasant.
2 . Commitment to Team Goals - Effective teamwork thrives on shared goals. In my experience, the most successful teams go beyond individual accomplishments. I've witnessed lead developers who, after swiftly finishing their tasks, offer guidance and support to junior programmers. This collaborative spirit extended further, with developers aiding test engineers in completing test automation. As a result, this team consistently delivered on their commitments and maintained a positive working environment
3 . Clear Communications - A lot of wasted time and energy can happen when the team does not communicate well. This starts with a proper understanding of the goals. When I started with agile methodology in 2006, I felt the sprint planning meetings were too long, and the daily standups were silly. It didn’t help that I had to wear a rooster picture during the meeting to remind me that I was an observer and unable to speak.
In retrospect, I understand the importance of keeping those meetings short, but there were missed opportunities to clarify points. Later in my career, we used daily standups to clarify questions. You don’t want to get to the end of the sprint only to find out you built something incorrect.
4 . Continuous Improvement - No two teams are the same, and no single process will work for every team. The Lean Manufacturing movement empowered the workers on an assembly line to change the process to make it more efficient. They ran experiments and determined if the changes made things better or worse. The same applies to software development processes. The team should measure the results using tools like Value Stream Mapping to understand the actual issues, then be willing to change the process to one that makes sense and still fits the corporate compliance rules.
5 . Safe Space for New Ideas - The only way you get all team members to share their ideas is if they feel safe doing it. There is no such thing as a stupid question or idea. Often, an idea will appear impossible to implement, but if you question long-standing practices, you will find that nobody knows why they were put in place. The worst answer I ever heard was, “Because we always do it this way.” The need for continuous improvement means you must be open to new ways of thinking. You may reject 90% of the new ideas, but those 10% can have a significant impact.
-
New Relic
This is an aggregated rating for this tool including ratings from Crozdesk users and ratings from other sites.4.3 -
ManageEngine Applications Manager
This is an aggregated rating for this tool including ratings from Crozdesk users and ratings from other sites.4.3 -
Dynatrace
This is an aggregated rating for this tool including ratings from Crozdesk users and ratings from other sites.4.5
What emerging trends do you foresee in the landscape of DevOps that could significantly impact digital transformation strategies in the future?
Generative AI, without a doubt. The use of Copilot products to generate code and test scripts will significantly boost productivity. But you have to start with a good set of requirements, so you will see considerable improvements in tools to help with planning.
Most of our future efforts will be focused on ensuring we do the right things and understand the impact and dependencies. GenAI will make documenting a release easier and will uplevel our ability to support end users by generating help services that are real-time and up-to-date with the current state of the apps.
If you could inspire a movement that would do the most good for the greatest number of people, what would that be?
Wow! I think it all comes back to some pretty basic principles. Treat others how you want to be treated, i.e., respect each other. Take responsibility for your commitments and deliver what you promise, i.e., integrity. Focus on the success of your stakeholders; make them successful and earn their trust.
Takeaways
Building a high-performing DevOps team requires a deliberate and ongoing effort. By prioritizing the key components—culture, processes, collaboration, and technology—organizations can unlock DevOps's full potential.
- Assess your current state and identify areas for improvement.
- Invest in training and workshops to foster a collaborative DevOps culture.
- Implement tools and automate processes to streamline workflows.
- Continuously measure progress and adapt your approach based on results.
For more interviews and DevOps insights, subscribe to The CTO Club's newsletter.