Categories
Extreme Programming Fit for Purpose Programming

Pragmatic Kotlin DI: Reduce Framework Cathedral

Complex JVM systems rarely become painful because “dependency injection exists.” They become painful because dependency wiring becomes invisible, magical, or scattered everywhere. Services instantiate repositories directly. Routes know too much. Tests need half the application running. A simple change in billing, pricing, or customer policy triggers a chain reaction through controllers, adapters, and infrastructure code. […]

Categories
Extreme Programming Fit for Purpose Kanban Programming

Manage Start Date to Deliver Better

Most teams ask, “When do you want it?” and then reverse-engineer hope. That is how commitments become roulette. The passage from This Is Lean reminds us that customer demand must be decomposed operationally: what we need, when we need it, and how much we need to deliver on time. In software, this means understanding dependencies, […]

Categories
Extreme Programming Programming

Use Property-Based Testing to Find the Bugs

Complex JVM applications rarely fail because of the “happy path” we remembered to test. They fail in the weird combinations: empty lists, duplicated IDs, invalid ranges, timezone edges, rounding errors, unexpected Unicode, concurrent retries, and business rules colliding in ways no one wrote in a Jira ticket. Traditional example-based tests are useful, but they depend […]

Categories
Extreme Programming Fit for Purpose Kanban Programming

Delete to Accelerate

We don’t lose delivery speed because we write too little code, we lose it because we keep too much. Accidental complexity creeps in as “temporary” feature flags that never die, defensive abstractions “just in case,” and frameworks wrapped in even thicker frameworks. The result: slower reviews, brittle tests, zombie endpoints, and a cognitive tax that […]

Categories
Extreme Programming Fit for Purpose Kanban Programming

Small Batches, Big Flow

We don’t miss deadlines because we’re lazy; we miss them because we try to ship boulders. The fastest way to unjam a roadmap is to make “normal work” smaller, so small it fits through your delivery system without special favors, heroics, or weekend fire drills. When you slice initiatives into digestible chunks that finish in […]

Categories
Extreme Programming Fit for Purpose Programming

Make It Scream the Domain

We ship lots of code that “works,” yet every release feels like walking on eggshells. Open your repo: the top folder screams Rails or Spring/Hibernate, not Claims, Billing, or Inventory. Tests boot web servers, controllers know too much, and a minor library upgrade ripples through half the system. This is the real problem: we’ve let […]

Categories
Extreme Programming Kanban Programming

Stop Shipping Waste

We’re great at shipping output, closing tickets, burning story points, and merging branches. But output isn’t the problem; waste is. Features nobody uses, “just-in-case” abstractions, month-long branches, and handoffs that turn days into weeks all inflate lead time without creating customer outcomes. Maintenance is growing faster than roadmap work, reliability is drifting, and the team […]

Categories
Extreme Programming Fit for Purpose Flight Levels Kanban Programming

From External Push to Built-In Improvement 

Too many orgs treat improvement like a side quest: an external campaign, fueled by OKRs and pep talks, bolted onto the real work. That’s the “analytical model” Alisson Vale warns about, optimization pushed from the outside. The result? Stop-start initiatives, context switching, and flow entropy: queues grow, lead time widens, quality dips, and everyone is […]

Categories
Extreme Programming Fit for Purpose Flight Levels Kanban Team Topologies

Treat the Company as a Product

Most Tech Managers fight fires within systems, while the real bottleneck lies outside the codebase. If people can’t figure out how to use the company, how to request infra, ship a change, or get a decision, the flow dies. Thinking of the company as a product reframes the problem: every policy, handoff, and meeting is […]

Categories
Extreme Programming Fit for Purpose Flight Levels Kanban Programming Team Topologies

Improve OKRs, Upgrade Flow

If OKRs keep showing up as leadership’s latest management fetish, your teams will feel the pain first: date-driven thrash, handoffs that multiply, dashboards that look green while customers are still red. I’ve seen OKRs become performance theater, full of alignment rituals and little impact because they ignore system constraints. The result is burnout, brittle commitments, […]