Over the past 25 years since the original CHAOS report was published, it has demonstrated year after year that more than 80% of software projects struggle to succeed. That means only 20% of software projects are “winning”. While there are many reasons for this, one critical piece causing issues is the lack of a software leader pulling their team together to win.
“The way a team plays as a whole determines its success. You may have the greatest bunch of individual stars in the world, but if they don’t play together, the club won’t be worth a dime.” —Babe Ruth
Regardless of what team you are talking about, leadership is the key to what brings a team together to win. If you aren’t winning, then you are losing.
Moreover, losing means you are losing time and money, in the realm of software delivery … and ultimately confidence in your team’s capabilities is declining.
Are you a Software Leader?
Software leaders play a critical role in software delivery and have a background in “shipping software”. They are a programmer or were a programmer at some point in time. A software leader can oversee the work of one other person or an entire team. A software leader runs the team that is delivering software.
Some reading this might be wondering if they are classified as a software leader. It is common for individuals – over the span of their careers – to be assigned roles such as Development Manager, Lead Engineer, Chief Architect, Software Manager, or Project Manager. Each of these assignments would insinuate that the individual has been placed into a position of leadership.
However, it is critical to know that just because an individual has one of these titles, they may not yet be filling the shoes of a leader.
If there is a background in software delivery, a software leader will likely understand the steps to produce software. However, establishing yourself as a leader in software delivery requires a different set of skills and knowledge. Establishing yourself as a leader sets you apart from others on your teams and elevates you into a position of influence to get the work done.
“Everything rises and falls on leadership, but knowing how to lead is only half the battle. Understanding leadership and actually leading are two different activities.” —Dr. John C. Maxwell
The Architect Forum has been created for Software Architects to discuss successfully leading a software engineering team using the Clear Measure Way. Sign up here.
Qualities of a Software Leader
There’s proof that a great leader makes a difference. But how does that translate into what it takes to be able to be a great Software Leader?
With an attitude of mutual respect, consistency, firmness, and humbleness, leaders gain the respect of their teams. Opportunities for doing this exist in every interaction you have during your days. As a leader, you also have the responsibility of being the person that sets expectations and boundaries for your team.
For example, leading a team to deliver software requires you to …
- be able to set the vision, set the targets, and prioritize work.
- set the boundaries within which your team will focus in order to deliver software as fast as possible with the highest level of quality.
- create opportunities for accountability amongst your team members.
Responsibilities of a Software Leader
As you own your role as a software leader, there are some high-level responsibilities that you must become comfortable and confident with:
Form your team
Whether you inherited a team or are forming it from scratch, you must make sure it has the capabilities required for the job. Aim to set a standard of “A” Player behavior on your team. “A” Players love being measured. They intrinsically work for the grade. “C” players don’t want to be measured. “A” Players will course correct and press on to achieve the targets set for them
Equip your team
From computers to tools to processes, you must make sure your team has everything necessary to succeed.
Design the working environment
The team needs an environment in which to work. This includes where work activities take place and where finished products flow. Virtual spaces are still part of the environment.
Set vision and targets
Your people need a clear shared vision. And they need targets that are close enough to see.
Prioritize the work
The team needs the work to be in a clear sequence. Research has shown that 2/3 of prioritized work normally is of little value to software users. Picking the right 1/3 makes a difference.
Measure the team
Every team member should be responsible for reporting out measurables that are indicative of short-term successes and opportunities for improvement.
Monitor and adjust
Over time, the metrics collected will yield areas that need to be adjusted at micro- and macro-levels. At a micro-level, every member should be able to identify where they missed a mark, and give potential solutions for getting on target, or collaborating to find a better solution. It is up to the leader to know or adjust so that the correct path is being pursued.
Strengthen your team
Every team member needs a professional development path. Don’t expect each team member to automatically do that for themselves.
Communicate Upward and Downward
The responsibility falls on the software leader to be able to communicate with the stakeholders to understand the customer requirements and how the software solution is expected to perform.
Therefore, with a background in delivering software, there will be a more clear translation of the vision developers can understand. Software leaders can communicate what is expected and how each player is expected to participate in their specific role.
At various stages of our lives, each of us has been led in groups or teams – and likely you could quickly name characteristics of the leaders that you wanted to follow and characteristics of the leaders you did not want to follow.
Furthermore, some of us may have had the rare opportunity to work with a great leader: a leader that can change the course of the team, one that can drive a team to produce excellent results.
From a Military Point of View
In the following example, adapted from the Business Insider article in October 2016 by Richard Feloni, you can see proof that under the most strenuous conditions, leadership matters. Leif Babin, Navy SEAL platoon leader in the most decorated special-operations unit of the Iraq War, learned a profound lesson about leadership: “There are no bad teams, only bad leaders.”
He proved this during his time as a Hell Week instructor for Basic Underwater Demolition/SEAL training (BUD/S). During an exercise of a harsh string of races that involved running with the boat and paddling it in the ocean between boat crews of SEAL candidates, there was a team that came in first and another in last nearly every time. The instructors chose to switch the leaders of the best and worst teams. The results spoke volumes.
Under new leadership, the formerly great team did relatively well but was a shadow of its past self, and the formerly terrible team placed first in nearly every race.
The once great team had practiced enough with each other to accomplish something even under bad management, but the bad leaders were unable to command respect or maintain synchronicity.
Meanwhile, the excellent leader had taken his new team from last to first by getting them to believe that they were just as capable as his former team, and that bickering with each other during the exercise would not be tolerated.Feloni. (2016, October 1). Former Navy SEAL commanders explain why “there are no bad teams, only bad leaders.” Business Insider. https://www.businessinsider.com/former-navy-seals-no-bad-teams-only-bad-leaders-2016-9
It Doesn’t Have to be Lonely at the Top
As a software leader, you have to realize that NOBODY is focusing on this role and the success of this role in this specific way. This is why community is so important.
Are you looking for a place to learn, grow as a leader and get answers to your biggest questions about leading software delivery teams?
Discuss real questions and topics with other Software Leaders about delivering quality, achieving stability, and moving fast. Listen to what others want to know. Hear what your peers and Clear Measure software leaders, led by Chief Architect Jeffrey Palermo, have to say about it by joining one of our monthly calls:
- The Architect Forum has been created for Software Architects to discuss successfully leading a software engineering team using the Clear Measure Way.
- The Software Engineer Forum (now combined with Architect Forums) has been created for .NET engineers to discuss what it takes to implement engineering practices found in the Clear Measure Way.
These calls were created specifically for software leaders such as yourself.