Zákaznická zkušenost s SDLC (Systems Development Life Cycle - životní cyklus vývoje systémů)
V xitee Vám pomůžeme s každou fází tohoto procesu.
Fáze projektu: 00-07
00
Zahájení projektu
Přijdete s nápadem na nové softwarové řešení nebo se rozhodnete změnit již stávající softwarový produkt. V této fázi již máte hrubou představu o realizovatelnosti a nákladech za Váš projekt (finanční prostředky, souhlas vedení).
01
Analýza požadavků
V této fázi získáváte podněty od všech zúčastněných stran, včetně zákazníků, prodejců, odborníků z oboru nebo interních vývojářů.
V této fázi nám zákazník, Vy, sdělí své požadavky na změny stávajícího produktu, nebo požadavky na nové řešení, které by usnadnilo vaše podnikání. Společně se pak snažíme formulovat požadavky zákazníka co nejpřesněji, abychom dokázali odhadnout časovou náročnost projektu a jeho jednotlivé fáze a zajistili tak nejefektivnější způsob realizace celého projektu.
02
Plánování
Na základě analýzy vámi předložených požadavků, Vám zašleme odpověď na Váš Požadavek na návrh (Request for Proposal, RFP).
V odpovědi vyjadřujeme náš zájem provést Váš projekt. V odpovědi vyjadřujeme náš zájem o realizaci projektu a prokazujeme naše kompetence na relevantních referenčních projektech.
Pokud jsou všechny požadavky jednoznačné a jasné, zašleme Vám nezávazný odhad nákladů.
Tento odhad se zakládá vždy na našem současném stavu znalostí a formulovaných předpokladech.
V odpovědi zároveň popíšeme přístup k projektu, využití technologií, testovací strategii a navrhneme harmonogram celého vývoje.
03
Design (Specifikace)
Během této fáze náš vedoucí vývojář a technický architekt začínají pracovat na počátečním high-level design plánu softwarového řešení.
Cílem této fáze je specifikovat software na dostatečně detailní úrovni za současné intenzívní spolupráce s Vámi.
Obvykle zorganizujeme řadu workshopů a intenzívních jednání, abychom zajistili co nejpřesnější feedback jak z Vaší, tak naší strany. Abychom mohli projekt realizovat co nejoptimálněji, budeme od Vás potřebovat přístup ke všem relevantním informacím (např. dokumentace k již existujícímu řešení, zdrojové kódy, specifikace SW rozhraní třetích stran atd.).
Míra specifikace záleží na vybraném vývojovém modelu, což posléze ovlivňuje i cenový model. V případě konzervativního vývojového modelu pokrývají specifikace kompletní projekt do detailu, zatímco v agilním modelu zůstává počáteční specifikace spíše na vysoké úrovni a s postupem vývoje se průběžně zpřesňuje. Berte, prosím, na vědomí, že pouze plně detailní specifikace nám umožní připravit nabídku s fixní cenou.
Specifikační dokument obvykle definuje rozsah projektu, popis funkcí řešení, technický návrh, specifikaci prostředí a grafický návrh. Slouží jako podklad při finálním předání produktu zákazníkovi a všem relevantním osobám k přezkoumání a schválení.
Na základě specifikací můžeme připravit detailnější nabídku se závazným odhadem náročnosti a navrhnout Vám optimální projektové nastavení.
Základními složkami projektového nastavení jsou obvykle: role & odpovědnosti, požadavky & výstupy, nástroje & metodika, prostředí & technologie, plán a rozpočet projektu, komunikační plán.
Součástí designové fáze může být i prototypování. Prototyp je něco jako raná verze softwaru během vývoje softwaru iterativním modelem. Představuje tedy jen základní princip řešení – jak vypadá a jak funguje.
04
Vývoj software (Implementace)
Implementace je hlavní projektová fáze, během které se software vyvíjí. Na konci této fáze by měl být software schválen zákazníkem a spuštěn ve svém produktivním prostředí.
Náš vývojový tým se obvykle řídí metodikou Kanban a principy štíhlého vývoje (Lean development) s podporou nástrojů Atlassian (Jira, Confluence, Bitbucket a Bamboo). Takto nastavená organizace projektu umožňuje vývojářskému týmu nepřetržitou práci na projektu s konstantním vědomím cíle, což zaručuje nejlepší provedení projektu. Zároveň může tým flexibilně reagovat na změny v prioritizaci úkolů, aniž by bylo nutné měnit harmonogram projektu. Díky své univerzálnosti lze tuto projektovou organizaci snadno přizpůsobit široké škále modelů řízení projektů, od konzervativních až po agilní. Umožňuje nám také na vyžádání integrovat do týmu vývojáře od zákazníka.
Při zahájení vývoje se naši vývojáři řídí smluvenými specifikacemi, ve kterých byla definována i kritéria pro převzetí produktu. Na konci každé iterace Vám bude předána část projektu k Vašemu schválení. Pro projekty vedené metodou Waterfall byla veškerá specifikace vyjasněna již na začátku projektu. U projektů, které vedeme agilní metodou, jsou specifikace a schvalovací kritéria definována na začátku každého sprintu.
Vývojáři zároveň dodržují smluvené pokyny týkající se stylu kódu a dodržují osvědčené vývojové postupy, jako jsou tzv. Revize kódu a Unit testy.
05
Testování
Testování se provádí současně s vývojem software. Tato zásadní činnost zajišťuje, že vše funguje, jak má. Vývojáři/testeři detekují a eliminují chyby, bugy a jiné defekty v softwarovém řešení tak, aby byl zákazníkovi předán výsledný produkt dle jeho očekávání.
Proces testování je u každého projektu jiný a zahrnuje různé typy testů (funkční, automatické, bezpečnostní nebo výkonostní).
Poslední činností před vydáním nového produktu do produktivního prostředí je tzv. Acceptance testing. Toto testování provádíte Vy za účelem kontroly, že Váš produkt pracuje dle Vašeho očekávání.
06
Nasazení & spuštění
Nasazení softwaru plánujeme současně s Vaším vývojářem/vlastníkem projektu, takže máte plnou kontrolu nad všemi úkony a přesně víte, jaká část a kdy bude spuštěna.
U systémů kritických pro chod podniku pro prvotní nasazení také připravujeme migraci dat, když je to potřeba, provádíme generální zkoušky a vytváříme roll back plány, abychom minimalizovali případné přerušení provozu.
Po počátečním nasazení organizujeme další nasazení podle Vašich potřeb. V rámci agilní metodiky vývoje usilujeme o kontinuální dodávku s automatickými nasazeními.
07
Údržba & Podpora
V případě potřeby můžeme zajistit nepřetržitou podporu a údržbu Vašeho řešení. Služba podpory vyžaduje úvodní jednorázovou proceduru pro nastavení monitorovacího systému a servisního oddělení a následně je poskytována nepřetržitá služba na základě dohodnuté SLA (Service Level Agreement). V xitee nabízíme celou řadu služeb podpory (podpora 1., 2. a 3. úrovně, aktivní monitoring atd.).