Member-only story
Last mile software
The last leg of a journey is the most difficult, and the least efficient. How do you get from the train station to your apartment? How does a package get from a large distribution center to its recipient’s front porch? When building out a phone network, how does a telecommunications company run wire from the pole to every single customer’s house?
These are all last mile problems, scenarios in which shared resources become individual over time and space. They represent cases in which marginal costs and inefficiencies pile up, rather than falling with scale.
Take the phone line example. A shared phone line, until it hits capacity, can spread its cost over an ever-growing number of users. Maintenance is efficient, and every user instantly benefits from improvements. But everyone wants to use the phone at home. They need wires run from the shared line to every house. Installation costs might go down over time — with bulk material purchases and better-trained workers — but they will never get spread over more than one user. Similarly, maintenance and upgrades only affect one user, and must be applied sequentially across the whole customer base. The whole project becomes messy, costly, and expensive.
The core tenets of last mile problems — duplication of efforts, focus on individuals or small groups of users, and runaway costs — crop up in software. Not in the…