L'architettura di un sistema software è definita da decisioni significative che guidano il modo in cui il software è progettato, implementato e mantenuto. Nel contesto delle linee di prodotti software, queste decisioni determineranno la progettazione di un'architettura che fornisce al software la possibilità di essere configurato per diverse varianti di prodotto ed esteso per soddisfare i requisiti futuri. Sebbene i modelli di variabilità descrivano le diverse configurazioni dei prodotti attuali e futuri supportati dalla linea di prodotti, la conoscenza di come l'architettura è stata progettata per supportare le variazioni di un prodotto nello spazio e nel tempo esiste solo nella mente degli architetti o rimane implicita nei modelli architettonici. Questo libro sostiene che la conoscenza trovata nei modelli architettonici e nella logica progettuale può essere utilizzata per facilitare la derivazione di varianti di prodotto e l'evoluzione della linea di prodotti. Per supportare questa nozione, proponiamo il metodo AKinSPL per catturare la conoscenza architetturale nelle linee di prodotti software.