So, here we go with our first Interview in the series: Today, we are speaking with Joe Campbell.
Joe is currently our Director of Engineering at CirrusLabs. Over his 20 year career, Joe has led Enterprise DevOps for organizations such as Comcast and ING Direct. He has built continuous delivery capabilities and significantly improved ROI by enabling software deployment into production by the push of a button. He has also led expansion of system use to track the software development effort from ‘cradle to grave’.
Part 1: Leadership challenges, continuous integration and deployment, and autoscaling
1. What has been your greatest leadership challenge? (Submitted by Jeff, Executive Coach.)
My greatest leadership challenge has been understanding that leadership doesn’t equal control. I am no more in control of people than they are of me and my actions. A fair number of groups I have worked with have a hard time trusting that good things can happen when you let individuals develop a sense of purpose, autonomy and mastery of the work that they are doing. Great work product is generated anywhere when you clear enough space for it to happen.
2. What are the best practices, tools to help teams with continuous integration and deployment? (Submitted by Cuneyt, Marketing and Product Strategy professional)
First, I feel that best practices isn’t really a good way to think about things, but rather to think about what are other practices – other than what we are doing now, that could improve how things are getting done for our organization. There isn’t a “best fit” in all cases, but there are good things to be gotten from the things that people are doing that are working. Just recognize that just because it works for one, it may not work for you.
For continuous integration, building or buying a system that supports workflow building and management, things like IBM’s uBuild+uDeploy, Jenkins with enterprise workflow plug-ins...
For continuous deployment, there are many different ways to go, for example, uDeploy, Jenkins, shell scripts, chef, ansible, too many to list. What’s important is to balance the needs with the implementation so as to enable further speed with safety within the organization and keep the focus on overall improvements.
3. What are some best practices for autoscaling/configuring large infrastructures with teams who have their own tools for their apps? (Submitted by Keith, self-described software geek)
In most cases, geo-distributed teams have already built their own process with self-selected tools that work with their app. Geo-distribution, in some respects, matters less than shared understanding of a team of people working together. Team norms, shared vision, shared definitions become vital for distributed teams. These contribute to everyone feeling like they are rowing in the same direction and that what they are doing is important. The team needs to be on the same page on how they manage and submit code, how they review, how they have visibility across the team – knowledge for what is happening 'right now' is vital!
Now it’s your turn: What do you think? Post your comments below and join the discussion!
Would you like to seek Joe’s advice in private? Email firstname.lastname@example.org to schedule a free introductory consultation.
CirrusLabs® is a management consultancy firm specializing in guiding medium-to-large scale organizations in their transformation to Continuous Business Value Delivery® through use of lean thinking and agile frameworks.