Dokument o načrtovanju programske opreme opisuje specifikacije za programsko opremo, da zagotovi načrt za razvijalce. Proizvaja se zgodaj v procesu razvoja programske opreme in se lahko spremeni glede na spreminjajoče se okoliščine in potrebe. Ta dokumentacija je zasnovana za interno uporabo in se običajno ne širi zunaj oblikovalske skupine in pisarn naročnika. V nekaterih primerih so lahko odlomki objavljeni kot del raziskav ali komunikacije z ljudmi zunaj podjetja.
Komponente dokumenta načrtovanja programske opreme opisujejo, kaj naj bi izdelek naredil in kako naj bi to naredil. To vključuje osnovno arhitekturo programa skupaj z vsemi funkcijami, ki jih morajo razvijalci vključiti v končni izdelek. Dokumentacija lahko razpravlja o grafičnem vmesniku in o tem, kako bodo uporabniki sodelovali s programom, da bi ponudili napotke programerjem, ko se premika skozi faze razvoja.
Pri izdelavi dokumenta za načrtovanje programske opreme lahko sodeluje več osebja. Razpravljajo o različnih potrebah in pomislekih, da zagotovijo, da je dokument popoln in potrdijo, da natančno predstavlja potrebe strank. Njihov cilj je ustvariti enoten vodnik za člane ekipe. To zagotavlja doslednost v razvojnem procesu, saj vsi uporabljajo isti referenčni dokument, ko načrtujejo in izvajajo funkcije.
Poleg razprave o tem, kako naj bi programska oprema delovala, lahko dokument o načrtovanju programske opreme izrecno zajema ciljno občinstvo. Podjetje, ki se ukvarja z nadzorom programske opreme za kos znanstvene opreme, lahko na primer domneva, da je kateri koli uporabnik znanstvenik ali tehnik, ki je seznanjen s strojem. To pomeni, da programski opremi ni treba vključevati poenostavitev tehničnega jezika ali razprav o tem, kaj počnejo kontrolniki, ker bi to moral uporabnik že vedeti.
Nasprotno pa programska oprema, zasnovana za obdelavo besedil, morda potrebuje dokumentacijo in vodnik za uporabnike, ki niso tako seznanjeni z obdelavo besedil in računalniki. Za nekoga z izkušnjami je morda uporaben že takoj, vendar bi lahko imel module, ki bi jih ljudje uporabljali, če se želijo poučiti o funkcijah, dobiti vadnice ali poiskati pomoč pri določeni nalogi. Parametri, določeni v dokumentu o načrtovanju programske opreme za več tehničnih projektov, lahko priporočajo, da opustite nekaj dokumentacije in uporabniških napotkov glede argumenta, da uporabniki programske opreme tega ne potrebujejo, kar pomeni, da morda ni razloga za vlaganje časa in energije v razvoj to.