To není korporát vs. startup ani agile vs. waterfall. Kdysi, v malé firmě (měl jsem osobní číslo 5), jsme měli jeden problém. Zákazníci furt měnili zadání. Přidávali rozhraní, měnili velikost paměti... A odmítali zaplatit vícepráce, nebo se hádali, že je to drahý, popř. že tohle si neobjednali...
Všechno se to vyřešilo tím, že se sepsalo, co má zařízení umět, jaký má být rozhraní (konektor, zapojení, počet), ovládací prvky, zobrazovače a displeje...
Podle toho se udělaly odhady, nacenil se materiál a práce hodilo se to do smlouvy. Specifikace byla příloha k ní. A když došel, že tam potřebuje ještě vrtuli a fontánu, tak se to nacenilo extra (včetně toho, co se odpracovalo a muselo zahodit), udělala se revize specifikace a příloha ke smlouvě. Místo deseti změn HW na projektu byla jedna změna z 10 projektů. A člověk mohl v klidu dělat svou práci.
Testování se sice dělá, ale ne vždycky jde programovat procesor během testů. Uměl by to nahrát třeba HP3070? A udělá programování zákazník, pokud máš dodat jenom funkční desku a kompletaci + finální test si dělá zákazník?
U každé programovatelné součástky si musím obhájit pět věcí:
- proč tam je a jestli se to zaplatí
- kdo a za kolik napíše program
- kdo, jak dlouho a za co bude SW udržovat
- jak a kdy se to do ní bude lít ve výrobě
- jestli a jak se to bude updatovat u zákazníka
Když si to neobhájím, tak tam holt procesor ani PLD nebude...