First Things First
When I was a kid, my mother had one rule that always drove me crazy: “You can’t go out to play until you clean your room.” This tyranny was always frustrating to me, and despite usually knowing her answer, I’d usually ask to go outside knowing full-well my room was a mess. But she stuck to her guns and I’m glad she did.
“First things first” sums up what my mom taught me, and it’s been an invaluable lesson in my life. But one of the more interesting places I’ve seen this lesson recently has been with programming.
Most programmers don’t start writing code because they like fixing broken tests or refactoring someone else’s horrible code. We got into it because we love building things. We love new ideas and new technologies. When we show up to work in the morning, we usually want to “go out and play”.
But a good manager or program manager will need to instill in his team the same lesson my mom taught me a long time ago: first things first.
- Yes, we need to upgrade our messaging system. But we don’t have testing there and we’re likely to break something.
- Yes, it’d be great to clean up some of our code to following coding standards, but we’ve got a laundry list of open bugs that need to be addressed first.
- Yes, let’s investigate that new database. But let’s first see if we can improve the efficiency of our current database.
This is all about discipline. Cleaning your room is never fun, but it makes things easier for you later on. Likewise, doing the hard work on your project first isn’t always thrilling, but it sets you up for greater success in the long run.