neděle 4. května 2014

Nekvalitní software

Také se vám stává, že váš PC odpovídá pomalu nebo zamrzne? Máte někdy pocit, že ten „krám“ prostě roztřískáte? Tak to je nejspíše způsobeno nekvalitním softwarem. Hodně vývojářů a ještě více uživatelů podléhá novému trendu rychle vydávaného softwaru. Ještě před pár lety existovalo slovní spojení „robustní vývoj“.

Toto slovní spojení označovalo metodiku vývoje softwaru, při které se každá úloha důkladně analyzovala. Výsledky analýzy se použily pro vytvoření takzvaného prototypu, ten se znovu analyzoval nebo testoval a poté se přešlo k tvorbě finálního softwaru. Ten samozřejmě prošel řadou testů, nalezené chyby byly odstraněny. Celý proces vývoje byl doprovázen bohatou dokumentací.

Ano, vývoj samotného softwaru byl pomalý. Mohl trvat i několik let. Ale bylo to špatně? Pokud se dnes podívám, jakým způsobem firmy vyvíjejí svůj software, vidím, že už se naklade důraz na kvalitu výsledného softwaru, ale spíše na rychlost, s jakou je vytvořen. Vznikají nástroje a technologie, které tuto myšlenku podporují. A to všechno jen kvůli nám - uživatelům.

Nikomu se nechce čekat. Kdo přijde první, vyhrává. Co je v této verzi na houby, v příští bude OK. Asi tak se dá shrnout dnešní metodika vývoje softwaru, čest výjimkám z tohoto pravidla. A proto kancelářský balík, co startoval před pěti lety půl minuty, dnes startuje také půl minuty. Samozřejmě, že máme 2x rychlejší počítače, ale také 2x náročnější software, že?

A existuje nějaké řešení této situace? Možná je to open source.


Jan Tajovský, I3.B (školní rok 2013/2014)

2 komentáře:

  1. Dneska se převáže vyvíjí sw pomocí tzv. agilního plánování - a není to vůbec nic nového, základy této metody vznikly již v 90. letech. http://cs.wikipedia.org/wiki/Extr%C3%A9mn%C3%AD_programov%C3%A1n%C3%AD

    To, že jsou zrychlené iterace a tím pádem dochází k rychlejšímu vydávání nových verzí, naopak zlepšuje stabilitu a robustnost sw, navíc umožňuje pružně reagovat na změny a požadavky zákazníka.

    Dokumentace se dnes již tak nehrotí, protože se spíše používá samodokumentační kód - místo vytvoření komentáře se část kodu přenese do jiné metody, které se dá příhodný název (třeba "VypocetCeny") - k tomu již další dokumentace netřeba, je jasné co metoda dělá.

    Testuje se samozřejmě i dnes, akorát je větší množství testů zautomatizováno, takže se mohou verze vydávat dříve.

    Proto bych si dovolil tvrdit, že v článku nemáš pravdu, protože nekvalitní software museli udělat nekvalitní programátoři, styl vývoje nehraje roli. Není lepší vydat každý týden novou (beta verzi), kterou za další týden otestuje zákazník, opraví se bugy a pak se nasadí, než čekat dva roky na vůbec první použitelnou verzi podle tvé myšlenky?

    K poslední poznámce o open source - opravdu je lepší, když software bastlí několik desítek lidí po večerech než když to dělá profi placený team? (viz příklad vývojové IDE opensource - code blocks, netbeans, eclypese vs Visual Studio)

    OdpovědětVymazat
  2. Jene, clanek pekny, ale mimo realitu. Neco jako komunismus - budeme si všichni rovni je hezká idea, leč v praxi nefunguje.
    A není třeba zaklad blogu chyb prosty text?
    Karel, ustav abs 1991

    OdpovědětVymazat