Prvním krokem vývoje informačního systému je vytvoření specifikace požadavků na systém. Na tvorbě specifikace pracuje tým složený ze zástupců řešitele i zadavatele. Zadavatel definuje požadavky na systém a vysvětluje je. Řešitel tyto požadavky formalizuje a vytváří specifikaci, která je základním dokumentem ve všech etapách vývoje projektu. Empirické výzkumy v oblasti softwarového inženýrství však předkládají varovná zjištění. Právě v této etapě vývoje projektu vzniká největší množství kritických chyb. Přitom odstranění chyb této etapy po dokončení projektu je ze všech nejnákladnější, protože zásah do této etapy vyvolává nutnost provedení změn ve všech ostatních etapách. Je dokázáno, že oprava jedné chyby po skončení projektu je až dvěstěkrát nákladnější, než kdyby byla tato chyba odstraněna ihned. Tytéž výzkumy dokládají, že 60% projektů není dokončeno dle časového harmonogramu a 60% projektů se nevejde do plánovaného rozpočtu. Pouze 5% projektů obě tato kritéria splní.