Category Archives: Productivity

How I am applying The Four Disciplines of Execution

I read The Four Disciplines of Execution (4DX) a few months ago. It was recommended to me several times—I wish I had read it sooner. It’s in the genre of business productivity systems, which is not surprising since one of the authors, Sean Covey, is the son of Stephen Covey (author of The 7 Habits of Highly Effective People).

Like many books in this genre, the book is part of an entire ecosystem, with courses, videos, etc. You can get a good overview there.

Here is a quick summary of the 4 disciplines (it’s more complex than this—the book is worth reading for details)

  1. Have a single important goal that would make a meaningful difference (in your business, life, etc). This will have some lagging indicator.
  2. Figure out a leading indicator that you can act on and track. This is something you can do every day that will build up to the important goal.
  3. Build a compelling scoreboard that tells you if you are winning (achieving the leading indicator).
  4. Have regular (weekly) accountability meetings where you only discuss the goal, leading indicators, and how to put points on the board

To give an example, here’s how I am applying it to my fitness:

  1. Important goal: Reduce Body Fat %. I am doing this primarily by increasing muscle mass. My lagging indicators are goals in bench press and strict pull-ups.
  2. Leading indicator: Days per week doing resistance training.
  3. Scoreboard: I track the workouts on my Apple Watch. I can see the count in the fitness apps I use. My scale tells me Body Fat % to make sure I’m on track. I am also tracking hours in Zone 2 and higher as a secondary indicator.
  4. Accountability: I review it weekly and schedule the next week’s workouts. I also go to Crossfit, which gives me access to coaches that can help.

My personal growth goal is to publish some pamphlets (short books) this year. Here’s my 4DX

  1. Important goal: publish pamphlets. Lagging indicator is 2 books.
  2. Leading indicator: Hours writing per week.
  3. Scoreboard: I’m using personal productivity software that I am working on.
  4. Accountability: I am making season four of my podcast about this where I will discuss my process and progress.

My work goal is to launch the productivity tool I am working on

  1. Important goal: Launch
  2. Leading indicator: Hours coding
  3. Scoreboard: Also tracking in this tool
  4. Accountability: I have weekly meeting with my partner where we discuss progress.

All of my leading indicators are in SMART goal format: Specific, Measurable, Achievable, Relevant, and Time-bound. The main difference is that they are very short-term and more about process.

Obviously, it doesn’t matter if I achieve the leading indicators, but not the lagging ones—the lagging ones are the real goal. The idea (from 4DX) is that leading indicators are something you can act on and track each day. You trust yourself to pick things that are likely to result in the bigger goal. You adjust if they aren’t.

Time in the Zone

I read The Four Disciplines of Execution last year and my main takeaway was that I should build a scoreboard to track a leading indicator of whether I’m “winning” at my important goals.

For tracking my fitness, I’m using the Zones for Training app, which has a nice widget that compares the current cumulative week to the previous one. The number is just the minutes my heart rate was in an exercise zone. I have a goal, but I can also compete with how I did last week.

A dashboard of cumulative time spent in heart rate zones

Leading indicators can be more complex, but just tracking the time that I spend on the important things is enough to get started. I trust that I’ll use that time wisely.

Running Through the New Year

One lesson I learned from Ramit Sethi was to just start your New Years resolutions in December. That way you get a jump start. You get to start the new year with having already made some progress.

I do themes, not resolutions, but the same concept applies. My theme last year was to Make Art with Friends and that went pretty well. I set out to collaborate with others and try to meet more likeminded people who liked to make things. As 2023 is coming to a close, I think I can maintain my gains here without it being my main focus.

This year, I am going to refocus on my fitness, specifically strength training. As I age, I am more concerned with muscle and bone health and I’m convinced that lifting heavy things is the way to go. I’m not waiting until January 1st—I started yesterday.

With that goal and my other plans, I decided to make 2024 The Year of Heavy Lifting. It’s a year where I plan to do some hard things that I’ve been putting off.

If you usually do something for the new year (a resolution, a theme, whatever) don’t wait—start now.

2024 Page-o-Mat Journal

