Jak vyvíjíme aplikace

14. srpen 2012

Naši odborníci s velkým nasazením navrhují, kódují, testují a dodávají software nejvyšší kvality. Je pro nás velmi důležité, abychom s naším zákazníkem byli partneři se společným cílem – přivést zákazníkův podnik k úspěchu.

Pouze takový přístup nám zajistí dlouhodobou a pro obě strany výhodnou spolupráci.

Jak to děláme my

Vývoj softwaru pro mobilní zařízení a chytré televize většinou nepotřebuje složitý proces, nicméně má svoje specifika, která tento proces ovlivňují.

Jakmile nám předáte základní informace a představy o Vaší aplikaci, připravíme Vám na jejich základě cenovou nabídku, která obsahuje všechny faktory ovlivňující následný vývoj aplikace. Získáte tak přehled o ceně, termínech, technologických limitacích, licenčním ujednání, projektovém vedení a referencích.

Po podpisu smlouvy začnou ihned přípravy na tzv. drátěném modelu, kde je třeba detailně si ujasnit, jak bude budoucí aplikace vypadat. Jakmile nalezneme stejný pohled na aplikaci, začínáme s vývojem a grafickými návrhy. Vývoj probíhá v několika iteracích, kdy v první iteraci se snažíme dodat aplikaci v takovém stavu, aby uživatel získal dobrou představu o výsledné aplikaci.

Jakmile je aplikace dokončena, začneme se systémovým testem, kdy aplikaci testujeme a jak na vybraných zařízeních, tak ve vztahu k dalším elementům v řešení.

Po řádném otestování, kdy testování často provádí zákazník, nastane finální GO pro publikování na příslušném store (App Store, Google Play, atd.). Zde mnohdy začíná skutečná práce, a to propagace Vaší aplikace, komunikace s uživateli, reakce na jejich potřeby a následná aktualizace aplikace.

Nezávisle na použitém vývojovém modelu děláme vše pro to, aby náš zákazník mohl po každém dodání aplikace spokojeně používat řešení kvalitního softwaru s těmito základními rysy:

  • Srozumitelnost
  • Konzistence
  • Udržovatelnost
  • Snadnost použití
  • Spolehlivost
  • Efektivita
  • Bezpečnost

Věříme našim lidem, věřte jim i Vy!

Obecný přístup

Jak jsme již zmínili v textu výše, přizpůsobujeme styl kooperace s našimi partnery jejich potřebám. Nicméně v principu existují dva přístupy k tomu, jak zrealizovat softwarový projekt:

  • “Vodopádový ” model, který je postaven na velmi detailní specifikaci požadavků na začátku projektu a na následných fázích: návrh, implementace, test a dodání požadovaného řešení.
  • “Agilní” přístup, založený na pravidelném kontaktu se zákazníkem a iterativním vývoji.
    Ve vodopádovém modelu je potřeba investovat podstatnou část nákladů hned na počátku projektu. Výsledkem úvodní fáze je typicky specifikace požadavků, odsouhlasená mezi zákazníkem a dodavatelem. Jakmile jsou požadavky dohodnuty, nasledují v řadě fáze návrhu, implementace, testu a dodání. Z hlediska smlouvy jsou tyto projekty obvykle postaveny na pevné ceně.

Základní výhoda pro zákazníky spočívá v tom, že znají od samého začátku cenu, termín dodání a přesný obsah projektu. Hlavní nevýhodou je, že případné změny požadavků, ke kterým dojde v průběhu projektu, jsou buď zcela vyloučené, nebo velmi obtížné a drahé na to, aby je bylo možné či výhodné realizovat.

Je-li použit agilní model, v počáteční fázi se obsah projektu dohodne pouze ve velmi obecných rysech. Projekt se vyvíjí v několika iteracích, z nichž každá v sobě obsahuje všechny fáze známé z vodopádového modelu. Přinejmenším po každé iteraci je řešení prezentováno zákazníkovi, který může rozhodnout o tom, které požadavky budou realizovány v příštím inkrementu.

Výhodou agilního modelu je, že výsledek lépe odpovídá přáním zákazníka. Zákazník má totiž možnost v průběhu projektu pozorovat, jak bude systém skutečně vypadat, a s tím vyvíjet i své požadavky. Nevýhodou je, že zákazník na začátku projektu nezná jeho detailní obsah.

Zkušenosti z posledních 10 let v oblasti vývoje softwaru prokázaly převahu agilních metod, a to především pro velké systémy, kde je velmi obtížné až nemožné definovat detailně všechny požadavky hned na začátku projektu. Dle naší zkušenosti je v reálných projektech vždy přítomná jistá směs čistě vodopádových a agilních přístupů.

Nakonec je to vždy zákazník, kdo rozhodne o modelu spolupráce. V Mautilu víme, že agilní přístup znamená větší efektivitu procesu vývoje softwaru.

Přihlašte se k odběru novinek