In generale sono d'accordo con James Anderson. Nella mia esperienza, tuttavia, vi sono aspetti aggiuntivi che possono giustificare considerazioni e che possono puntare a un'opzione che consente effettivamente interfacce in evoluzione.
Questo esempio è di una delle squadre con cui lavoro. Spediscono un prodotto su base regolare, almeno una volta al mese, a volte anche settimanalmente. I clienti sono incoraggiati ad eseguire l'aggiornamento poiché le nuove funzionalità e le nuove piattaforme sono supportate solo sulle versioni più recenti. L'aggiornamento è semplice e i clienti possono anche saltare le versioni intermedie. Il downgrade non è supportato. Inoltre, le versioni sono supportate solo per 3 anni. Dopodiché c'è un periodo di grazia di un anno in cui le spese di manutenzione raddoppiano.
Di conseguenza la stragrande maggioranza - circa il 95% dei clienti - sta aggiornando regolarmente, almeno una volta all'anno. Ciò significa anche che è possibile introdurre gradualmente nuove interfacce.
E le vecchie interfacce? La tecnica usata da questo team sta dichiarando le vecchie interfacce come "fine vita". Poi c'è un periodo di 12 mesi in cui la nuova interfaccia è disponibile e la vecchia interfaccia non è ancora stata ritirata. Le nuove interfacce offrono funzionalità migliori rispetto alla vecchia interfaccia, quindi ci sono due incentivi: la vecchia interfaccia di fine vita e la nuova interfaccia sono molto migliori.
La vecchia interfaccia concreta in questo caso era una tecnologia specifica per piattaforma che è stata gradualmente sostituita da un'interfaccia di servizio basata sulla tecnologia standard tradizionale.
Ovviamente questo cambiamento non avviene durante la notte e ci vogliono molti anni prima del completamento. Ma ha permesso di fermare gli investimenti nella vecchia tecnologia e invece di investire nella nuova tecnologia. Il cliente riceve assistenza e ha un percorso in avanti. La maggior parte di loro accolgono favorevolmente anche il passaggio alla tecnologia più recente.
Tieni presente, tuttavia, che questo particolare approccio potrebbe non funzionare nel tuo scenario. Certamente funziona per il team con cui lavoro.