Those are some pretty strong words.
So I’ll ask the CEO, “Why do you suspect that? What are you seeing?”
And I’ll hear things like:
- The software development team isn’t producing results
- They’re not delivering all the features we need
- Projects end up way over time and budget
- Schedules are unreliable
- Products are filled with bugs
- Morale is low
And sure, all of those things could be the CTO’s fault. But in my 30+ years of experience, that’s seldom the case. Each time I’ve encountered this situation, the cause of the problems could almost always be traced to three missing ingredients:
- Lack of support
- Lack of training
- Lack of trust
Here’s the good news: If you’re the CEO, you can fix all that!
These problems aren’t insurmountable. They represent a fundamental disconnect between business and technology leaders worldwide. In this post, I’m going to share some ideas to help you bridge that gap.
Give Your CTO a Clear Direction
What message have you been sending your CTO?
Get it done, most likely. And perhaps other, more negative feedback regarding the lack of performance and results from his software development team. Which causes your CTO to get defensive and … well, you get the picture.
You expect your CTO to make all these technology decisions. But sometimes his hands are tied. Why? Because he’s assuming that inherent lack of support, lack of training, and lack of trust and doesn’t fight it. So he works with what he has and does the best he and his team can under the circumstances.
But the CEO can break down those barriers. You can provide the support and training your CTO needs to empower his people. And once you start providing that, you’ll start building that third elusive element – trust.
So how do you go about doing that? Here’s a suggestion for one “clear direction” to give your CTO: adopt Agile development methods.
Approaching Agile Development from a CEO Mindset
Because when it comes to commercial software development, Agile is faster to market, more responsive to customers, and empowers your people to do better work. All wins for you as the CEO. But the last one might be the most important.
Agile relies on an empowered development team. They estimate their workload. They set their schedules. They take ownership of their results.
Plus, we’re not just talking about teams of software engineers. We’re talking about fully cross-functional development teams drawn from multiple areas of the business. Which means your business and technology staffs will be working hand-in-hand in ways you might not have imagined before.
Your job as CEO is to provide the freedom and support to make those changes. And then watch as your teams begin to produce better business results.
Eliminate the Command-and-Control Structure
One of the most counter-productive elements of old-school development methods is the command-and-control structure.
The CEO orders the CTO. The business team orders the project team. The project manager orders the development team. It doesn’t matter exactly how these orders filter down – the end-result is that each rung of the ladder is providing as much structure and direction as it possibly can to everyone below.
Of course, this was meant to “help” the people on each rung achieve their goals. But what it really did was allow leaders who were not doing the work – and perhaps didn’t even understand it – to set the goals and workloads for the people who were doing it. It told people not only what to do, but how to do it.
Agile development stands that notion on its head.
Instead of dictating what your software development team should be doing every step of the way, you’re communicating needs and priorities. You’re letting the people who know those jobs best to set their goals and deliverables. Instead of imposing structure on them, you’re empowering them to analyze and evaluate their own work.
A great example of this transformation can be found in comparing old-school project managers to Agile ScrumMasters. The traditional project manager creates an entire project plan, matches every employee to their individual workload, and then manages each member of the team to make sure they’re on schedule.
The ScrumMaster, on the other hand, takes an entirely different approach. The ScrumMaster’s role is not to manage the project at all. Instead, the ScrumMaster becomes the facilitator of the project. Instead of managing the development team, the ScrumMaster serves as coach, translator, umpire, and even therapist. With the support of the ScrumMaster, your software development team learns to manage itself more effectively than a project manager ever could.
Provide and Encourage Proper Training
A transformation like Agile development is not easy, of course. Most companies that try to do it without formal training fail … or at least never realize its full benefits.
That’s where your job as CEO is vital. If you want your development team to succeed, you should start with a commitment in the form of proper training. Every member of your commercial software development team should go through this training. And remember, this is not just your software engineers … this is the whole cross-functional team.
But I suggest you take it one step further.
You, the CEO, should attend this training, too.
That way you set the tone for your entire company. You set the tone for your CTO. You set the tone for the business leaders appointing members to those cross-functional development teams. And, most importantly, you start building that bridge of trust.
Don’t worry … Agile and Scrum training is about a process that delivers business results, not technology. You won’t be sitting with your eyes glazed listening to lectures on system architecture and code. Instead, you’ll be connecting with and building your team.
Set Reasonable Metrics and Expectations
You’re not just handing over the reins of the company, of course. You’re the CEO. You need to have control over what your technology team works on. You need clear metrics of their performance and progress.
- How much “stuff” is getting done (based on the team’s workload-weighted rankings)
- Velocity, or how much “stuff” is getting done over time
- Number of shippable features produced versus the length of each development sprint
Metrics like these give you more visibility into the progress of your commercial software development. That visibility, in turn, will lead to more accurate forecasting of the schedule and better windows for your strategic planning.
With Agile’s shorter sprint cycles and the focus on shippable features, you’ll have more measurable data on the performance of each commercial software development team than you ever had before.
You Can Make the Difference
So when you ask me if your CTO is responsible for your commercial software development woes … my answer will be, “Probably not.”
Instead, I’ll point out that fundamental disconnect between business and technology leaders. As CEO, you – and perhaps only you – have the ability to fix that. So before you suspect your CTO of failure, make sure you’re putting her in a position to succeed.
Provide the support she needs to begin the Agile transformation. Encourage proper training for your entire team … and make a point to experience it with them.
What you’ll discover is a process that naturally rebuilds trust between business and technology leaders. A process that bridges those fundamental gaps, which hold other companies back. And a process that leads to incredible personal growth within your organization — growth that translates into bottom-line results.
You’re the CEO. Only you can make that difference.