Blog
Insights on software development and technology leadership
July 25, 2024
Why Your Team's Velocity Is Declining (And How to Fix It)
You've probably seen this pattern: A new team starts strong. First few sprints crush it: features ship, stakeholders are happy, everyone's excited. Th...
Read MoreJune 20, 2024
Architecture Decisions That Age Well
The hardest part of architecture isn't making it work today. It's making choices that still make sense in five years. Most architecture decisions beco...
Read MoreMay 15, 2024
The Vendor Lock-In Decision Framework
Every architecture decision involves tradeoffs. One of the most debated: vendor lock-in. Should you use AWS Lambda or build your own orchestration? Az...
Read MoreApril 10, 2024
Security Debt in Legacy Systems: A Risk Assessment Framework
Legacy systems accumulate security debt faster than any other kind of technical debt. What was acceptable security in 2015 is a critical vulnerability...
Read MoreMarch 5, 2024
Cloud Migration Timing: When to Move and When to Wait
"Should we migrate to the cloud?" is the wrong question. The right question is: "When does cloud migration make sense for our specific situation?" ...
Read MoreJanuary 15, 2024
5 Signs Your .NET Project Needs Rescue
After years of rescuing failed and struggling .NET projects, I've noticed patterns. Certain warning signs appear early, long before the project become...
Read MoreStay Updated
Get practical insights on .NET development, project management, and software rescue delivered to your inbox.