Spreadsheet

Cílem tohoto příspěvku je upozornit na rizika vyplývající z používání spreadsheetů a poskytnout návod jak tato rizika minimalizovat.

Už jste někdy učinili rozhodnutí na základě informací uvedených ve spreadsheetu? Ať už jste na tuto otázku odpověděli kladně nebo záporně, měli byste si přečíst tento článek. Problém je v tom, že zatímco původní data jsou pořizována, zpracovávána a uchovávána v relativně bezpečných systémech, tak poté jsou exportována do velice zranitelných spreadsheetů, ve kterých lze velice obtížně zajistit požadovanou integritu. A je jedno, zda se jedná o spreadsheet vytvořený v produktu OpenOffice.org Calc nebo MS Excel. Je třeba si uvědomit, že v podstatě kdokoliv může ve spreadsheetech velice snadno provést jakoukoliv změnu, a to od prosté změny hodnot, až po změnu výpočetní logiky, která nebude nikde dokumentována. Spreadsheet je specifický právě tím, že obsahuje v jednom souboru jak vlastní data, tak i výpočetní logiku, tedy něco, co běžně bývá od sebe nějakým způsobem důsledně odděleno.

Spreadsheety jsou také velice často používány jako vstupní data pro vznik dalších spreadsheetů a nezřídka také dochází k propojování spreadsheetů mezi sebou, to znamená, že chyba v jednom se tak může velice rychle přenést i do dalších spreadsheetů. Spreadsheety jsou pak běžně používány napříč organizační strukturou. Nižší, střední i vrcholový management organizace je používá jako zdroj informací pro operativní, taktické a strategické řízení. Je zvláštní, že ač jsou na základě informací v nich uvedených činěna velice závažná rozhodnutí, není kvalitě spreadsheetů věnována dostatečná pozornost! Je asi zbytečné zdůrazňovat, že takovýto přístup může vést k chybným a nevratným rozhodnutím s velice vážnými následky. Většina společnosti si rizika spojená s používáním spreadsheetů neuvědomuje (v podstatě se jedná o nevědomou retenci rizik).

I u tvorby spreadsheetu je proto vhodné, stejně jako u vývoje jakéhokoliv jiného software, použít nějakou metodiku vývoje software, která obvykle začíná definicí požadavků, analýzou, návrhem, odsouhlasením, pokračuje vlastním vývojem, testováním a končí nasazením a údržbou. Možná vám to na první pohled připadá zbytečné, ale když si uvědomíte, pro koho jsou spreadsheety určeny, k čemu slouží, a jak složité výpočty se v nich často provádějí, tak zjistíte, že to až tak přehnané požadavky vlastně nejsou. Jsem přesvědčen, že v okamžiku, kdy zavítáte na stránky http://www.eusprig.org/stories.htm, kde jsou uvedeny skutečné příklady špatných rozhodnutí na základě informací uvedených ve spreadsheetech, nebudete už vůbec pochybovat o smyslu zavedení nějaké metodiky.

Minimálně byste měli stanovit závazná pravidla pro:

  • vývoj a změnu spreadsheetů, resp. pro celý životní cyklus spreadsheet,
  • testování, které by měla kromě autora provádět minimálně ještě jedna nezávislá osoba,
  • pojmenování spreadsheetů, kde by již z názvu mělo být patrné jaké informace obsahuje,
  • číslování verzí, často existuje tolik verzí, že nikdo neví, který spreadsheet je aktuální,
  • evidenci spreadsheetů (jaké spreadsheety se vytváří, k čemu slouží, jaké je jejich úložiště, pro koho jsou určeny)
  • zálohování a archivaci spreadsheetů,
  • řízení přístupu ke spreadsheetům.

Dále byste měli zajistit, že

  • součástí spreadsheetu bude vždy aktuální dokumentace – nejlépe na prvním listu,
  • ve spreadsheetu bude uvedeno:
    • jméno autora spreadsheetu, – toho, kdo spreadsheet vytvořil a je odpovědný za jeho správnou funkčnost,
    • jméno vlastníka spreadsheetu – toho, kdo do spreadsheetu zadal data a je odpovědný za jejich správnost.
    • jaký je jeho klasifikační stupeň – např. tak jak jsme si uvedli v článku důvěrnost.
  • veškeré změny ve spreadsheetu budou dokumentovány a auditovány.

Při vlastní tvorbě spreadsheetu je vhodné dodržovat tato pravidla:

  • Navrhnout spreadsheet tak, aby bylo možné jej číst přirozeně, to znamená zleva doprava a shora dolů. Stejně tak listy v sešitu by měly jít za sebou v takovém pořadí, v jakém mají být čteny.
  • Barevně od sebe odlišit buňky, do kterých se zadávají hodnoty, od těch ve kterých se zobrazují výsledky a kde probíhají výpočty. V legendě byste poté měli uvést, co jednotlivé barvy znamenají.
  • V některý případech je vhodné mít jeden list pro zadávání hodnot, druhý list pro výpočty a třetí list pro zobrazení konečných výsledků.
  • Pojmenovat buňky tak, aby jasně vystihovaly co je jejich obsahem.
  • Konstanty uvádět v samostatných buňkách.
  • Dlouhé vzorce raději rozdělit do více buněk.
  • Provádět kontrolu hodnot na vstupu i na výstupu.
  • Využívat možnosti komentáře v buňkách k popisu toho, co obsahují nebo výpočtu, který se v nich odehrává.
  • Všechny buňky, do kterých se nezadávají hodnoty, zamknout a případně i chránit heslem, aby se zabránilo náhodnému nebo úmyslnému smazání či změně jejich obsahu.
  • Pokud spreadsheet obsahuje makra, měla by být doplněna vhodnými komentáři a chráněna heslem, aby se zabránilo jejich náhodné nebo úmyslné nežádoucí modifikaci.

Odkazy:

http://www.eusprig.org/smbp.pdf – popisuje životní cyklus vývoje spreadsheetu v 6 fázích a to Scope->Specify->Design->Build->Test->Use

http://www.eusprig.org/hdykysir.pdf – obsahuje užitečné rady a praktické příklady včetně ukázek zdrojových kódů některých maker.

A na základě jakých informacích se rozhodujete vy? Jsou ve vaší společnosti zavedená některá výše uvedená pravidla? A dodržujete je?

Pokud vás tento článek zaujal, můžete odkaz na něj sdílet.

Štítky: ,


K článku “Spreadsheet” se zde nenachází žádný komentář - buďte první.

Diskuse na tomto webu je moderována. Pod článkem budou zobrazovány jen takové komentáře, které nebudou sloužit k propagaci konkrétní firmy, produktu nebo služby. V případě, že chcete, aby z těchto stránek vedl odkaz na váš web, kontaktujte nás, známe efektivnější způsoby propagace.

Přihlášeným uživatelům se tento formulář nezobrazuje - zaregistrujte se.

Jméno:(požadováno)
E-mail:(požadováno - nebude zobrazen)
Web:

Text vaší reakce: