Working in a small team has its ups and downs.

Fewer people could mean less potential for miscommunication. But it could also mean a greater potential for delays because on a small team, each person takes on multiple roles.

Here at PublicSource, in addition to working on our daily and in-depth stories, we’re each working on one or more investigative projects. We have no visuals team, no app development team, no data team. We have one team. And we do it all.

And while that doesn’t mean we are without structure, it does mean that our structure is fluid, changing based on project and daily workload.

Here are some of the ways we decide how to structure our projects:


Projects are like relationships. What is the one thing that is most crucial in a productive relationship? Communication. You might think your teammates know where you’re at, how you’re feeling, that you’re struggling, but if you don’t tell them, they have no reason to know.


We don’t have the manpower to have different people for different teams; instead, we use more of a Venn diagram approach to role assignments. Based on the data involved and the end product desired, people generally fall into these roles:

  • data acquisition: usually assigned only to the lead reporter on the project
  • data conversion (paper to digital usually): usually assigned to our data reporter and lead reporter
  • data cleaning: all hands on deck
  • data processing: usually assigned to our data reporter and newsroom developer
  • data analysis: all hands on deck
  • app development: usually assigned to the newsroom developer
  • reporting: usually assigned to the lead reporter and data reporter

Sharing and organizing (data, files, notes, etc.)

Decide how you’re going to share and organize your data. There are several options here, and it really depends on what everyone is comfortable using. Personally, I think version-control applications like Github are the way to go, but sometimes we need to be flexible because not everyone knows the same systems and there isn’t always time for them to learn.

And truthfully, it’s not all about the tools you’re using to get the thing done. It’s about consistency and understanding. As long as everyone on your team is on board with the process you’re using (and the process isn’t actually riddled with flaws), go with it.

Timelines, based on time not on calendars

Timelines that start out on a calendar are doomed to fail. Dates mean nothing when you’re talking about cleaning, processing and analyzing. Minutes, hours and days, however, are appropriate units of measure. “It will take me 2 days to clean this dataset” is much more concrete than, “I will have this data clean by the 15th.”

Every part of a project depends on the process that comes before it. As soon as one part surpasses its deadline, your calendar-based timeline is broken.

In a time-based timeline, if one part takes longer than expected, the other parts remain whole and unbroken, capable of being shifted and moved.

So lay out your project in time first, and then toss it up on a calendar to see where you’re falling. If you see the project is going to take you more time than you have, think about what you really need out of this project and refine.

Never process data that you don’t understand.

As soon as you get a dataset, look at it. If you don’t understand what you’re looking at, write down all the questions you can think to ask and talk with the person who gave you the data.

Create a term dictionary that everyone uses. Never assume that your teammates are using the same terms to describe the dataset as you. Here’s a template for the term dictionary we use.

Never make assumptions about column names. And never run processes on data that you’re not familiar with.

If you don’t get answers to your data questions, think about whether you can, in good conscience, report any solid findings that may come from processing it.

Document everything you do ad nauseam.

Consider documentation a form of communication, which we’ve already established is the most crucial aspect of any project.

In addition to saving you time down the line (when you need to re-run the process you just took 12 hours figuring out), taking detailed notes about everything you do will make you think about the steps that you’re taking.

Someone once told me that if, at the end of a project, you don’t have page after page of process notes, you’ve done something wrong.

Be language agnostic

There are hundreds of programming languages, frameworks and libraries available to you, not only in the app-building process, but also every step along the way. Just because you know how to use Excel, don’t think you can’t also use R.

Alexandra Kanik is the web and interactive developer for PublicSource. You can reach her at or follow her on twitter @act_rational.

Know more than you did before? Support this work with a MATCHED gift!

Through Dec. 31, the Wyncote Foundation, Loud Hound Foundation and our generous local match pool supporters will match your new monthly donation 12 times or double your one-time gift, all up to $1,000. Now that's good news!

Readers tell us they can't find the information they get from our reporting anywhere else, and we're proud to provide this important service for our community. We work hard to produce accurate, timely, impactful journalism without paywalls that keeps our region informed and moving forward.

However, only about .1% of the people who read our stories contribute to our work financially. Our newsroom depends on the generosity of readers like yourself to make our high-quality local journalism possible, and the costs of the resources it takes to produce it have been rising, so each member means a lot to us.

Your MATCHED donation to our nonprofit newsroom helps ensure everyone in Allegheny County can stay up-to-date about decisions and events that affect them. Please make your gift of support now.

Alexandra Kanik was a web developer and designer for PublicSource between 2011 and 2015.