Lo sviluppo efficace di applicazioni raramente consiste soltanto nel creare schermate. L’applicazione deve riflettere il modo in cui le persone lavorano davvero, coordinarsi con i sistemi sottostanti e restare comprensibile mentre i requisiti si ampliano. Negli ambienti mobile, web, desktop e kiosk, l’approccio è stato trattare esperienza utente, architettura applicativa, dipendenze hardware ed esigenze operative come parti dello stesso problema.
Il lavoro è iniziato comprendendo le decisioni che gli utenti dovevano prendere, le informazioni necessarie in ogni fase e le condizioni che potevano interrompere il workflow. Le interfacce sono state poi supportate da componenti riutilizzabili, servizi chiaramente separati e livelli di integrazione testabili. Questo ha permesso alle applicazioni di restare semplici per gli utenti senza nascondere la complessità operativa in codice fragile.