Typem smlouvy, který je vhodný pro menší IT projekty, nebo pro projekty s velmi dobře propracovaným (a již neměnným) zadáním je smlouva o dílo. V ní se software house zavazuje k vytvoření díla, a druhá strana (objednatel) se zavazuje za jeho zaplacení.
Smlouva o dílo může stanovit parametry projektu, termíny dodání, finanční náklady a další specifika týkající se vytvářeného softwarového produktu. Velkou praktickou nevýhodou tohoto typu smlouvy je to, že vyžaduje přesný popis toho, jak má výsledný systém vypadat. To obvykle vyžaduje mnohaměsíční analýzu a přesné zadání od klienta. V případě, že klient během tvorby zjistí, že se v zadání na něco zapomnělo či potřebuje provést nějakou úpravu oproti zadání, vyžaduje to změnu smlouvy. Jedná se tedy o velmi neflexibilní způsob spolupráce, u kterého se velmi těžce reaguje na změny.
Se smlouvou o dílo se lze proto setkat u velmi malých projektů nebo u veřejných zakázek. V případě běžného komerčního vývoje se upřednostňují flexibilnější způsoby spolupráce jako je smlouva o vývoji software, která může umožňovat i agilní vývoj.