3 Strategy Killers for Data Teams
Oct 02, 2024The three things most likely to kill a data strategy are too much tribal knowledge, never making time to refactor, and migrating bad code into new tools. None of them come from bad intentions. They come from the normal pressure of shipping, and they quietly undo months of planning and budget. Tribal knowledge concentrates the architecture in a few heads. Skipping refactoring leaves every first draft running forever. Lift and shift migrations move the problem into a faster engine and call it modernization. Over the past decade of working with data teams, these are the three I see derail projects most often.
Key takeaways
- Tribal knowledge is the unwritten rules held by the people who have been there longest. You cannot eliminate it, but you can stop depending on it.
- The test is simple: if the original architect left tomorrow, could anyone else explain the system.
- When nobody understands what was built, new people patch around it rather than change it, and the patchwork becomes the real architecture.
- Nothing is right on the first attempt. Work that never gets revisited is not finished, it is just unexamined.
- Schedule refactoring as a sprint, a month or a quarter. If it is not on the calendar it does not happen.
- Sell refactoring to the business in their terms: faster deliverables, new capabilities, or real money saved on long running queries.
- A migration is the best chance you will get to rethink the logic. Copying stored procedures into a new tool wastes that chance.
Strategy killer 1: Too much tribal knowledge
This one is not specific to data. It shows up in companies generally, and data teams are just an unusually concentrated version of it.
Tribal knowledge is what the people who have been somewhere a long time understand among themselves. They know what the rules are and what a field represents, and none of it is written down.
Why it hurts a data architecture
You can never fully avoid it. It is part of any culture and any group of people who work together long enough.
The damage shows up at the edges of the team. Onboard a new person, or explain something to someone outside the group, and you look unorganized and unprepared.
The signs to look for
- Information stuck with one or two people. Nobody else quite understands it, and it never gets written down.
- A single person everyone has to ask. They have been around long enough to understand the context better than anyone else.
- Answers that start with history. The explanation depends on something that happened years ago and was never documented.
What happens when that person leaves
Picture the original architect of the whole system walking out the door. If the design lived mainly in their head, you are now picking up the pieces.
New people arrive and do not want to break anything, because they do not understand what was built or why. So they build on top of it instead.
That patchwork grows until the only remaining option is to start over and do all the work again. I have run into this more than once, as an employee and as a consultant.
The fix is unglamorous
Document it. It is not a fun process, and it is obvious advice that teams still skip.
Take a moment to look at how much of your architecture is held between one or two individuals. Share the wealth, get it written down, and the whole team moves faster.
Strategy killer 2: Never spending time on refactoring
In the normal cadence of work this is genuinely hard to do. There is always new work, and nobody is asking you to revisit the old work.
So what happens in data, and in development generally, is that you build fast and never go back. The thing stays there and keeps running in perpetuity.
Nothing is right the first time
Sometimes leaving it alone is fine. More often there are areas you could meaningfully improve, because the team understands the problem better now than it did then.
First drafts are rarely perfect, or at least it is very rare. Treating them as permanent is the mistake.
Put it on the calendar
The approach that works is allocating time deliberately. That might be a dedicated sprint, or a block once a month or once a quarter.
The point is that it is scheduled. Time set aside to revisit things you know are not right but never have room to fix.
Making the business case
The pushback is predictable. The business wants outputs and reports, and does not want to be slowed down for work that means nothing to them.
So translate it into their terms. Refactoring can make their deliverables more performant, let the system take on new data, or unlock things it could not do before.
Cost is the strongest version of the argument. A long running, inefficient query fixed in an afternoon turns into real money saved, and that saving compounds for as long as the fix holds.
This is easier said than done. But a strategy that is never revisited scales badly, and the alternative is a slower death by things that were never optimized.
Strategy killer 3: Migrating bad code
The third one shows up most during a migration or an architecture revamp, which is exactly when teams are most hopeful.
It usually goes like this. You bring in new tools and new workflows, then copy and paste what you had before into them and hope the problems come along for the ride and disappear.
A faster engine is not a fix
A new database with a better query engine will run your old logic faster. That is real, and it is also not the same as fixing anything.
The same happens between transformation tools. Stored procedure code gets pasted across because nobody wants to stop and rethink the strategy.
The question that gets skipped is whether the warehousing and the modeling were right in the first place, or whether they should look different going forward.
The attention goes to the wrong place
Focus lands on lifting and shifting the tooling rather than on the code and the logic underneath it. The project gets measured by whether the new tool is live, not by whether the output got better.
Meanwhile a migration is one of the few moments when you have permission, budget and attention all at once. It is a very good opportunity to actually think about your strategy.
The two kinds of migration
I have worked with clients who are fully aware of this. They are willing to change their modeling or their workflow if it makes more sense with the architecture they are moving toward.
And I have worked with teams on such a time crunch that they copy and paste. When I walk away from those projects, I already know how it ends.
Sometimes other factors force your hand and you simply have to get it done. If you can see it happening though, it is worth reconsidering while you still have the chance.
Key terms
Strategy killer
A habit that quietly derails a data project or wastes the effort behind it, even when the planning and the tool selection were sound.
Tribal knowledge
Unwritten rules and context understood only by the people who have been at a company longest, with no documentation behind it.
Refactoring
Going back to improve work that already runs, for performance, clarity or cost, rather than only ever building something new.
Lift and shift
Moving existing logic into new tools unchanged, so the tooling modernizes while the underlying design stays exactly as it was.
Patchwork architecture
Layers of changes built around a system nobody fully understands, because altering the original is considered too risky.
Common questions
What is tribal knowledge on a data team?
It is the understanding of your systems and definitions that lives only in people's heads. Long tenured team members know what a field means or why a job runs at a certain time, and none of it is written anywhere. It feels efficient until one of those people leaves.
How do you reduce tribal knowledge?
Write it down, starting with whatever only one or two people can explain. Documentation is the unexciting answer and it is the only one that works. Watch for the person everyone has to ask, because that is where the concentration is.
How often should a data team refactor?
Set a cadence rather than waiting for a gap. A dedicated sprint, a day a month or a block each quarter all work. What matters is that it is scheduled, because unscheduled refactoring never happens.
How do I justify refactoring time to the business?
Translate it into outcomes they care about. Faster reports, the ability to handle new data, or lower compute cost on an inefficient query. A fix that takes an afternoon and saves money every day afterward is an easy case to make.
Should we rewrite logic during a data migration?
At least reconsider it. A migration is one of the rare times you have budget and attention to revisit modeling and workflow decisions. Copying old stored procedures into a new tool moves the problem rather than solving it.
Is a faster database enough to fix slow queries?
It will help, and it will hide the real issue. Better hardware and a better query engine make inefficient logic run quicker without making it correct or maintainable. The underlying design still has to be addressed.
Related reading
- Avoid These 5 Costly Mistakes (as a small data team)
- The Modern Data Viewpoint (3 Principles)
- Data Architecture 101: The 5 Key Questions
- The Gift & Curse of Small Data Teams
Final takeaway
Across a decade of client projects, the teams that stall are almost never the ones with the wrong tools. They are the ones carrying knowledge in their heads, never going back, and moving old logic forward unchanged. Fixing any one of those three changes the trajectory of the whole strategy.
Additional Free Resources
Starter Guides & Checklists
Explore additional free resources built on the same patterns I use with real clients so you can build your own with structure and confidence. Topics include data architecture, modeling and more specifically for small data teams.