Questa potrebbe essere la mia interpretazione, ma descriverei la divisione come segue:
Il software S-Type è quello in cui le specifiche sono chiare e dettagliate prima ancora che inizi lo sviluppo. Grazie a questa specifica dettagliata, è chiaro quale dovrebbe essere la soluzione e la sua implementazione è banale. Ma questo tipo di software non è interessante, dato che di solito sono già stati risolti e implementati. Quindi è sufficiente importare una libreria o chiamare un servizio.
Il software di tipo P è quello in cui esiste la specifica, ma è di alto livello e non completamente dettagliato. Quindi lo sviluppo ha bisogno di impegnarsi per trovare una soluzione concreta. Inoltre, ma questo potrebbe essere solo io, c'è un chiaro traguardo "fatto", dopo il quale lo sviluppo cessa. Questo perché nel momento in cui questa divisione è stata formulata, non c'era un modo semplice per fornire aggiornamenti ai clienti. Quindi era fondamentale fare le cose per bene la prima volta. Questo è chiaro per i giochi del tempo. Se sei stato uno sviluppatore di giochi qualche decennio fa, il gioco è stato "fatto" quando è stato messo su disco e rilasciato. E mentre era possibile rilasciare gli aggiornamenti, raramente trovava il modo per tutti i tuoi clienti.
Il software E-Type è un software che non è mai stato fatto e cambia, e deve cambiare costantemente. Questo perché le sue specifiche e i requisiti cambiano costantemente. Come ogni software di calcolo delle tasse deve aggiornare i suoi calcoli in base alle nuove leggi.
Ma oggigiorno, grazie alla connettività online sempre presente, qualsiasi software può essere aggiornato senza sforzo. Anche i giochi forniscono aggiornamenti e contenuti molto tempo dopo la prima pubblicazione. E per molti, il costante cambiamento è un vantaggio competitivo. Quindi sarebbe raro vedere software che non è E-Type al giorno d'oggi.