Last year, I released Page-o-Mat, a YAML-based language for defining journal PDFs so that I could make my own Recurring Journal. I used this journal all throughout 2023 and gave some updates along the way: The First 13 Weeks, The Second 13 Weeks, and The Third 13 Weeks. I split the year into 13 week quarters because I do all of my planning by weeks and months and quarters aren’t regular enough.

I just finished making the 2024 version and got a nice surprise. Because January 1st is a Monday, and 2024 is a leap year, the first three quarters line up on 13-week boundaries. Jan 1, April 1, and July 1 are all 13-weeks apart and on Mondays. It’s unnecessary for the way I like to journal, but I do appreciate this. It won’t happen again until 2052.

I pushed the new yaml to the Page-o-Mat repo. There are instructions for building the PDF in the README. I will also be putting a book based on this PDF on LuLu.

Be Skeptical of Points-based Productivity Claims

I do not personally use Story Points in my estimates because I know that everyone outside of development will translate them to time and I want to do that for them.

But, consider this claim: Adopting GitHub Copilot will increase productivity by 20%. I actually believe that to be true, but can you show it with Points? No, you cannot.

Here’s how it should go

  1. You do 10 sprints, you see that you have a steady state velocity of 100 Points
  2. You introduce GitHub Copilot
  3. Maybe for 2 sprints, you see velocity go up because developers over-estimate their stories. Let’s say it’s 120 now. Better report that quick, because …
  4. Then, devs start to adjust their estimates and velocity goes back to where it was.

Productivity went up, but velocity should stay constant because points are just time. You don’t get more time because of productivity gains.

If you see sustained velocity improvements (without changing the number of team members), then I would suspect gaming or a misunderstanding of how points are supposed to work.

Points and Velocity are best for front-line managers to understand what is going on with their teams and to size sprints. They should not be reported outside of the team, because they will be misunderstood and misapplied.

Soundtracks for Life

Maybe it’s my age, but the Rocky Theme pumps me up. I always run harder when it comes up in my playlist. The music from Rocky makes me think of the training montage, and then I want to exercise.

When I read (especially on an airplane), I listen to ocean waves. Music would be a distraction, but hearing waves won’t make me think about them.

I do sometimes listen to music when I program. I once read a study that it can help when doing mundane, rote tasks. Uptempo music helps me—I like to use dance music. Sometimes I’ll just put a single song on repeat.

Right now, I am writing this blog post while listening to “Going the Distance” from Rocky and Rocky II. It’s what plays right after Adrian tells Rocky to win. It’s a little more low-key than the main fanfare and for me, it means that it’s time to get down to business. I think it’s fine when I am trying to get out the words for the first draft, but I’ll probably have to shut it off when I edit.

In all of these cases, I am trying to use sound in the way that movie soundtracks work—to enhance the foreground activity. It’s working in tandem, manipulating my emotions while I am engaged in something else.

Taking a Successful Break

I just finished a break where I traveled for four weeks to see family and friends in places I used to live (in NYC and New England). My intention was not to completely stop working, but that all of my projects would become much lower priority.

Here are some things that worked for me.

  • Banking content: I didn’t want to have to write every day and podcast every week, but I did want to keep the publishing schedule going. To do that, I pre-recorded five podcasts before I left and wrote many blog posts. I still wrote quite a bit during the break and did have to edit and post the podcasts, but it was much less work than normal.
  • Setting expectations: Before I left, I made a podcast about how I was taking a break and what my strategy was. I also set meeting expectations with my partners and clients.
  • Having a generation strategy: To make it a lot easier to make five podcasts in a couple of days, I did a four part series about lessons I learned from Art & Fear.
  • Lowering the bar: My goal in each podcast is to share something that is helping me in my writing with a clear takeaway. If I had that, I didn’t worry about the length.
  • Shutting off sometimes: Part of my trip was meant to be a real vacation, and during that time, I completely shut off.
  • Prioritizing relationships: I never turned down a chance to see my family or friends and made sure that my wife and I had plenty of time together as well. Everything else had to fit in between that.
  • Having fewer obligations: I do more projects alone or in partnerships that are trying to build modest businesses that can withstand me being away from it. My client work is more advisory and easy to schedule.

