Abandon ship and build a better one – Rewriting Systems

4 minute read
Scroll this

About 80% of my projects are failed take overs. I’ve come into companies that were $700K in the hole sitting on a giant mess. So I ask: Should I try to repair their broken codebase? Is it worth trimming the fat and doing my best with what’s left over? I make a decision based on several key factors.

Code quality

What’s the quality of the code and test coverage? Is it long spaghetti code or short, tight classes? I’ll take a look at the sections of code that programmers avoid like the plague. I’ll ask, “How hard is it to make minor adjustments or debug?” Keep your eyes peeled for the Spaghetti Triangle. Like the Bermuda Triangle, it makes time, money, and resources vanish into thin air. Might want to jump ship here.

Customer Centricity

How far off are the application’s features from the business goals? Is it drowning in creep and over-engineering? How many features does your application have? How many are satisfying customer needs? This pairing should be direct, easy to understand and demonstrable.

I’d also ask what kind of feedback has been gathered and take a look at it. Have they responded at all? Have they made knee jerk feature changes? Or did they wait for significant feedback numbers and then make wise, limited modifications?

Team Composition

Who’s on the team? Are they an A team or a B team? For example, I look for boomerang players. By this I mean someone you send out on a task, and they come back with it finished. I shouldn’t have to monitor and chase them all the time.

When I’m called in to evaluate a project, I take the pulse of the team. How’s morale? Is everybody upbeat, or are they miserable? Are people collaborating in a fluid way or are they stubborn and isolated? No matter how great their tech skills are, if team members hate each other things don’t go well for the business.

It’s also important to consider team structure and composition. I’ll look at personality types, leadership skills, relationships, coding abilities, and how all this unifies – or divides – the team. When things are bad, it’s almost palpable. The best teams have a cheerful balance.

In the past, I completely missed the boat. I only looked at the technical aspect, and I ignored the human element. If I can’t asses the human component, I can’t lead a team. For the CTO it’s a critical skill. Team composition carries as much – or maybe even greater – weight than programming expertise.

Make the decision

Finally, the decision arises between salvaging the old or writing a new simple system from scratch. The reality? Nine times out of 10 what I encounter is unacceptable, and it’s time to abandon ship and build a new one. It takes a while to get motivated enough (or scared enough) to address the problem. By the time I’m called in, it’s usually a long standing issue, and I’m just there to confirm and triage. I’m amazed at how many companies let it get so far out of control, deep pockets I guess.

In the long run, it will usually cost more to fix a broken system than to build new one. Plus I can stand behind the new system since I know it was done right from the start.  

Own it

If you’re sitting on a situation like this in your organization, ask yourself if you should build a better ship. When I’m not sure, I bring in an expert. Don’t just keep a faulty project rolling until things blow up — or until shareholders ask why it costs so much but delivers so little. If you stand there and watch it bleed, you’re responsible. If you reach out and stop the bleeding, you’re a hero.

What should you do?

When making the decision to rewrite a system or not, it might not be clear exactly what to do and this can be tricky. The people at the top in life are always working, growing and improving with the help of others. It’s how you got to where you are, and it’s how you will get up through the next stage on your journey.

I have experience that you can leverage. If you don’t use me, use someone else. The point is for you to get what is on your mind resolved immediately, don’t wait. Set an appointment with me and tell me about your situation so I can help. Click this link to reach out. Something else on your mind? Whatever you need, I’m here. Life is meant to be done together, just reach out.

Joel Beasley

Joel Beasley founded the Modern CTO Podcast in 2017 while writing his book, the Modern CTO book, with the goal of interviewing CTOs and sharing their experiences with others in the tech community.

Joel’s conversational style and insightful questions quickly gained traction, attracting high-profile guests such as Microsoft’s CTO, Kevin Scott, and T-Mobile’s CIO, Cody Stanford. With each episode, the podcast’s popularity continued to grow, and soon, Joel found himself with a waiting list of future guests.

Today, the Modern CTO Podcast has become the number one leadership and tech podcast in the world, with over 150k active listeners, including CTOs, lead developers, and rising tech leaders. Joel’s commitment to creating a conversational atmosphere for his guests to share their experiences has inspired a new generation of leaders and innovators.

As the success of the podcast grew, Joel founded ProSeries Media, a podcast production company that helps companies worldwide create their own podcasts. With a team of producers, content creators, and podcast bookers, ProSeries Media produces over ten shows, providing a platform for companies to connect with their audience and share their expertise.

Through his work on the Modern CTO Podcast and ProSeries Media, Joel Beasley has become a respected voice in the tech industry, inspiring others to share their knowledge and insights with the wider community. His passion for creating engaging content that informs, inspires, and entertains has made him a sought-after speaker and advisor on all things tech.

Read more about Joel

Reach out to Joel

If Joel can be helpful to you, send him a message
or schedule a meeting.

Send Message Schedule Meeting
Fresh CTO Content 24/7

Fresh CTO Content 24/7

Join our mailing list to receive relevant content hot off the press.

You have Successfully Subscribed!