6 Leadership Lessons from Software Development
If you have a smartphone, which statistics suggest that most of you do, then you are very familiar with messages letting you know that “an update is available” for the phone itself or one of the dozens of apps that likely live on your phone. It seems like there is an update for something on my phone nearly everyday.
If you are a little on the obsessive-compulsive side it can drive you nuts. Five minutes after you finally get the number in the red circle on your iPhone to disappear, it’s back.
As users of smartphones and tablets, we have become much more aware of the constant tweaking, updating, and bug-fixing that goes into software development.
But have you ever thought about what software development can teach us about leadership development? Here are six lessons that I have learned.
1. Leadership’s minimum viable product.
In creating new software applications and getting them off the ground, there is a phrase used…minimum viable product. Developers ask themselves, “What is the minimum functionality the application needs in order to be useful and viable?” It is a question that is used to focus efforts and resources on the most important features the application will require and avoid pouring resources into bells and whistles.
In the same way, you, as a leader, will likely start small as well. CEOs don’t start as CEOs. They start in the lower ranks of the company, lead well from where they are, prove themselves, and ultimately find, or are given, opportunities to lead larger and larger segments of the organization.
Leadership starts where you are, not where you want to be. Do you want to grow as a leader and be given greater responsibility? Then spend time figuring out how you can lead well from where you are.
2. Leadership is an iterative process.
For software to continue to hold marketshare, it must continue to iterate. It must incrementally add features, improve the UI, become more intuitive, etc. When you stop seeing updates for a software product, it’s more than likely that it is on its way out.
The same is true for leaders. In order to continue to lead well, you must always be be improving your skills, learning from experiences, and growing your overall leadership. When you stop iterating as a leader, you are, practically speaking, on your way out.
And like software, those iterations in your leadership may be small, otherwise unobservable tweaks that often go unnoticed much like “bug fixes” in software. Or they may be more substantial shifts in your leadership perspective that change many aspects of how you lead.
Are you in need of a “bug fix” or are you ready for “version 2.0”? What can you do next to improve, learn, and grow?
3. Developing a leadership roadmap.
Software developers often follow a roadmap of what features or changes are planned in the future. It’s prioritized around key improvements and added features so teams of developers know where to focus their efforts. These roadmaps are often heavily influenced by feedback from end users.
Leadership is the same. If you want to continue to improve and grow as a leader, you need to plan a path in order for that growth to take place. You need to determine what “features” you want to improve, what development opportunities are available, and plan your route. This might be reading books, attending conferences, formal course work, or working with a consultant or coach. There are many potential paths for development. But you need one. One that takes you where you want to go. Do you have a roadmap?
You, as a leader, also need feedback from your “end users.” Do you have mechanisms in place for feedback from direct reports, employees, mentors, and others that work with you closely? Do you have someone in your circle who can honestly critique your leadership?
4. Leadership sprints.
In software, developers work hard on smaller, defined pieces in shorter sprints. They break down the needed pieces of the roadmap and hit them hard in a logical order. How do you eat an elephant? One bite at a time.
Leadership is the same. You have to tackle the big picture goal by breaking it down into smaller goals, and perhaps break each of those smaller goals down even further. Then you can tackle them one at a time in a logical order. If you try to do everything at once, you’ll do everything at a mediocre level.
What piece of your roadmap do you need to focus on next?
5. Leadership support.
If you build software, you have to be ready to support it. At the very least, you have to be ready to maintain and fix issues that arise while you are also working on the next iteration.
You need support as you develop as a leader as well. One of the best things you can do is build a network of older and wiser mentors, as well as peers, that you can turn to when you need them. Find people who have been there or are currently “walking in your shoes” and can speak wisdom into the decisions you must make in order to lead well. One day your leadership will “break” for one reason or another and having a support system in place will make the difference between pushing through or giving up.
Where is your support as a leader? Do you have one or more people you can turn to for direction, advice, and encouragement?
6. Leadership development is never really finished.
Software is never finished. Even if the product is intentionally focused on a narrow feature set, operating systems and design preferences change and software must be updated accordingly even if new features aren’t being added.
As a leader, you never really arrive either. There are undoubtedly phases of leadership, but these phases vary from leader to leader based on your own personality and skill, as well as the nature and growth of your organization and the field in which you work. But as you lead through phases, you continue to learn, change, and grow (hopefully).
You never arrive. You simply continue to iterate.
Keep on developing.
“Successful leaders grow and change first. Leaders who aren’t growing and changing are on a slow march to oblivion.” ~ Dan Rockwell
As a leader, it is important to lead well from where you are. But don’t become satisfied with the status quo of either your own development or that or your organization.
-How have you incorporated these ideas into your own leadership development? Which one will you focus on next?