Here I share contemplations on data-oriented design, team leadership, agile methodologies, and assorted subjects occupying my thoughts.

Disclaimer: The views and opinions expressed are solely my own and do not reflect or represent the positions of any companies I work for, collaborate with, invest in, advise, or any other associated entities.

The Quick and The Dead: AI Pressures Reshaping Teams and Architectures

It was once hyperbolically suggested that cities would be built around Segways, a claim that was absurd given the lack of an overarching, essential need for such a shift. When we pivot to the realm of software development, we encounter a compelling counter-narrative. Teams and system architectures are presently being overhauled to incorporate AI as a significant player in the developmental landscape. This transformation is not capricious, but rather a direct response to a dire need: a massive drive to cut development costs and create software that is more attuned to user needs. [Read More]

Modern Agile Now What?

So what is the answer? What is the silver bullet to fix Agile? The truth is there is no one perfect solution. But we can make progress through a few core principles: Use something like a Kanban board to visually track work and impose work-in-progress limits. This creates focus and flow. Use WIP (Work In Progress) limitations to keep clear understanding of exactly what people are working on. Don’t default to daily standups. [Read More]

Modern Agile Lie #3: Responsive

The Agile Manifesto values “responding to change over following a plan.” But modern Agile practices like fixed-length sprints end up locking teams into mini-waterfalls, hurting responsiveness. Sprints were meant to create cadence and focus for teams. But over time they have morphed into rigid commitments that cannot be changed, even if circumstances or information changes. Teams stick to their sprint plan even when it no longer makes sense. This false consistency hurts responsiveness in several ways: [Read More]

Modern Agile Lie #2: Tools

The Agile Manifesto clearly valued “individuals and interactions over processes and tools.” But modern Agile practice has completely inverted this value, becoming obsessed with tools like JIRA over actual human interactions and outcomes. Requirements are filed as tickets, productivity is measured in tickets closed, and worth as an employee is judged by your JIRA velocity. Instead of gauging real output and teamwork, managers simply look at metrics from tools. This tool obsession flies against the original spirit of Agile and harms organizations in multiple ways: [Read More]

Modern Agile Lie #1: Points

A core tenet of many modern Agile approaches is estimating work effort using story points or abstract units instead of time estimates. Proponents argue points are more accurate because they supposedly account for variability in developer productivity. But this concept is deeply flawed. Points are always eventually deconstructed into dates on a calendar for planning purposes. No business can operate solely in an abstract point system detached from real-world time constraints. [Read More]

The Parody of Modern Agile: Why Bad Ideas Persist

Agile software development burst onto the scene in 2001 as an antidote to heavily process-driven and documentation-heavy approaches like waterfall. Early Agile proponents promoted values like individuals over process, working software over comprehensive documentation, customer collaboration over contract negotiation, and responding to change over following a plan. 20 years later, Agile has become a parody of its original goals. Rigid frameworks like SAFe and dogmatic adherence to practices like daily standup meetings and sprint planning have replaced Agile’s initial flexibility and focus on individuals. [Read More]

The Case for Bizcord (Discord)

The Problem with Remote Work Remote work has become a popular trend in recent years, with many companies shifting to a distributed workforce to save costs and increase flexibility. While there are certainly benefits to remote work, such as reduced commuting time and increased productivity, there is also a downside to this new way of working: the loss of informal status and persistent, easily seen places for communication. In traditional office environments, employees have the opportunity to interact with each other in a variety of ways. [Read More]

Install Emacspeak on Modern Macs

Introduction I had a bit of a hard time finding the exact steps to get emacspeak up and running on MacOS 12+ (Sierra, Ventura) on either x86 or m1/m2. This guide will hopefully get you from nothing working to functional install as quickly as possible. Install Brew Follow instructions to install brew via https://brew.sh – but generally the command below will work. /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" NOTE: if you just updated major OS versions, it is often easier to just reinstall brew than to try to fix any issues you might have with it. [Read More]

Ride Crypto in Comfort With SUV

Cryptocurrency has come a long way since it was first introduced in the late 1990s. It has evolved from a fringe technology used by a small group of enthusiasts to a mainstream financial asset that is traded by millions of people around the world. One of the key attractions of cryptocurrency is its potential to provide a secure and decentralized financial system that is free from the control of governments and financial institutions. [Read More]

Language Sprawl Considered Harmful

It’s a common scenario in software development: a new project is starting up, and the team is faced with the decision of which languages and tools to use. While it might seem like a good idea to let every team choose their own technologies, the long-term costs of this approach can be significant. One of the main drawbacks of letting every team choose their own languages and tools is the lack of flexibility it creates within the organization. [Read More]