Blog
Arguments, not thought leadership.
Everything here is something we’ve had to say out loud in a real meeting, usually more than once, or a system we built and can still open. No gated PDFs, no newsletter wall.
Arguments
What we end up saying out loud in a buying conversation, usually more than once.
- Delivery6 min read
The typing was never the expensive part
AI adoption now correlates with higher delivery throughput and with lower delivery stability at the same time. Both are true, and together they decide what is worth paying for.
- Delivery4 min read
The form submitted. That is not the same as delivering.
A contact form that returns a thank-you page has told you one thing: the browser got a response. Whether a message reached a human is a separate question, and on the sites we are asked to rescue the answer is often no, for months.
- Delivery4 min read
The relaunch did not lose your traffic. The missing redirect map did.
Traffic falls the week the new site launches, and the meeting blames the design, the copy, or the agency. It is almost always simpler and more mechanical than that: the addresses changed and nothing was told where they went.
- Strategy6 min read
Ask how hard it is to leave
Post-launch support gets negotiated last, in the week everybody wants to sign, and it is the term that decides what the system costs you for the next five years. The quickest way to read a vendor is how cheaply they let you go.
- Delivery4 min read
The cost is in the edges, not the features
Feature lists are what everybody estimates against, and they are the cheap half of the work. The budget goes on the states nobody demonstrates: the failures, the permissions, the migration, and the morning the other system is down.
- Strategy4 min read
When to hire engineers instead of us
Build-a-team versus hire-a-firm has a real answer, and it is not the one a software company usually gives. It turns on how often the system will change after launch, not on how large it is.
- Delivery4 min read
You can check the work without reading the code
Most buyers assume that assessing a software vendor’s engineering needs an engineer. Four artifacts tell you most of what you need, any competent firm can produce them in a day, and the refusals are as informative as the answers.
- Delivery4 min read
You do not need the requirements first
The document most organizations try to write before speaking to anybody is the one that costs them the most, and the wait is usually months. What you actually need before a first conversation fits on one page.
- Strategy5 min read
When a spreadsheet becomes a system
Most operations run on a spreadsheet, and most of them should carry on doing it. But there is a real line, it is not where people expect, and crossing it is not obvious from the inside.
- Strategy4 min read
When to buy the package instead
The most useful thing a custom software firm can tell you is often that you should not commission any. Here is the test, and what is actually left to build once you have bought well.
- Strategy4 min read
Should your ERP partner build it?
Asking the ERP partner first is the cheapest question available and the one most often skipped. How to tell what a partner will take on, what they will decline, and why the answer is rarely about their ability.
- Strategy5 min read
Low-code, and where the ceiling is
The app the operations manager built is usually the right first move, and the objection to it is almost never that it should not exist. It is what happens at the ceiling, and who is standing under it.
- Systems4 min read
For controls integrators: the half above the historian
You have the plant relationship, the certifications and the site access. This is the work we do above that line, the work we will never quote on, and how the two fit together.
- Security6 min read
TX-RAMP § 6.2: the exemption a custom build may already have
A Texas university asks for your TX-RAMP certification and the project stops for a quarter. For software the institution commissioned, the program manual says certification does not apply, and then attaches four conditions that decide whether you actually get it.
- Engineering6 min read
What breaks when you replace an AS/400 while the plant keeps running
The hard part is not reading the RPG. It is that the machine cannot stop, the cutover window is a holiday shutdown, and four specific things fail that nobody budgets for.
- Systems7 min read
EDI 214 in practice: why your ETAs are wrong
The status feed is not a truth feed. Almost every bad ETA we have been asked to fix comes from four failures that are visible in the message itself.
- Strategy4 min read
“Work made for hire” does not mean you own it
The phrase appears in nearly every development contract and it is doing far less work than the people signing it believe.
- Delivery5 min read
The statement of work is the contract
The legal terms get the lawyers and the weeks of redlining. The document that actually decides what you receive is usually written the night before signature.
- Strategy4 min read
Build versus buy: the only test that settles it
Most build-or-buy debates are decided by whoever presents last. There is a better question, and it takes about ten minutes to answer.
- Engineering4 min read
Why your legacy rewrite keeps getting canceled
A canceled legacy rewrite is not a failure of nerve. Executives are correctly refusing to accept a risk profile nobody should accept, and there’s a way to change the profile.
- Data3 min read
The three-numbers meeting, and how to end it
When finance, sales and operations bring different figures for the same month, the problem is never the dashboard tool.
- AI3 min read
AI with a scoreboard: which projects pay for themselves
Three conditions predict almost every applied-AI success we’ve shipped. Projects missing any one of them tend to fail in the same way.
- Delivery2 min read
An estimate is a range, or it’s a bid
Single-number estimates communicate false precision, and everyone involved knows it. Here’s what we give instead.
- Engineering3 min read
Offline-first is a product decision, not a technical one
Field software fails for a reason that has nothing to do with engineering skill: someone assumed the network.
Engineering write-ups
Systems we built end to end, walked through in full, with the parts that did not work left in.
- Systems6 min read
Consensus is not the hard part. Reconfiguration is.
Every distributed-systems reading list ends where the real engineering starts. What breaks in production is the day the topology changes.
- Engineering5 min read
What building a compiler teaches you about modeling anything
Pick the wrong intermediate representation and every later stage pays for it. That is not a compiler problem; it is the problem.
- Data7 min read
In applied machine learning, the model is the tiebreaker
We built the full pipeline from raw network capture to a live detector, measured where the time went, and the answer was not the modeling.
- Engineering5 min read
The shortest path is usually the wrong one
A routing problem taught us more about requirements gathering than about geometry. The algorithm was never the hard part; the objective was.
- Engineering5 min read
The count is the contract: what semaphores still teach
Nearly every synchronization pattern is the same two operations with a different starting number. Learning that changes how you read concurrent code for good.
Next step
Disagree with any of this?
Good, that’s usually the start of a useful conversation. We’d rather argue with you before an engagement than during one.
- Phone
- (214) 723-2510
- Reply
- A person replies, not a sequence: within one business day, from someone who would be on the engagement.