[Uwaga: pisząc "Imagine Cup" mam na myśli "Imagine Cup, kategoria Projektowanie Oprogramowania"]
Polskie finały Imagine Cup 2011 zbliżają się wielkimi krokami. Postanowiłem skorzystać z okazji i podzielić się kilkoma refleksjami na ten temat.
Miałem przyjemność dwukrotnie uczestniczyć w tym evencie jako startujący, i dwukrotnie jako widz. Oraz kilkukrotnie o tym pisać. Przez lata (właściwie od prawie samego początku konkursu w Polsce, czyli roku 2005) obserwowałem jak zmienia się formuła rywalizacji, jak cała inicjatywa dojrzewa. Dyskutowałem ze znajomymi nad rosnącymi oczekiwaniami jury, oraz nad tym, jak prezentowane rozwiązania powodują coraz głośniejszy stuk szczen widzów o podłogę.
I jak, niestety, powiększa się przepaść między nowymi drużynami a starymi wyjadaczami.
Mam nadzieję, że te kilka poniższych akapitów zmniejszy wspomnianą przepaść. Po lekturze startujący być może będą mieli okazję zweryfikować swoje dotychczasowe postrzeganie konkursu, i - co za tym idzie - skorygować kurs. Póki jest jeszcze na to czas.
Nie łudźcie się, że prezentacja to 50% oceny
W regulaminie konkursu widnieje podział oceny na czynniki mające wpływ na końcowy wynik drużyny. Są tam różne punkty, a między innymi: prowadzenie prezentacji na finałach. Nie pamiętam dokładnie ile tam ona miała przypisane, ale na pewno nie było to 95%. Zatem moja pierwsza i najważniejsza ze wszystkich sugestia: przyjmijcie do wiadomości, że końcowa prezentacja projektu jest najważniejsza. We własnych kalkulacjach dajcie jej 95% wartości oceny.
Co za tym idzie? Opłaca się mieć w drużynie osobę odpowiedzialną tylko i wyłącznie za ten jeden aspekt projektu. Taką, która po angielsku mówi lepiej od George'a Busha. Która nie zacznie się jąkać na scenie. Która powie co ma do powiedzenia bez przerw, bez zerkania na kartkę, bez ślimaczenia mikrofonu i bez "yyyy, eeeee". Która będzie po prostu niczym dobry konferansjer. Która porwie publiczność.
Reszta niech zapieprza nad kodem. I tak powodzenie projektu zależy od tej jednej osoby.
Nie dla każdego flesze i scena
Z poprzedniego punktu powinno wynikać to jasno, ale podkreślę jeszcze bardziej: prezentacja nie jest okazją do pokazania "patrzcie na mnie, jaki jestem arcyzajebisty, to JA napisałem ten soft". Jeśli zespół ma na tyle szczęścia że któryś z jego członków faktycznie potrafi zaprezentować się na scenie, to niech reszta nie psuje efektu i nie włazi mu w drogę. To co możecie robić to siedzieć przy komputerze i zmieniać slajdy. W każdy inny sposób po prostu zaszkodzicie i sobie, zespołowi i projektowi.
Raz stałem na ImagineCupowej scenie i była to kompletna, absolutna porażka. Po prostu się do tego nie nadaję. Im wcześniej takie osoby sobie to uświadomią i przyznają otwarcie że mają w życiu inne przeznaczenie tym lepiej. Nie ma sensu wypychać każdego uczestnika z kilkoma słowami do Ojca Dyrektora tylko po to, żeby się pokazał. Na to będzie czas wieczorem, na mniej oficjalnej części dnia.
Nikogo nie obchodzą technikalia
Jest to konkurs technologiczny, ale nie dajcie się zwieść. Nikt nie chce oglądać diagramu UML, diagramu wdrożenia, czy słuchać o protokole komunikacji między jedną a drugą częścią systemu. O ile samo w sobie na pewno jest to bardzo interesujące, to... akurat nie tego jednego dnia. Techniczne detale możecie przedstawić sędziom dzień wcześniej, na sesji plakatowej. Ale publiczności tego oszczędźcie. Nie ma nic bardziej nudnego niż zestresowany programista stojący przed setką ludzi dukający o tym, że jego web service może przyjąć milion żądań na sekundę ponieważ dystrybuuje je do roboczych procesów umieszczonych w chmurze.
Serio... tłum chce chleba i igrzysk. Świateł, muzyki, przedstawienia. A nie wykładu - wykład będą mieli następnego dnia na uczelni.
Live demo pomysłem najlepszym nie jest
Wiadomo, że prezentowany projekt nie jest gotowy do włożenia do pudełka i postawienia na półce w sklepie internetowym. Jest to absolutnie zrozumiałe - prawdopodobnie większość rozwiązań to wczesna pre-alfa, wrażliwa na wszelki zły dotyk jak ministrant zostawiony sam na sam z lubieżnym księciem w pustej plebanii. Ostatnie czego chce publiczność to śledzenie wraz z zespołem źródła wyjątku, który nie miał prawa wyskoczyć, a jednak... Ja już wolę UMLa.
Rozwiązanie jest banalne, a jednak stosowane rzadziej niż powinno. Wystarczy nagrać filmik z działania programu i stopniowo puszczać go na prezentacji. Zyskujecie pewność, że będzie działać jak powinno. Wystarczy kliknąć "play" i śmiga. Ba, powiem więcej: jeżeli nie używacie ścierwiastego Windows Media Player, to nawet wystarczy wcisnąć spację!
Z takim podejściem wiążą się dodatkowe plusy. Do filmiku możecie wstawić fajny motyw muzyczny, animację, jakiś śmieszny efekt... Po prostu rozwiązanie to nie ma wad.
Zostawcie w spokoju afrykańskie dzieci!
Motyw ten przewija się co roku. Większość programów zbiera co rano rosę dla biednych spragnionych afrykańskich dzieci, masuje ich nabrzmiałe z głodu brzuszki, pozwala ich zaniedbanym mamom zrobić USG i urodzić kolejnego zdrowego szkieletorka. Na Boga Wszechmogącego! Zostawcie takie bzdury Brandżelinie i Madonnie. To już dawno zrobiło się nuuuuudne!
Zacznijcie od początku...
Przed finałami zaprezentujcie się rodzinie czy znajomym. Albo na uczelnianej grupie .NET. Po pierwszej minucie przerwijcie i poproście obecnych aby to ONI opowiedzieli WAM jakie zadania ma stworzony system. Jeśli mają z tym problem - to wywalcie prezentację do kosza i zaczynajcie od nowa. Powód jest bardzo prosty: widz nie absorbuje informacji o projekcie do momentu dowiedzenia się CO ten projekt robi. Wy wiecie o projekcie wszystko, bo był waszym życiem przez ostatnie miesiące. Ale my nie wiemy. Powiedzcie nam to, zanim zaczniecie mówić cokolwiek innego.
Zaskakująco dużo prezentacji zawiera te informacje zdecydowanie za późno. Macie tylko 15 minut, a do momentu załapania "aHA! czyli program robi TO!" my, widzowie, widzimy tylko gadające głowy. Niech ten moment nastąpi od razu.
Zakończcie z przytupem - dajcie się zapamiętać
Rok temu jeden z zespołów zakończył prezentację, wplatając w ostatnie słowa narastającą muzyczną falę piosenki "Right here, right now". Tak świetnie pasowało to do całego wystąpienia i taką miało w sobie moc, że po prostu wbiło wszystkich w krzesła. Jest to chyba jedyna rzecz jaką dzisiaj pamiętam z całego dnia. No i to, że wygrali.
Dajcie nam popalić. Zagrajcie na uczuciach (mając na uwadze punkt o Afryce), wprowadźcie w jakiś (nie ma znaczenia jaki) nastrój. Nie pozwólcie, żebyśmy pozostali obojętni. Bo wtedy wy i wasz projekt będzie "jednym z miliona". Nie mylić z "jednym na milion".
To tyle z moich refleksji. Mam nadzieję że sam przekaz jest bardzo jasny i klarowny: dobra prezentacja to klucz do sukcesu. Przy złej prezentacji wszystko inne nie ma znaczenia. Swego czasu bardzo mnie to irytowało, ale... ma to sens.
Zapraszam stałych bywalców IC do dodawania kolejnych porad w komentarzach - im więcej porad -> tym wyższy poziom -> tym lepiej dla nas:).