The Gift & Curse of Small Data Teams

leadership workflow Jun 10, 2026

A small or one person data team is a gift because there is less red tape and you can move fast. It is a curse because with less oversight it is easy to cut corners, and those shortcuts compound over time. The fix is not more data or a big tech style system. It is adopting the workflow and conventions a bigger, more mature team would use: separate environments, tight database roles, consistent project design, and a real Git workflow. None of that is complicated, and a small team can put it in place faster than a large one because there is nobody to ask for permission.

Key takeaways

  • Building like a bigger team is about workflow, conventions and how you build. It is not about more data or a more complex system.
  • Even a one person team needs a development environment and some baseline tests. That is the difference between catching a bug yourself and having a stakeholder catch it.
  • Stop running ingestion, transformation and reporting on admin roles. Group users by purpose, give each group tight permissions, and take away your own ability to update production directly.
  • Inconsistent query style, naming and folder structure is the start of tribal knowledge. Every new task begins with an investigation before any real work happens.
  • Use Git properly: a branch per unit of work, frequent small commits, and a pull request even when you are the only reviewer.
  • Your team is a small business inside the company. Stakeholders are the customers, reports and data feeds are the product, and the way you work is what separates a good business from a messy one.
  • At some point you will hand this off, to a new hire, a teammate or an AI coding tool. Consistency now is what makes that handoff possible.

What building like a bigger team actually means

To be clear up front, I am not talking about adding more data or building the kind of overly complex system you see at a big tech company. I am talking about workflow, conventions, and how you go about building.

The easiest way to show the difference is through examples. Below are four I see repeatedly, each comparing how a smaller team tends to operate with how a more structured team would handle the same thing.

Example 1: Environments

When one person is running the show, there is often no clear separation between production and development. It lives in their head. It's just them, or maybe two people, so going straight to production doesn't feel like a big deal.

What a bigger team does instead

A more mature team has clear environments: development, maybe a pre-production environment, and production. Nobody goes straight to production. There are workflows and testing in between.

None of this has to be complicated. You don't need elaborate integrations. Some baseline tests and a simple set of environments to move data through is enough.

That alone is the difference between catching bugs up front and having your stakeholders catch them for you.

Example 2: Users and roles

This one usually shows up in the database. On smaller teams I often see admin roles used for nearly every process: ingestion, transformation, reporting, all of it.

It is easier to get started that way. You never have to wonder whether something has permission. It just works, and there is nothing to manage.

Where it falls apart

  • Scaling. When you bring on another team member and try to explain the process to them, there isn't one. It's all running as admin.
  • Security. An admin credential exposes your data to whoever gets a copy of it. That is a problem whether you have two users or two hundred.

Clear roles with tight permissions

A bigger team groups users by purpose and gives each group only what it needs: a developer role, a role for ingestion tools, a role for reporting users. Admin isn't used for anything routine.

As an individual developer, you should not be able to update production. That is a quick permission change, and it gets overlooked and pushed aside all the time.

The hard part is adherence. With roles, and really with every example here, the challenge is sticking to the rules you set for yourself. You have to be diligent about them and not bypass them just because bypassing is easy.

Example 3: Project and query design

This one is honestly a problem on both sides of the coin. But thinking small, the pattern is wild inconsistency. Every query you open looks different: different aliasing, different structure, different style.

So every time you touch something, you start with a deep investigation to figure out what is actually happening. That cost compounds with every query you add.

Conventions and tribal knowledge

The same goes for conventions. If things are named differently and live in different folders, you spend your time figuring out where things are before you can get to the work.

That is how tribal knowledge starts. Only the one or two people who built it understand it, and anyone else would struggle to follow along.

The aspirational version

A more mature team has clear conventions that are expected to be followed: a style guide, naming conventions, and overall consistency across the project.

I've also worked on big teams where that wasn't the case, so this is not black and white. It is an aspirational goal. The real question is: how would a larger, more mature company handle this, and why aren't you doing it just because you are small?

Example 4: Git workflow

This was a real learning curve for me earlier in my career. I had no idea what a Git workflow was about. But any company of meaningful size has one, and you should have one too, even if it's just you.

Most of the small teams I work with do have version control. They just aren't using it to its fullest. Two patterns come up a lot:

  • One big shared dev branch. Every change goes there, followed by one large commit and push to main.
  • Straight to main. No dev branches at all, because the only developer sees no reason to put themselves through a pull request review.

