Leading Software Teams with Systems Thinking
Leading a software team is a great challenge. It’s a group composed of highly skilled people with different profiles and aspirations who somehow still need to achieve a single objective. So how does one succeed at this task?
In my career, I have been working on this question for a while. First, as a consultant helping client teams improve their practice and results. Then as a startup founder, managing a team I was footing the bill for. And lately, as a manager, working within product companies delivering to their customers.
Throughout this time, I have focused on an approach centered around the work. Managing the systems in the team to make people within it successful instead of the other way around. Systems thinking is not a new concept, but it is often overlooked in the tech industry.
A bad system will beat a good person every time (W. Deming)
I am writing a series about the topic to organize my thoughts and consolidate advice that I find myself giving often. The focus is on how to lead software teams with systems thinking, looking at the system to solve common challenges in software engineering.
I hope you enjoy it! And please send your feedback and opinions my way.
The Engineering Manager’s Role
Systemic Leadership Principles & Strategy
- There is always a System
- The Systems within a Software Team
- The Engineering Manager’s Tools
- Project Leadership & Collaboration
- Influencing as an Engineering Manager
- Principles for Using Metrics in Engineering Management
- Product Management for Engineering Managers
- To Write or Not to Write (Code)?
- Strategy for Engineering Managers
- Avoiding Bureaucracy — How to Make Process Improvement Effective