Accelerate your Team By Improving Fundamentals
Most software teams are built on mediocre advice- you can do better!
The picture below is just an average stats joke.
I have seen two types of teams. Those that run like clockwork on gut feeling and experience. And those that run on fashionable advice and impulsive behavior.
Which ones do you think are more successful?
Shiny New Toys
On average engineers like working with things more than they do working with people. That goes for hard debugging vs. hard conversations as well.
It’s easy to get distracted with technical specialties. Debugging something. The hard part is learning what the users who are human think about it. But tot tell you they need to see it first.
Planning to release something early is one of the key areas for most waste-elimination. Not cost reduction. Waste Elimination.
When your team is building something large without encouragement to ask questions very soon, they are creating waste. Speculative implementations. Features that have no evidence of being valuable. All things that stir the fire at the Fixing/Blaming stage.
Without incentive to get bad news early the team is planning to release slowly and in batches. This goes hand-in-hand with management certainty.
The best managers manager the risks of the project, not the people.
Educate the team to be autonomous on the technical specs as long as they show understanding of the business domain. But collaborate on managing the release cadence and set the risk-factors and unknowns to the earliest possible point, over just blunt feature delivery.
Remember: A team that delivers features back-to-back doesn’t have time to manage risks and unknowns. That’s a feature factory producing commodity copies of software.
Be The Leader — Make the difficult decisions
Learn to say No.
Learn to say No to features that have no evidence of market demand.
Learn to say No without inviting being bullied or pressured to give a non-No answer.
Learn to say No and continue the conversation to a non-binary question.
The Modern Fundamentals
CI/CD Pipelines
The cloud era has made this simple. All modern version control systems integrate into powerful CI, CD or CI/CD tooling. Leverage them.
Feature Flags - Separate Deploys from Releases
Branch by abstraction is a good starting point.
Developer Tooling for common procedures
Have developers pair on any manual procedure that is painful. If it’s painful, do it more often. Write down what’s happening and try to create a tool for the most mundane buttons and clicks. Automate it once the script is reliable without human intervention.
If you don’t know where to start, ask modern AI tools to give you pointers.
Encourage Early Discovery
Help your team come up with questions that facilitate quick releases.
Collaborate with Engineers
The ideal review process is being with the dev live during the writing process. Not all the time — just during the important parts. The messy parts. If you have long-aged PRs, minimize them and do pairing instead. The next person who needs to fix a bug will spend more time than the current person building. It’s just that this person now has the illusion of being in a hurry.
Educate Refactoring
No one builds software well the first time. The maturity of high-quality software is the byproduct of refactoring, not building.
Your code will change. Change is a factor of two skills: knowing what to change it to and knowing how to change it well. Refactoring covers both. Touch-up, re-architecting and tidying up during refactoring is 80/20 tool you’ve been looking for that facilitate high-level, clean design.
Collaborate with the Business
Do roadmap planning together. Host Event Storming or Modeling exercises to discuss business understanding and UI needs.
Focus on onboarding
Do a full reinstall on dev machines regularly to find issues in onboarding quickly. Needless complexity in legacy systems and bad onboarding are the mine factor that drive people away from your company. Budget for making this a priority, or you’ll constantly face lethargy and churn.
And your best people are likely the first ones to leave.