Situation
Releases waited on one contractor. Billing exceptions lived in a shared inbox, because the application hid them.
Illustrative example · .NET applications
An internal .NET system for staffing and billing that had become a single point of failure.
Composite — a professional-services firm of about eighty people
Illustrative composite.Written to show the kind of project. The organization is a composite, and the page carries the outcome that can be said accurately.
Releases waited on one contractor. Billing exceptions lived in a shared inbox, because the application hid them.
Exception review moved into the application. The in-house developer shipped the next small change without the original author on the call.
A professional-services firm of about eighty people ran staffing and billing on an internal .NET application. It was old enough that the original design notes were gone. One contractor could change it. Everyone else could file a request.
Billing exceptions did not appear in the application. They arrived in a shared inbox, and someone retyped the outcome into a screen that did not explain itself. Month-end was a queue of messages.
The project did not start as a rewrite. The first week was the screen the billing lead actually used, and the code that filled it. A large part of the solution was left alone. The risky part was the exception path: calculation, email, and a database update in one place only the contractor would open.
That path came out into a smaller piece the in-house developer could run. Exceptions got a list in the application, with the reason the line had been rejected. The shared inbox stopped being the system of record for what went wrong.
The next small change — a field the billing lead had wanted for a year — shipped without the original author on the call. That was the outcome worth having. A percentage improvement in efficiency would have been a guess, so it is not listed here.
The practice this belongs to is .NET applications.
Related practice: .NET applications
A paragraph on the system, the constraint, and the timing is enough. Jon reads every note.