What a bigger team does instead

  • An individual feature branch for each unit of work. One project, one branch. No shared dev branch.
  • Frequent, smaller commits instead of one giant commit with everything in it.
  • A pull request for every change, even when you are the only person on the team.

Why it is worth the extra steps

This isn't about adding work to your plate. Individual changes become easy to track, so you can go back and see exactly what changed instead of losing it inside a big commit message.

And when someone else needs to look at your work, say you are out of the office and they need to understand why a piece of logic changed, a clean history is the difference between a quick answer and a long dig.

Environments, roles, design, Git workflow. None of these require a bigger company or more data. They are workflow and process, and they just need the right attention.

Why you should care

The goal here isn't to judge anyone. I've been guilty of every one of these, and so have many teams I've worked with.

It's about awareness. Maybe one of these is something you can fix this week. Maybe it is something you've been putting off and this is the reminder. Or maybe you never realized it was a problem.

Your team is a business inside the company

I think about a data team as a little business within a company. We have customers, which are our stakeholders. We have a product: the reports, the data feeds, the analytics we deliver. And we have our own way of doing things, like any business.

If you were building a business, you would want it to be a good, well structured one. That mindset is what gets you to care about the small nuances: conventions, workflow, permissions.

Individually none of them seems like a big deal. Together they are the difference between a business that runs seamlessly and one that is a mess.

The handoff you haven't planned for

At some point you may leave the company. A new opportunity comes along, or things don't work out. Or the team grows, you bring on help, and you have to hand off responsibility.

In those moments you want the transition to be easy, so the next person isn't digging through messy notes and inconsistent processes to deliver what they are expected to deliver.

If you set up the foundations now, it is much easier for someone to help you. And if you want to step back from the day to day, the standard is already set. You are just passing it off and guiding them.

It might not be a person

You might be asked to bring on an AI coding tool or an agent and train it on your project. That is a lot harder when there is no consistency to train it on.

At some point you may not have the time to not think about this. I know the response: too much on my plate, too stressed, can't possibly consider it right now. You have to figure out when that point is for you.

Your future self will thank you. Or if it isn't you, someone else will be very glad you did it for them. And as a small team you can make these changes faster than anyone, because there is far less red tape in your way.

Key terms

Pre-production environment

An environment between development and production where changes are tested against production like data before anything goes live.

Admin role

A database role with full permissions. Convenient for getting started, but a security and process risk when used for routine ingestion, transformation or reporting.

Tribal knowledge

Understanding of how a project works that lives only in the heads of the people who built it, instead of in conventions and documentation.

Feature branch

A Git branch created for a single unit of work, kept separate from main until the work is tested and merged through a pull request.

Pull request

A request to merge a branch into main that packages the change for review, even when the reviewer is the same person who wrote it.

Common questions

Does a one person data team need a development environment?

Yes. It doesn't need to be elaborate, but having somewhere to run and test changes before they reach production is the single cheapest way to catch bugs before your stakeholders do. A dev schema or database plus a few baseline tests is enough to start.

Should I use an admin role for my data pipeline?

No. Create a small set of roles grouped by purpose, such as developers, ingestion tools and reporting users, and grant each only what it needs. Admin stays reserved for administration, and no individual developer should be able to update production directly.

Do I need pull requests if I am the only developer?

I recommend it. A pull request gives you a clean record of each change, forces you to review your own work once before it goes live, and leaves a history someone else can follow later. The process is a habit, and it is much easier to keep a habit than to start one when the team grows.

How do I keep a small data team from building up tribal knowledge?

Agree on a style guide, naming conventions and a folder structure, then follow them consistently. The goal is that any query or model looks like every other one, so a new person, or an AI tool, can read the project without a walkthrough from whoever built it.

Where should a small data team start with all of this?

Pick the one that is easiest to fix this week. Taking away your own write access to production is a single permission change. Creating a branch for your next task costs nothing. Small, immediate changes build the habit, and the rest follows.

Related reading

Final takeaway

Nearly every small team I work with has at least one of these four running on the honor system, and it is usually the first thing we fix together. Build as if you were already the bigger team you might become, because the shortcuts you take alone are the ones someone else inherits.

 

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.

Browse Resources