Komentáře k článku

Pár triviálních poznámek k vývoji aplikací

Zdroják by měl přinášet nejen informace o nových technologiích a webových kouzlech. Rádi dáváme prostor i článkům, které se věnují metodice práce, „správným návykům“ při vývoji a podobně. Článek Reného Steina shrnuje takové zásadní věci, které by si měli pamatovat především vedoucí vývojových týmů…

Zpět na článek

32 komentářů k článku Pár triviálních poznámek k vývoji aplikací:

  1. steinbauer

    René nezklamal

    René Stein nezklamal, jako vždy.

    BTW: Existují i nějaká doporučení pro freelancery, samostatné vývojáře, atd…?

    1. René stein

      Re: René nezklamal

      Díky.
      Mám obavu, že spousta záležitostí popsaných v článku dopadá i na freelancery:) Jaký druh doporučení máš na mysli – nástroje, domácí infrastruktura pro vývoj:), nějaké řízení času?

      Mírně nevážně.
      Co se týká nástrojů a infrastruktury, je dobré, když přemluvíš ženu a doma najdeš místo pro server.:)
      O řízení času toho moc nevím, protože se řídím jedinou zásadou, že na maily odpovídám(e) většinou ihned, když to není možné, pošleme aspoň zprávu, že jsme email obdrželi a kdy se k ní vyjádříme.
      Všechna doporučení kolem řízení času jsem ignoroval, kromě důrazného doporučení lékaře před lety, že bych měl každý den ráno alespoň snídat a ponocovat maximálně jeden den v týdnu.:)

      1. patrik.sima

        Re: René nezklamal

        Na drobnosti stačí i wifi s dd-wrt, případně za kilo virtualmaster. Na organizaci času je dobrý přizpůsobený GTD + nějaká tabule a fixy (jakýkoli sw v pc jsem nikdy nepoužíval dlouho – ani nevím proč, za to obyč. tabule, kerou mám pořád na očích ano)

      1. Michal

        Re: René nezklamal

        Tam takovy clanky vychazi denne :-) .
        Musel jsem zrusit jejich RSS nedalo se pri tom ani pracovat :-)

  2. František Kučera

    Pár poznámek k poznámkám

    Ad „Zrušte hranice mezi lidmi“

    Důležité je, aby testeři testovali skutečně podle zadání, ne podle toho, jak zadání pochopil programátor (což se někdy při příliš důvěrném vztahu mezi testery a programátory může stávat).

    Ad „Za každý zrušený mítink napište jako poděkování…“

    Částečně tuhle averzi k vysedávání na schůzích chápu, ale ne každá schůze je zlo – je totiž lepší si během jedné/dvou hodin věci vyříkat, než když se v tom celý tým několik dní jen plácá, nikdo neví, co má dělat, ale všichni sedí u počítače a předstírají práci – podle hesla „schůze jsou přece ztráta času, my usilovně pracujeme“ – to je totiž daleko větší ztráta času (a peněz) než nějaká ta hodina strávená v zasedačce.

    Ad „aby nasazení do produkčního prostředí neznamenalo třídenní práci party lidí, kteří se metodou pokus-omyl snaží dostat aplikaci u zákazníka do použitelného stavu“

    Myslím, že lidé, kteří už objevili linuxové balíčkovací systémy (ať už rpm nebo třeba deb) jsou šťastnější :-) Pak samozřejmě mít napsané upgradovací skripty, které jsou otestované stejně důkladně jako samotná aplikace. A vždy to chce mít jasno ve verzích – zda jde o malou změnu a daná verze může v klidu fungovat nad starou konfigurací a daty, nebo jestli je je potřeba aktualizovat.

    Taky není od věci udělat si tenhle test, schválně se pak můžete pochlubit výsledkem :-)

    P.S. Neexistuje universální recept na „dobrý vývoj“ – metodiky a postupy se dost liší podle druhu projektu – jinak se bude vyvíjet web pro místní restauraci, jinak software pro jednočip ovládající sporák, jinak software pro zpracování SMS u operátora nebo program řídící letadla a raketoplány. Určitě by nebylo od věci uvést, kdo ta „anonymní firma“ je (nemyslím název, ale velikost, obor) a jaké má projekty (rozsah, platforma atd.).

    1. René Stein

      Re: Pár poznámek k poznámkám

      Díky za poznnámky.
      Ad lidé) O tom nemá cenu diskutovat, všechny dobré záměry i kvalitní procesy závisí na lidech. Vývojáři nemusí komunikovat s testery, vývojáři se hádají mezi sebou, „senior vývojáři“ odmítají spolupracovat s nováčky, protože je to nebaví…

      Ad zrušené mítinky) Z kontextu myslím plyne, jaké mítinky mám na mysli. Když mluvím o bourání hranic mezi lidmi, předpokládám, že se lidi pravidelně a neformálně scházejí, diskutují, řeší problémy. Tady jsem jen popisoval, kolik čsu se dá ztratit tím, že všichni vědí, že se bude muset projekt odložit a teď je potřeba o tom půlden či den přesvědčovat člověka, který je placen většinou za to, aby průšvihům předcházel (což neudělal, něco ve firmě smrdí, když se o datu posunu projektu kolikrát rozhoduje tímhle způsobem týden nebo dokonce den, dva před nasazením) a vývojářům práci usnadňoval a ne komplikoval.

      Ad P.S.) Ano, vývoj může mít mnoho podob a důležitý je výsledek. myslím, že dogmatik nejsem a neříkám nikdy „existuje jediné správné řešení buď to moje,nebo to, co jsme ještě nezkoušeli“. Ta „anonymní firma“ není podstatná, dělám na projektech různého typu, některé mám plně pod kontrolou, některé jsou formou subdodávky, ale podobné zásady platí na většíně mých projektů. Jen se podle technologií mění nástroje – třeba pro C++ i ve VS používám Google test než se zabývat tím, jak rozchodit Microsoftí hacky, kdy se používá i v nativních aplikacích managed kód.

      1) Aplikace pro řízení nákladů, schvalování objednávek, plánování budgetů, spolupráci marketingových oddělení napříč státy… (WPF, ASP.NET,
      2) Aplikace pro kompletní podporu procesu náboru zaměstnanců. (Windows Forms, Silverlight)
      3) Workflow moduly pro řízení stavových automatů různých tříd.
      4) Windows Phone 7 aplikace pro zobrazování reportů o stavu prodeje a pozici obchodních zástupců. (prozatím Side loaded)
      5) Windows Mobile aplikace pro podporu obchodních zástupců, kteří prodávají zboží v terénu + aplikace na centrále a webový portál pro partnery.
      6) Aplikace pro vizualizaci dat z řídící jednotky v embedded Linuxu.
      Apod.

      1. Heron

        Re: Pár poznámek k poznámkám

        že se lidi pravidelně a neformálně scházejí, diskutují, řeší problémy

        +1

    2. František Kučera

      Joelův test

      Ještě k tomu Joelovu testu – na posledním projektu jsme to měli takhle:

      Splněno všechno kromě:

      8. Do programmers have quiet working conditions? – Tohle je trochu subjektivní, na open space jsem si totiž už celkem zvykl a nějak moc mi nevadí, navíc kolegové nebyli příliš hluční. Na druhou stranu za klidné místo to nepovažuji, na soustředění by byla ideální samostatná kancelář, maximálně s výhledem na město :-) To se ale člověku jen tak nepoštěstí. Takže podle mého tento bod nesplňujeme (i když to nějak hrozné nebylo).

      12. Do you do hallway usability testing? – Nelze aplikovat, šlo o serverový démon řízený konfigurací, to nemá klasické uživatele a nejde jednoduše odchytit na chodbě uklízečku a posadit ji k tomu :-)

      1. Michal Augustýn

        Re: Joelův test

        Myslím, že kromě bodu 12 jsou i další body u některých typů projektů nesmyslné…

  3. backup

    problem je ve slove 'projekt'

    v software se rika, ze pocet projektu , ktere zkrachuji, neplni terminy, neodpovidaji zadani je kolem 75% vsech zapocatych projektu. Toto cislo bylo v 80letech jeste vyssi a za poslednich 30 let, kdy se v IT pohybuji, se na tech procentech moc nezmenilo.

    Ten duvod je vlastne jednoduchy. Je to tim ‚projektem‘. A to nejen v software. Vemte napr. tunel Blanka, dalnice, televizni studio v Riadu v Saudske Arabii (delal jsem v projektu klimatizace a chlazeni), odbavovaci system na letisti v Chicagu … proste takovych pripadu je nepreberne. Uspech nasi civilizace lezi na tom, ze vetsina veci ktere potrebujeme jsou ‚produkty‘ a ne vysledky ‚projektu‘.

    Resenim vsech popsanych problemu se nedosahne tim, ze se budou mit vyvojari ‚vice radi‘, bude mene schuzi, apod. Software se musi stat ‚produktem‘.

    1. Rene Stein

      Re: problem je ve slove 'projekt'

      Máte svým způsobem pravdu, bohužel k tomuhle stavu, kdy se v SW z „projektu“ stane „produkt“ dost let chybí.

      Už před 10 nebo více lety se mluvilo o softwarové továrně, ale kromě nové metafory svět SW moc změněn nebyl.

      Ty body v článku, které se týkají třeba testů a ne tedy lidských inteakcí, jsou IMO právě krokem směrem, o kterém mluvíte. Ale to je asi na úplně jinou debatu.

    2. František Kučera

      Re: problem je ve slove 'projekt'

      Ale vždyť projektové řízení právě rozlišuje mezi tím „projektem“ (proces, posloupnost činností) a „cílem projektu“ (což je ten produkt – software, stavba atd.) a „přínosem projektu“ (užitek, který přinese naplnění toho cíle). Akorát lidi to často pletou a používají slovo „projekt“, i když žádný projekt nemají a pouze se snaží vytvořit nějaký produkt obvykle neřízenou cestou – zaměňují projekt a jeho cíl.

      1. Rene Stein

        Re: problem je ve slove 'projekt'

        Proto jsem ty pojmy dával do uvozovek. Ale myslím, že backup mluvil hlavně o tom, že „sekat SW jako Baťa cvičky“:) je dneska stále spíš přání než realita.

        1. František Kučera

          Re: problem je ve slove 'projekt'

          IMHO nikdy nepůjde software „sekat jako Baťa cvičky“ – leda nějaké weby podle šablon, ale to bych ani nepočítal do softwaru. Software je z principu něco jiného než cvička nebo jiný výrobek.

          1. Čelo

            Re: problem je ve slove 'projekt'

            Možná z vašeho „elitářského“ principu. To nic nemění na tom, že to software je :)

            1. František Kučera

              Re: problem je ve slove 'projekt'

              Sorry, to není žádné elitářství. Web podle šablony jsou prostě daleko víc data/konfigurace než software.

              1. Čelo

                Re: problem je ve slove 'projekt'

                Samozřejmě, že při určitém stupni zautomatizování procesu to je nakonec více o konfiguraci než o nějakém softwarovém vývoji, ale podle to nic nemění na faktu, že i web podle šablony softwarem stále je.

                1. František Kučera

                  Re: problem je ve slove 'projekt'

                  V širším smyslu je sice software i všechno s tím související, jako nosiče, dokumentace, tištěné manuály… ale software jako takový, nějaký netriviální program, tyhle weby nejsou. Např. když vyrobím leták v nějakém vektorovém formátu, tak to taky není software, ale data. A ty webové stránky jsou často právě takovým letákem – akorát nejsou třeba v SVG nebo CDR formátu, ale jsou v (X)HTML, CSS, PNG atd. Tahle diskuse se rozvinula pod článkem o metodikách/pos­tupech vývoje softwaru – a s tím dělání webů (stylem vezmu šablonu, naplním texty, změním pár barev a přidám logo) nemá nic společného.

                  1. Čelo

                    Re: problem je ve slove 'projekt'

                    Vzdávám to. Chápu, že pro někoho taky prostě Kameňák není film „jako takový“ ;)

                    1. Franta

                      Re: problem je ve slove 'projekt'

                      Ne, tohle bych rozlišoval — Kameňák film je, i když mizerný — přestože je to škvár, je za ním hodně práce a ti lidé musí něco umět.

                      I web podle šablony může být hezký a plnit svůj účel — a pak řeknu: „to je pěkný web“ ale neřeknu: „to je software“. Nehledej v tom nic pejorativního, není to o kvalitě nebo o tom, jestli se mi to líbí, ale do jaké kategorie to spadá — na druhé straně jsou zase „díla“, které spadají do kategorie software, ale současně je to sračka.

                  2. Jirka

                    Re: problem je ve slove 'projekt'

                    Nakonec i ten software jsou v podstatě data, jen chytře přeskládaná. :D

                    Osobně si myslím, že jak půjde vývoj kupředu, budou neustále identifikovány nové a nové „typy úloh“, pro které budou vznikat čím dal více automatizovanější nástroje, které budou tyto úlohy v podstatě řešit samy. Na uživateli/pro­gramátorovi zbude jen konfigurace parametrů.

  4. Mennion

    Super článek

    Též se připojuji k pochvale. Parádní počtení a některé pasáže u mě vyvolávali pocit, že se mluví o naší firmě :)))

    Jinak též doporčuji i Réného školení, které i zkušenějším vývojářům rozšíří obzory.

    Díky

Napsat komentář

Tato diskuse je již příliš stará, pravděpodobně již vám nikdo neodpoví. Pokud se chcete na něco zeptat, použijte diskusní server Devel.cz

Zdroj: https://www.zdrojak.cz/?p=3521