Finding my Focus

Soon after starting my email newsletter, I started working at a ‘whale’ client and my spouse started her final year of grad school. I let this blog (and that email newsletter) go because I didn’t want to write about random things — I wanted the content to be focused on something that could provide measurable benefit to others and give people a reason to subscribe. I also started the email list because “that’s what you’re supposed to do”, and so I did it. Aimlessly, of course.

Since that time I’ve been digging around and wondering how to turn what I’m interested in into something that’s useful for others.

For my entire career I’ve been extremely interested in and incensed at the state of software project tooling. I believe we live in the dark ages of developer productivity, and I believe we can do better.

Our software ALM (Application Lifecycle Management) tools aren’t designed to produce software in an efficient fashion. They’re not optimized for software teams, and they don’t work the way that you and I work. They prioritize work as a discrete thing that is identified by a number, instead of the outcome we hope to achieve. We’ve grown to believe that passing that number around from various people will result in the best way to build software. They provide a one-sized fits all view of the universe, whether you’re a project manager, scrum master, QA, software developer, designer, business analyst, or Pointy-haired boss. They’re not even optimized for software developers — the same people that built the software.

Along the way, we’ve been somehow conditioned to believe that JIRA and TFS are “good enough”. That somehow, the mediocre results we get from using them are to be expected, and we can’t do better. For all of the tools we use to develop software, from Git, to Slack, to Google Docs, to our calendar systems to Jira and TFS, we’re somehow stuck in a joyless existence because our tools are the way they are and we can’t improve them to fit our workflows or to make our lives easier. It’s all piecemeal, it doesn’t work together, and the friction hurts team productivity.

I believe we can do better, and I believe we can have software that’s truly optimized for helping you achieve your best results, every day.

To get there, I’m taking this formerly aimless blog and email newsletter and doing two things:

1. I’m focusing on software productivity. If you’re involved in building and shipping software, I’ll be talking about the tips and tricks to help increase your productivity. I’ll go into the tools we use and how to make those better, I’ll talk project management-y stuff, and I’ll be diving increasingly deeper into it, with you joining me on the journey. The content will range from mental mindset to technical topics and everything in between. We’ll talk about the squishy and the bits and bytes, sometimes in the same post.

2. I’m changing the frequency of emails from weekly to daily. This itself may seem weird — George couldn’t ship weekly — what makes us think he’s going to ship daily? Habits are hard to form, and infrequent habits are the hardest to keep. The goal is by instilling a daily habit it becomes easier to keep.

So what does this mean for you? If informative (and hopefully interesting) content on developer productivity is your jam, then you’re in the right place. If you build teams and build software, and you’re interested in spending less time spinning your wheels, you’re in the right place. If this isn’t your cup of tea, no worries, I get it.

I’d love to hear from you. What tools do you use to build software? What do you use to track work? What do you use to collaborate?

A Today Mindset

Life is overwhelming at times. For instance, my entire week I’ve been mentally preparing for a rehearsal dinner on Friday and a wedding out of town on Saturday, and how to juggle that with three kids, and the inevitable complications that arise when you ask children to sleep in unfamiliar spaces.  It has… shall we say, consumed my thoughts.  If you combine that with the current goings-on at Stack Overflow, it’s easy to get caught up and not get any work done.  If I’m being honest, my mind is also awash with the fact that the Nationals won NLDS game 5 last night in the 10th inning with a grand-slam from Howie Kendrick to make it 7-3, after being down 3-0 when I went to bed in the 4th inning.

But what about today? 

Today, I dive into Entity Framework in a hybrid code-first / locked-down change management scenario and build new functionality around email sending.  I’ve scoped the problem down to something I can get done today.

It’s freeing in a way. I know that for the next several hours, the only thing I need to think about is that task before me. By the end of today, it will be done. Everything else, as they say, will keep.

Jira, showing the power of their kanban board — and its constant reminder of what we haven’t done.

TFS and JIRA don’t help in this regard.  If you look at the ‘board’ (if you’re doing Scrum or Kanban), you see what’s in the sprint backlog. You see what’s coming up, and you know that no matter what you get done today, there’s more after it.  You can see it. It’s ever-present. It doesn’t allow you to focus on what’s important — the right now. It is always in “sprint” view, showing you your work in relation to everything else the team needs to get done this sprint.

If you’re at work, you’re probably thinking about that right now — why am I reading this blog post when I have this story to finish?

While our tools have failed us, there’s something we can do to combat it.  This has helped me when I’ve made a conscious effort to allow it to.  

I make a deal with myself.

Forget about what you didn’t do yesterday. Forget about what you need to do tomorrow. And for just a few hours, forget about your todo list outside of the work.  For the next few hours, you have one thing to do. That next thing. Whatever it is. Focus on that, and shut the rest of it out of your mind. Just for a few hours. It’s the only thing that matters — for the moment. The rest of it will keep.