
Softwarový proces Profinitu
Softwarový proces Profinitu je inspirován školou tzv. best practices - je založen na minimálních nárocích stanovených pro každou z primárních a podpůrných činností softwarového inženýrství.
Minimální nároky jsou stanoveny tak, aby bylo zaručeno, že zákazníkovi dodáme poptávané řešení v požadované kvalitě, ceně a termínu. K takové dodávce vede řada dílčích kroků:
Nabídka
- aby od nás zákazník dostal nabídku, která bude v maximální možné míře respektovat jeho požadavky a současně všechny známé či pravděpodobné okrajové podmínky a bude tak co nejlépe odpovídat možné budoucí skutečnosti
Specifikace požadavků
- abychom my i zákazník vždy přesně věděli co je a není od systému požadováno, a to nejen po stránce funkční, ale i z mnoha dalších důležitých hledisek, jako je výkonnost, spolehlivost či bezpečnost
- by byla specifikace otevřená a srozumitelná i pro netechnické partnery na straně zákazníka
Design
- abychom byli schopni naplnit všechny požadavky zákazníka, systém byl efektivně rozšiřitelný a udržovatelný, a současně abychom respektovali obecně uznávané technické kvality návrhu
- aby při rutinním vývoji byly stejné momenty řešeny stejně
Programování
- abychom vytvářeli pochopitelné, čitelné, odladitelné, testovatelné, opravitelné a udržovatelné programy, které ctí navržený design systému
Testování
- abychom zákazníkovi předali systém, který neobsahuje závažné chyby či velké množství malých chyb
- aby zákazník byl s kvalitou dodaného řešení spokojen
Vývojové prostředí
- abychom věděli, v jakém prostředí má náš systém fungovat, mohli vyvíjet v prostředí, které se tomu cílovému maximálně podobá a byli schopni toto prostředí kdykoli znovu vybudovat
Dokumentace
- aby bylo systém možné snadno nainstalovat a efektivně provozovat a používat, abychom my sami byli schopni jej dále udržovat a rozvíjet
- abychom dosáhli dobré zastupitelnosti jednolitých členů v týmu
- abychom o systému mohli komunikovat se zákazníkem
Konfigurační řízení
- abychom vždy věděli z jakých částí se skládá náš systém
- abychom mohli pracovat na více jeho verzích současně
- abychom byli schopni jednoduše a efektivně řídit a realizovat změny v systému (implementace nových požadavků, oprava nalezených chyb), aniž bychom ohrozili systém samotný
Validace a verifikace
- abychom měli zpětnou vazbu a kontrolu, že systém vyvíjíme efektivně z pohledu zdrojů, nákladů, cílů a budoucí udržovatelnosti a rozšiřitelnosti
Implementace softwarového procesu
Jednotlivé projekty jsou pravidelně monitorovány a kontrolovány. Základním mechanismem z pohledu softwarového procesu jsou tzv. review (supervize) projektu, která se konají každý měsíc a jejichž cílem je odhalit potenciální problémy, rizika, neefektivní využívání zdrojů a podobně. Softwarový proces se dotýká také každého jednotlivce - každý konzultant má připraven profesní kariérní řád, v rámci něhož participuje na zkvalitnění procesu vývoje na úrovni projektu či celé organizace.