As I spoke about in my podcast, I did this exact same trip in 2021 and it completely derailed me. I did not set expectations correctly with a client and had to do a lot more work than I wanted to. I had to pare back everything to just work I was obligated to do and then kept that pattern for more than a year until I could get control again.

This time, using the strategies above, I was able to have the break I wanted and also keep projects going enough so that I could easily pick them back up when I returned.

How I Use JIRA and Trello Together

I started using JIRA for issue tracking when I worked at Trello (at Atlassian), and I still use it now. JIRA does everything I need in managing software projects, but I never send people outside of my team to JIRA because it’s not easy for casual users. For that I use Trello.

I have a Trello board for each project I am managing that is meant to be a high-level summary of that project. It is useful for onboarding and getting its current status easily. It has links to JIRA, Confluence (for specifications), Atlas (for status) and Figma.

This Trello board is the first place I send a new team member to help with onboarding. If someone has a question in Slack about the project, I make sure that it was something you could find out on the board and then link them to it there. The board is a kind of dashboard and central hub of the project.

These hub boards are curated, so I don’t try to use any automations to bring things over. If I think you need more information, I send you directly to the source.

JIRA is useful to the people that work on the project every day. I use Trello for those that just check in weekly or monthly.

Is Vision Pro Just a Really Good Monitor?

I just read Ben Thompson’s take on the Vision Pro, which is admittedly a gushing, glowing, overly optimistic take. But …. he’s actually tried one, so I am taking it seriously. One worry I had was whether the displays actually matched the demo, and it does seem that they do.

His conclusion is that the Vision Pro might be in the same product category as a Mac and if that’s true, the $3499 price isn’t that bad. I absolutely could see a world where you use this instead of a laptop, but probably not on day one because it won’t have the apps I need as a developer.

Even so, compared to a laptop, the biggest downside is travel—I value how thin and light my MacBook Air is, and this is certainly not thin. I can’t easily stick it in a backpack. I also can’t see using this in a café or shared work space.

But, that had me thinking that maybe it’s not a laptop replacement, but an external monitor replacement. I have been eyeing the Studio Display at $1599 and also the new Dell 6K displays at $3200. If a Vision Pro is a better display than those, I don’t need it do much more.

It does make me think I should definitely not just upgrade my monitor yet.

Making Sausage and Delivering Sausage

There’s an article about DevEx, a new developer productivity methodology, in ACM Queue. If you subscribe to the Pragmatic Engineer newsletter, there was an interview with the article’s authors last week. This is the latest methodology from the people behind DORA and SPACE.

DORA’s measurements were grounded in externally visible outcomes.

  • Deployment Frequency
  • Mean Time to Recovery
  • Change Failure Rate
  • Lead Time

The idea was to pick things that engineers could actually control.. Even though the elements of DORA are not directly translatable to business outcomes, they are still understandable to external stakeholders.

In SPACE, these metrics are still one kind that we collect, but SPACE also recognizes that there are other things besides Performance and Activity metrics (the P and A of SPACE). It also considers Satisfaction, Communication, and Efficiency, which are more internal to the team.

In DevEx, the emphasis is on internal metrics: Flow, Cognitive Load, and Feedback Loops.

I want to say upfront that I completely agree that these things do help engineers deliver software better and faster. But they are hard to share outside of the team. It’s how the sausage is made. The business ultimately needs to deliver sausage.

Aside from the rest of the business not understanding or caring about these metrics, I also worry that they will try to get too involved in them. Engineering leadership should care a great deal about the cognitive load of the members of their teams, and should work to lower it, but they need to find a better way to express that outside of engineering if they do.

I know the DevEx authors know this, and emphasis on these “making sausage” metrics doesn’t mean that they don’t also think externally visible performance isn’t important (they did after all design DORA and SPACE). But if you deliver on, for example, long flow states, but there isn’t more useful software on servers, you have failed in the business objective. This is the same thing I said about Story Points—they are too far removed from things people outside of engineering care about:

[…] regular people just translate [story points] to some notion of time anyway, and in that regard, I am very regular. If you are going to take some random number I provide and assign a date to it, I’d much rather I do the translation for you.

To the extent that you report directly on DevEx, try to emphasize the parts outsiders can help with. Frequency of meetings and speed of external feedback loops (especially from product management) are good examples of that.