Published: September 08, 2022 • 2 min read
How do you introduce new ideas and ways of working? We want to bring a new idea to our engineering teams, such as a new command-line configuration, testing tool, or design pattern. But engineers can be discerning customers, and set in our ways. Ideas need to be able to stand on their own, and also, the presentation matters.
Here are some approaches that I’ve tried to introduce new ideas to a team. Combine them all, and you’re on a good path.
Before pitching an idea to your team, figure out why you want to do it.
What problem is it solving? Who is it helping? What’s lacking that this idea addresses?
If you solidify the “why” and can explain it, you might even start to get advocates for it.
One of the best ways to refine an idea is to try it yourself.
A new command-line function? Add it to your dotfile and leave it for a week. A new testing tool? Write a real test and prove why it’s great. A new design pattern? Build something small and open the code up for critique.
When you try it yourself, you’ll learn firsthand what works and what doesn’t. You’ll raise counterarguments, and if it’s a good idea, find ways to address them. When you pitch the idea to others it will be stronger.
Try to find weaknesses in your idea!
One of my favorite questions to ask is “What’s wrong with this idea?” People in a hierarchy don’t want to criticize. They’ll withhold valuable data unless they are invited to share and feel comfortable doing so. That pushback is the most valuable thing you can hear.
This is similar to Paul Saffo’s “strong opinions, weakly held.” If you assume that there is an ideal solution to your problem, then finding flaws in your idea is good, because abandoning it gets you closer to the ideal.
In the spirit of The Lean Startup, treat ideas as experiments and make them easy to try, keep, or abandon.
For that command-line function, try it yourself. The testing tool, write a small test and use CI to share its results with others. For the design pattern, build something small and think about how you would maintain it.
Celebrate innovation, even when it fails. Convince yourself that it could be better and that a great idea can come from anyone.
I hope these approaches help you introduce new ideas to a team. How do you bring change to your organization?
What are your thoughts on this? Let me know!
Get better at programming by learning with me! Join my 100+ subscribers receiving weekly ideas, creations, and curated resources from across the world of programming.