The lack of a software delivery system for executives has resulted in our industry struggling mightily with failed software projects. On average half of projects still fail (failure is defined as the executive who authorized the budget wishing that he hadn’t). The project is so over budget in this case, and so off schedule, that the company would have been better off having never started it.
Even in the middle of these projects, executives can feel powerless to abort it, for fear of the sunken costs. They’ve put so much money into it. And without knowing the right questions to ask and the right reports to demand, the executive in charge doesn’t feel in charge at all.
The executive is left choosing between just trusting the team as it goes on and on, or perhaps exercising a nuclear option, firing the entire team and canceling the entire project, having nothing to show for it.
A System for Executives Leading a Software Team
If you’re an executive leading a software group, I want to equip you with the tools to do that well. If you work on a software team, use this advice to give your executives, so they have the information they need to know that the project is on track. Then they will have insight to know what the team needs to do a good job. For the remainder of this post, I’ll speak to you, the executive.
Even though some of you have never programmed any code before in your life, you are running a software team. Their success is going to steer your future career, so this is important. Don’t keep going on faith. Don’t proceed merely trusting that someone is going to do the right job, or that someone else reporting to you knows how to do your job as the overseer.
I’m going to give you the questions to ask, the tools to use, and the practices to deploy so that you can safely guide your software project to success. Most importantly, if your current software project is veering toward failure, this system for executives is going to empower you to stop the bleeding and get it back on track.
How Executives Lead Efficient Teams
I want to paint a mental picture and model for you.
Think of every other department in the company. Think of every group, every team, and every branch in the org chart. Each one of them is responsible for delivering some output valuable to the business, and each of these teams also needs inputs to deliver those results. If the outputs are not delivered, the team’s leader is typically replaced. That’s just how it goes. The leaders who excel are the ones who can set up the team members for success using a system for executives.
Imagine a factory is arranged well and operates efficiently every single day in a safe manner. The assembly line flows at a good speed with incoming materials being delivered at the right cadence to keep it going.
Quality issues are prevented and possible ones are detected very early. Hourly and daily throughput measures are tallied and reported up the management chain. Quality and throughput measures are paired with acceptable thresholds and established as a standard with better numbers as stretch targets.
Then, the executive in charge ensures that the factory or assembly line is organized in a way where each team member understands the job and what activities they’re going to take to meet the targets.
Self-Organizing Teams Lead to Inefficiencies
What we don’t do is declare a building to be the manufacturing plant, then just ask the team to come to work inside it one day, coming back and checking a month later. The people we staff on the team are typically not the same needed to design the process for how the team should work. A factory would never work that way!
In software, Scrum has done the industry a big disservice by spreading the notion of self-organizing teams as an absolute. Even the Certified Scrum Masters are trained to ask the team what they want to do and then work to remove blocking issues. That is highly simplified, I know, but I’ve been certified as a Certified Scrum Master; I’ve been through it earlier in my career. Then the scrum master works to remove blocking issues to get the team down the road. This isn’t leadership.
Only when a team is working efficiently can the lower-level details be turned over for self-organization. An appropriate leader, that’s you, is always necessary to put the overall structure in place for the team so that real measurable throughput can build momentum.
Lead with Less Risk with this System for Executives
I started with that factory and assembly line analogy, and many knowledge workers will rightfully object that the nature of work in software is different. And, it is.
Early in my career, I was one of the self-organization promoters. I was banging the drum about knowledge work being inestimable or unmeasurable. But, speaking for myself, what I liked most about that message was that it gave me space to dive into the work without having to report up as much. It gives me more space as a programmer.
But what it didn’t produce was less risk for the executive, the executive who authorized the project’s budget in the first place. So, this challenge exists in all the fields of knowledge work as well like managerial accounting and CPAs. They also have tough problems that don’t have just rote solutions. Rote solutions have been automated away by good accounting software. But if your CPA takes forever to figure something out, and then bills you twice as much as you budgeted, then you still have a problem.
Sales is also another area that has some similarities with the “magic of software development”. You want a certain pace of sales, and the staff just wants to get to work and start selling. However seasoned sales executives who are overseeing the sales team know that without a good sales team process, the closed sales are not going to happen. Even enterprise sales can take three to six months or longer. The executive doesn’t rely on the “trust me” message from the sales rep. Good sales executive leaders put in place processes with measures, like the number of leads contacted, the number of meetings, the number of emails, phone calls, networking events, and the like.
Simplify by Using This System for Executives
My goal in this post is to suggest a system for executives that we dispense with any notion that software is too complex to be managed. I’ve been managing programmers for 17 years and was an individual programmer long before that.
All we must do is raise the conversation from the technical jargon and we can get to a place of business language, where all the executive tools still apply. Whether you’d like to use OKRs, the EOS L-10 meetings with a scorecard, or just regular weekly metrics, you can apply these oversight methods to your software team.
Do you want to empower your software team
to be effective:
moving fast with high quality?
Your Software Team Can Be a Huge Asset to Your Company
After you apply this system for executives, your work is not done. While you’re enjoying your high-performing team, you must stay vigilant. Recognize when you need to go back and redo some of the parts of the process.
When you add a person to the team or when a person leaves the team, back up to skills assessment and skills inventory. Review the team alignment template and allow the now changed team to form again, storm again, and norm again so that they can perform again.
Keep them equipped. Make sure that every member of your team has an avenue for ongoing professional development. Keep measuring the team, after all, A-players look forward to the report card.
Create an environment where A-players can celebrate. While your less-than-A-players will probably self-select themselves out. But when you identify a B-player, craft a professional development plan with them so that they become an A-player. Your A-players want to work with other A-players and they want to work in an area where it’s normal to succeed. The working environment that you’ve crafted for them is going to empower them to succeed and they won’t want to work anywhere else.
You will have crafted a team with longevity that has established quality, achieved stability and is increasing its speed of delivery each day.
I just want to let you know that you have what it takes to oversee your team as a software executive. You can do it by implementing these principles. Leading your team with a scorecard of relevant measures and putting into place these team practices. You will have a team that is an asset to your business. I know you can do it, and we’re here to guide you. May God grant you wisdom as you lead your team.