Dobré zadání softwarového projektu popisuje problém, uživatele, dotčené systémy a to, jak vypadá úspěch, a řešení nechává otevřené, aby ho navrhli partneři. Pošlete všem partnerům stejné zadání s rozpočtovým rozpětím a jasným seznamem toho, co je pevně dané, a nabídky, které dostanete zpět, budou dost přesné na to, abyste je mohli porovnat.
Zadání existuje proto, aby byly odpovědi srovnatelné
Zadání projektu má jediný úkol: umožnit několika partnerům pochopit váš problém natolik, aby navrhli způsob jeho řešení s odhadem, kterému můžete věřit. Pokud si každý partner mezery doplní vlastními předpoklady, nabídky se liší rozsahem, a ne kvalitou, a nejlevnější bývá ta, která toho předpokládala nejméně.
Zadání by proto mělo být přesné v popisu problému a skromné v popisu řešení. Popište, co musí platit, až bude projekt hotový, a nechte partnery vysvětlit, jak by se tam dostali. Jejich odpovědi na tuto otevřenou část jsou to nejužitečnější, co si přečtete.
Začněte obchodním problémem a tím, jak budete posuzovat úspěch
Otevřete důvodem, proč projekt vzniká: co dnes nefunguje, koho se to týká a kolik vás stojí nechat to tak, jak to je. Věta, že váš provozní tým přepisuje každou objednávku z e-mailu do ERP, řekne partnerovi mnohem víc než požadavek na portál pro správu objednávek.
Pak řekněte, jak budete posuzovat úspěch. Zvolte několik pozorovatelných výsledků, například ušetřený čas na objednávku, chyby, které se už nedostanou k zákazníkům, nebo datum, do kterého lze vypnout starý systém. Tato kritéria se později stanou kritérii převzetí milníků, proto je formulujte tak, aby je někdo mohl ověřit.
Uživatele, systémy a data popište dřív než funkce
Integrační a datovou práci je snadné podcenit, když ji partner nevidí. Než vyjmenujete funkce, popište, kdo bude software používat, se kterými systémy musí spolupracovat a s jakými daty pracuje. Mezery v této části se později vrátí jako požadavky na změny.
- Uživatelé: kdo to je, zhruba kolik jich je a kde a na jakých zařízeních pracují.
- Stávající systémy: co to je, kdo je vlastní a zda nabízejí zdokumentované API, nebo jen databázi a exporty souborů.
- Data: co je osobní, důvěrné nebo regulované, kde se data dnes nacházejí a kolik z nich je třeba migrovat.
- Provoz: kdo bude software po spuštění provozovat a jaká pravidla pro hosting nebo cloud už vaše firma má.
- Omezení: jazyky, požadavky na přístupnost, bezpečnostní standardy a každý termín, který se nedá posunout, i s jeho důvodem.
Sdělte rozpočtové rozpětí a termín, na kterém skutečně záleží
Mnoho zadavatelů rozpočet zamlčí, aby viděli, co partneři navrhnou. Výsledkem jsou nabídky na různé projekty: jeden partner navrhne minimum, jiný vše, co jste zmínili. Rozpětí, i široké, umožní každému partnerovi navrhnout nejlepší projekt, který se do něj vejde, a otevřeně vám říct, pokud se nevejde.
Totéž udělejte s časem. Řekněte, který termín je pevný a proč, například konec smlouvy nebo regulatorní lhůta, a které termíny jsou jen přání. Partner může plánovat kolem pevného termínu, jen když ví, který to je.
Označte, co je pevně dané, a zbytek nechte otevřený
Každý požadavek označte jako pevný, preferovaný, nebo otevřený. Pevný znamená, že nabídka bez něj neplatí, například hosting v EU nebo přihlašování přes vašeho stávajícího poskytovatele identit. Preferovaný znamená, že máte důvod, ale zvážili byste alternativu. Otevřený znamená, že chcete doporučení partnera.
Technologii nechte otevřenou, pokud nemáte skutečný důvod ji zafixovat, například interní tým, který bude kód udržovat, nebo platformu, na které vaše firma standardizovala. Když volbu zafixujete, řekněte proč, aby partneři nestrávili nabídku argumentací proti ní.
Nakonec požádejte všechny partnery, aby odpověděli ve stejné struktuře: jejich pochopení problému, přístup, fáze a milníky, předpoklady, rizika, tým a obchodní model. Společná struktura je to, co nabídky v praxi dělá srovnatelnými.
Chyby, kvůli kterým nabídky nejde porovnat
Mnoho nepoužitelných nabídek je odpovědí na zadání, které si o ně řeklo. Než to své odešlete, odstraňte z něj tyto vzorce.
- Seznam funkcí bez popisu problému, takže každý partner hádá vaše priority.
- Dlouhá specifikace, která fixuje řešení dřív, než kdokoli prozkoumal problém.
- Žádná zmínka o stávajících systémech ani o migraci dat, které se pak vrátí jako požadavky na změny.
- Doplňující informace sdělené jen některým partnerům při hovorech, takže jejich nabídky odpovídají na jiné otázky.
- Slova jako „jednoduchý“, „standardní“ nebo „jako známá aplikace“, která pro každého čtenáře znamenají něco jiného.
- Žádná lhůta pro otázky, nebo odpovědi sdílené jen s partnerem, který se ptal.
Otázky vítejte a čtěte je jako součást hodnocení
Dejte partnerům stanovenou lhůtu na otázky, odpovídejte písemně a každou odpověď pošlete všem. Otázky samy o sobě něco vypovídají: partner, který se ptá na vaše data, uživatele a kritéria převzetí, už přemýšlí o dodávce.
Pokud je problém ještě příliš nejistý na to, aby se dal dobře popsat, řekněte to a místo úplné nabídky si vyžádejte krátkou placenou discovery fázi. Pevná nabídka postavená na dohadech skrývá neznámé ve své rezervě na riziko; discovery fáze nahradí dohady fakty. Pokud chcete, aby vaše zadání přečetli nebo na ně odpověděli inženýři, můžete ho poslat přes náš formulář pro zadání projektu.
Hlavní body
- Popište problém, uživatele a to, jak vypadá úspěch, a řešení nechte otevřené.
- Integrační a datová práce se snadno podcení, proto vyjmenujte každý dotčený systém a datový soubor.
- Sdělte rozpočtové rozpětí a řekněte, který termín je pevný a proč.
- Každý požadavek označte jako pevný, preferovaný, nebo otevřený a nabídky si vyžádejte v jedné společné struktuře.
- Na otázky odpovídejte písemně a každou odpověď sdílejte se všemi partnery.
Časté dotazy
Jak dlouhé má být zadání softwarového projektu?
Dost dlouhé, aby pokrylo problém, uživatele, systémy, data, omezení, rozpočtové rozpětí a harmonogram, což se u většiny projektů vejde na několik stran. Pokud se výrazně prodlužuje, nejspíš popisuje řešení, a ne problém.
Mám partnerům pro vývoj softwaru sdělit rozpočet?
Ano, jako rozpětí. Bez něj partneři navrhují projekty velmi různých velikostí a nemůžete je porovnat. Rozpětí umožní každému partnerovi ukázat, co by v jeho rámci udělal, a poctivě vám říct, pokud nestačí.
Mám v reakci na zadání chtít pevnou cenu?
Jen pokud zadání popisuje práci dost podrobně na to, aby se dala odhadnout. Pokud jsou klíčové otázky ještě otevřené, vyžádejte si discovery fázi za pevnou cenu nebo rozpětí odhadu s uvedenými předpoklady a cenu vývoje zafixujte, až budou neznámé vyřešené.