Connecting a legacy system through a new API
Begin by discovering which interfaces the old system actually supports and who is allowed to change it. A modern API can protect new applications from old details, but it cannot make an unre
Practical thinking on product design, software development and the decisions in between.
Begin by discovering which interfaces the old system actually supports and who is allowed to change it. A modern API can protect new applications from old details, but it cannot make an unre
A large spreadsheet is not automatically a software project.
An approval workflow should make a decision traceable, not merely send reminders faster.
A report is ready for automation when its definitions are stable enough to reproduce, not simply when preparing it is tedious.
A booking system promises more than a time on a calendar.
A portal reduces repetitive work when customers can finish a useful task without asking someone to interpret the result.
Choose the delivery model around a task that must work, rather than a preference for an app-store icon.
Start by separating public material from private work.
A multilingual product needs a stable relationship between content, language and user preference.
A quote form should collect enough context for a useful reply without requiring the visitor to write a specification.
A business dashboard is useful when it helps someone notice, understand and act on work.
A performance budget is a boundary for a defined user experience, not a score chosen because it looks impressive.
A first product, a difficult workflow or software that needs a fresh start. Tell us where you are.