The Standalone Map

The map project changed me. I think it’s still changing me. It’s taught me so many things, professionally and personally. Perhaps the most important lessons were about the importance of product and project management and how to respect my own time more.

The task, in short, was to build a standalone map application (SAM). We were anticipating it would have to support public health and epidemic data as well as a wealth of data relating to vectors of disease. There might be any number of study types, use cases and stakeholders. It also needed to be feature complete enough to replace an older map application that was becoming difficult to maintain. Absolutely everyone had opinions on how to best accomplish some of those things. Almost no one had ideas about how to accomplish all of it in one application.

Initially we couldn’t even agree, and some people on the project still don’t (yours truly included), as to whether it actually needed to be a standalone map application at all. We already had an Exploratory Data Analysis Workspace (EDA) that was designed to be flexible enough to meet a broad range of use cases across various data types. Why not use it directly rather than have to re-design and re-engineer an application to meet a lot of the same needs? Why were we so insistent the landing page had to be a map, given a map isn’t always the best tool for a given job? I still don’t feel I know the answers to those questions.

Primary stakeholders and sponsors were expecting a map application though, and so we built one. People threw in their ideas for various features to meet various needs and somehow those got prioritized. Generally if someone felt strongly we needed to do something then that something got put on the features list. It wasn’t necessarily true in the reverse though, and removing features from the list proved hard. I was heavily involved in that process and admit to being unsatisfied with the results. I learned that whittling away features to focus on those supporting the minimum valuable product is essential, and that that process should be owned by a single someone.

As features got made priorities, they got made into GitHub issues. Often it was developers making these issues, though they had other issues to be working on. The result of this was that people filing tickets for major features didn’t have the time to fully scope them, or coordinate their implementation, or QC the results. I see the result as a weird salad of features, where everyone tossed items in and no one had time to cook anything or make sure their ingredients made sense with the others.

To be honest, I think it’s miraculous we produced something as functional as we did. Probably the thing I’m most proud of is the bubble map mode. That was a feature I advocated for and actually got prioritized.

I tried to fill some of those gaps in product and project management, but I also had my own responsibilities as a developer that I couldn’t shirk. I ran dozens of meetings trying to get consensus on feature requirements, put together development plans breaking the work out into tasks, filed countless tickets and genuinely tried to keep up with the people those tickets got assigned to. I put off development as much as possible by finding others to take tasks that would typically be mine. I started to feel increasingly conflicted as the pile of tickets only I could implement grew larger.

At first I stressed and tried to do it all. For obvious reasons that failed, and took a personal toll. Worse, I felt my efforts went largely unappreciated as I realized others didn’t see the managerial lapses as high a priority as I did and were much happier with the product we were building than I was. So I focused on my now significant backlog of tasks, and started thinking about my future.

I had been enjoying the high-level work. I had found myself well-suited to it. I had some background in business from my graduate degree which had proven helpful. I was now interested in better applying and expanding that knowledge. I started acquiring books about product and project management and the systems development life cycle. I’ve always loved reading and learning new things and this proved no exception.

Now I just need to figure out what’s next.. and where is my best opportunity to apply my new knowledge?