Technical debt is not necessarily bad, any more than financial debt is necessarily bad. Taking on technical debt is a way of accomplishing something that you might not have been able to accomplish if you had to do everything "right" the first time. It's also a way of deferring difficult decisions until we better understand which path is correct, in order to avoid doing something we think is "right" but that later turns out to have been wrong. Like financial debt, however, technical debt can accumulate and can also lead to taking on additional technical debt, creating all sorts of havoc. What's important is to keep track of your technical debt and to try to make wise decisions about when to allow it to accumulate and when to pay it off.
Lately, I've been realizing that this same idea can be extended more generally to organization of one's effort on across different projects. As a scientist who leads my own investigative ventures, I have quite a number of different projects that are "live" at any given point, ranging in scope from an hour or two of effort here and there (e.g., service as an associate journal editor) to complex multi-year ventures (e.g., development of the aggregate programming stack). When I make choices in managing these projects and my time between them, I often take on organizational debt. This accumulates in lots of different ways, such as note cards accumulating on my desk, file directories growing large, open browser tabs, email messages on my "need to reply" list, etc.
Just like taking technical debt on in writing software, there are pluses and minuses in taking on organizational debt. If I spent lots of time trying to be hyper-organized and so that I avoid taking on organizational debt, then I will be much slower at actually accomplishing the things I'm trying to organize. If my organizational debt causes me to overlook a deadline or to end up in a last-minute crisis trying to get things done, however, then my work and my life suffer in various ways. Some of these costs are quite signifiant and spill out of work into costs on the rest of my life, such as losing time with family and friends, lack of sleep, getting sick, and gaining weight.
My struggle of late, then, has been to recognize that paying down organizational debt is a real and legitimate part of my job, just as paying down technical debt is a real and legitimate task in executing particular projects in my job. I wouldn't say that I've found a clear method of managing my organizational debt yet, but, as they say, the first step to solving a problem is to recognize clearly. I have, however, made some steps forward that have helped immensely.
For example, I am now both publishing papers frequently and traveling frequently. Both of those have major time lags involved. For example, in publishing a paper I first submit a manuscript, then get reviews, send a revision, repeat until accepted or rejected, wait for publication, post and publicize; along the way I also need to obtain release permissions internally and sometimes also from funders. This process can take years, and if I've got a bunch of papers in flight it's easy to lose track of a deadline and create a failure or crisis where none was needed. Travel is similar: registration, booking flights, hotels, cars, sending in pre-expenses, actually taking the trip, waiting for expenses to register in the reimbursement system, submitting requests for reimbursement, and actually getting reimbursed often spans many months. To address these problems, I've created a spreadsheet for each task which lets me have a "dashboard" view of what's going on overall with regards to that area of responsibility. For example, here is part of the 2015 sheet from my publications spreadsheet:
Publications not yet available have their names tastefully redacted. |
No comments:
Post a Comment