Vývoj softwaru byl historicky úzce vázaný na podporu jednotlivých projektových činností pomocí nástrojů, které umožňovaly vykonávat každodenní práci vývojových týmů (vizuální modelování na konceptu UML apod.). S úspěchem softwarových projektů u zákazníků však rostly i vývojové týmy a jejich potřeby.