InfoShare pamiętam jeszcze z czasów, kiedy zajmowali jedną salę wykładową na moim Wydziale ETI (Elektroniki, Telekomunikacji i Informatyki) na Politechnice Gdańskiej. Pytało się wykładowców czy zamiast na wykład można iść do sali obok na konferencję 🙂 Z roku na rok przybywało prelekcji i uczestników, aż w końcu przestali mieścić się na uczelni i przenieśli do Amber Expo, żeby ugościć ponad 7000 osób.
Ostatnimi czasy wykorzystywałam swój limit czasu z pracy na konferencje stricte analityczne. Rok temu chciałam iść na infoShare, ale nie zapisywałam się przez długi czas, a potem głupio było mi zostawiać swoje niedomknięte zadania w pracy na 2 kolejne dni. Jednak widziałam tyle fajnych relacji znajomych na Facebooku i tyle opowieści, że szczerze żałowałam, że mnie tam nie ma. I w tym roku – jestem 🙂
Skocz od razu do relacji:
- Event Storming – technika uczenia się i gromadzenia wiedzy w organizacji – Sławek Sobótka (Bottega IT Minds)
- Can you manage? What startups often get wrong – Richard Lucas (Cambentrepreneurs TEDxKazimierz)
- We are unskilled and unaware of it. Improving growth decisions with data science – Thomas Thurston (growth)
- How to build Connection via Social Media or Digital Marketing – Bobby Umar (reallan.com)
- Back to the future – legacy software stories – Łukasz Drzewiecki, Witold Bołt (JIT Solutions)
- Hakowanie prawników – Piotr Konieczny (niebezpiecznik.pl)
- Prowadź biznes, ciesz się życiem – Przemysław Pająk (Spider’s Web)
- Spotkanie autorskie z Michałem Szafrańskim
Pierwsze wrażenia z organizacji
Dzień przed prelekcjami – 21.05 kolega z pracy dał cynk, że można już odbierać swoje wejściowe plakietki w Olivia Business Center – kilka minut piechotką. Pomyślałam, że to genialny pomysł organizacyjny, żeby ograniczyć kolejki następnego dnia. Podobne punkty rozstawiły się też ponoć w Amber Expo i na lotnisku. Z imprezami masowymi mam styczność jeszcze na zorganizowanych biegach i tam też można odbierać pakiety startowe dzień przed. Może to już praktykowane od dawna, ale mówię – miałam zaległości z infoShare, dlatego urzekło mnie to teraz 🙂 Zderzyłam się też z tym jakiego rozmachu nabrała cała konferencja.
Pierwszego dnia do Amber Expo wybrałam się z rana – tak, żeby być dużo wcześniej przed rozpoczęciem. Chciałam zorientować się w terenie (gdzie są sceny, stoiska, punkty kawowe 🙂 i trochę pokręcić, pogadać ze spotkanymi znajomymi. Zrobiłam sobie zdjęcie terenu na później.
Obeszłam halę mijając stoiska znajomych firm. Spodobała mi się przestrzeń do speed datingu koło strefy startup.
Mijałam stoiska startupów, na których rozstawiali się kolejni uczestnicy. Zastanawiałam się jak im idzie i z czego żyją, szanując ich odwagę podejmowania ryzyka dla swoich marzeń. Za chwilę weszłam na TechStage. Ogromna hala z tysiącami krzeseł. Robiła wrażenie. Za rogiem czekał jakiś rajski kącik z palmami i hamakami 🙂 Bardzo mi się spodobał! Słyszałam, że rozstawili go już nie pierwszy raz. Chciałam tam kupić kawę, ale dali mi ją za darmo 🙂
Dalej zaszłam jeszcze na InspireStage mijając stoisko ze stosami książek Szafrańskiego. Było ich pełno. Pomyślałam, że byłoby super, gdyby sprzedali wszystkie. Dla niego tu przyszłam 🙂 Liczyłam na podpis w książce – pretekst, żeby podejść, przywitać się i zobaczyć z bliska tego, kogo od tylu miesięcy znam z podcastów i dzięki komu powstał podcast „najpierw analiza”. Miałam w torebce już prawie przeczytaną książkę kupioną w Empiku (żeby pomóc Michałowi wejść w Top10 bestsellerów Empiku).
Podeszłam też do stoiska mojej firmy – Lufthansy, gdzie miałam mieć dyżur po południu 🙂 Zastanawiam się jakie przełożenie na działanie firmy ma pokazywanie się na takich konferencjach? Mieliśmy ładnie wydrukowane oferty pracy. Były HRki, koledzy programiści. Można było podejść podpytać o pracę, projekty, technologie. Kiedyś przynosiło się na takie stoiska swoje CV. Teraz ponoć to firma musi prosić o dane 🙂 Zastanawiam się jak to ugryźć. Bez wychodzenia do ludzi z inicjatywą rozmowy, raczej niewiele z tej rekrutacji wychodzi. Z drugiej strony naskakiwanie na każdego zbliżającego się człowieka może być wkurzające. Sama nie lubię tego, kiedy jestem w sklepie i tylko oglądam. Gwiazdą stoiska była Pepper – nasz robot skanujący bilety, udzielający informacji o lotach Lufthansy i wchodząca w pierwsze proste rozmowy z ludźmi 🙂
Przyciągały też kolorowe ulotki, słodycze i symulator lotów. Siedział przy nim sam prezes i podpowiadał ludziom co oznaczają wskaźniki w kokpicie pilota i jak manewrować joystickami, żeby bezpiecznie posadzić samolot na pasie startowym lotniska.
Przyszła pora na rozpoczęcie konferencji. Uderzył mnie znów ogrom sceny Inspire. I ten rozmach – profesjonalna ekipa filmująca, ściana wyświetlaczy i dźwięk. Muzyka rozlegała się mocnym brzmieniem. Aż chciało się zacząć gibać, zapominając, że nie jest się na koncercie, tylko na konferencji 🙂 Efekty wizualne – światła, wyświetlacze dawały niesamowity efekt. Czuło się, że bierze się udział w ważnym wydarzeniu. Przyszedł czas na pierwszą prelekcję.
Event Storming – technika uczenia się i gromadzenia wiedzy w organizacji – Sławek Sobótka (Bottega IT Minds)
Przyszłam, bo słyszałam od kilku osób, że Sławka warto poznać. Miałam też przyjemność brać udział w ćwiczeniu Event Storming prowadzonym przez Pawła z Bottega z naszymi programistami, którzy uczyli się DDD. Metoda spodobała się 🙂 Nawet najbardziej wymagającym kolegom.
Sławek zrobił dobre pierwsze wrażenie stając pewnie na scenie, z uśmiechem, w dobrze dobranym garniturze. Wystartował prosząc programistów, żeby wyobrazili sobie, że pisali 2 tygodnie jakiś kod. Następnie nastąpiła katastrofa i kod zniknął. Trzeba pisać od nowa. Ile teraz zajmie pisanie tego samego kodu? Ktoś powiedział, że dzień, ktoś, że tydzień, ktoś, że 2 dni. Sławek zapytał: „Jeśli wtedy pisaliście kod 2 tygodnie, a teraz napiszecie jeszcze raz to samo w 1 dzień… to co Wy wtedy robiliście?” – dał ludziom zastanowić się przez chwilę. „Uczyliście się.”.
W punkt. Uczyli się kontekstu, reguł, logiki. A po naszemu – poznawali kontekst biznesowy, dziedzinę, procesy biznesowe, pojęcia, reguły, wymagania. I to był genialny, obrazowy, namacalny przykład, że tak właśnie jest. Tak to można wyczuć z perspektywy programisty.
Zanurzaliśmy się dalej w obrazowe historie z codzienności developerów. Widać było, że Sławek świetnie zna realia i potrafi je tak przedstawić, że co chwilę wybuchały salwy śmiechu 🙂 Np. „Ulubiona metodyka developerów to metodyka Nike – Just do it”. „Każdy ma w firmie w dziale sprzedaży takiego Pięknego Grzegorza. Kiedy przyjdzie do niego klient pytać o projekt zbudowania rakiety, to mówi, że tak, pewnie, mamy duże doświadczenie w kosmosie!”. „Klient mówi, że chce taki program, który będzie pasował do jego biznesu i tu przedstawia takie informacje, że Słońce krąży wokół Ziemi. Czy to jest zły model? No program jakoś działa i zarabia, więc chyba dobry.”. „A potem programiści robią taki smutny kodzik na tylu ifach, że w końcu muszą przełączyć się na switcha i trzeba mieć lekkiego aspergera, żeby się w tym połapać.”. „Na końcu stoją po kolana w błocie. I nie zawahają się klęknąć.”. Do tego trafna ilustracja i cała wielka Tech sala ryła ze śmiechu 🙂
I tutaj wkroczył Domain-Driven Design jako sposób tworzenia kodu, który jest jak najbardziej zbliżony do rzeczywistości – dziedziny biznesowej. Jak szybko zebrać informacje o tym jak wygląda ta biznesowa rzeczywistość? Przeprowadzić sejsę EventStormingu.
Autorem metody jest Alberto Brandolini, który chciał przyspieszyć transfer wiedzy o procesach biznesowych od ekspertów dziedzinowych. Zebrał w jednej sali tych, którzy wiedzą co ma być zrobione (eksperci dziedzinowi, decydenci) z tymi, którzy mają to zrobić (deweloperzy), żeby przejść przez wspólny szybki proces uczenia. Podczas sesji brainstormuje się zdarzenia biznesowe, zapisuje na karteczkach, układa je w odpowiedniej kolejności. Podczas pracy wszyscy na bieżąco widzą wynik (sekwencje karteczek na ścianie) i mogą zadawać sobie pytania w obie strony – o szczegóły procesu i możliwym sposobie realizacji w systemie. Szukając zdarzeń najpierw koncentrujemy się na rzeczownikach, a dopiero później dajemy rzeczowniki, co naturalnie odwodzi nas od myślenia na początku o bazie danych (i usztywniania się nią), a skupienie się na zachowaniu.
Po wyłowieniu zdarzeń (Events) przechodzi się do ustalenia źródeł zdarzeń (Commands) jako akcji użytkownika lub zewnętrznych systemów, a następnie szuka agregatów – wydzielonych grup zdarzeń realizujących podobne zadania. Przy odpowiednim miejscu do karteczek można wkomponować zarysy widoków ekranów, bo niektórzy myślą obrazami i tym, co będzie na ekranie (czym innym mają myśleć, skoro nie skupiają się nad tym, co jest w systemie „pod maską”)?
Więcej o Event Storming na stronie książki http://eventstorming.com i na blogu: http://ziobrando.blogspot.com/2013/11/introducing-event-storming.html.
Sławek powiedział, że po takich warsztatach fajnie widać głębię problemu – ile pojawia się reguł sterujących zachowaniem. Do prostych CRUDów możemy zatrudniać praktykantów, ale jeśli logika jest skomplikowana, to warto ją zamodelować.
Metoda ta nie wybacza niewiedzy ekspertów dziedzinowych. Od razu wychodzi, kiedy ktoś nie zna odpowiedzi. Sławek radził, żeby w krytycznych chwilach nie zawstydzać naszego klienta, ale dać mu „złoty most” – poczekać, naprowadzić, żeby zauważył swój błąd i się z niego sam wycofał. „Nie… To tak nie może być. Przecież to Ziemia krąży wokół Słońca.”.
Ponoć metoda nie przemawia do 1 na 10 klientów. I no.. trudno 🙂
Sławek pokazał slajd z wystruganym z czegoś kształtem samochodu 🙂 „Czy po każdej iteracji klient jest w stanie zweryfikować, że pod maską jest nie to, co miało być? Nie. Na początku masz tam 3 guziki. Z grubsza wydaje się OK. Ale dopiero po 2 latach wychodzi, że zrobiliśmy system, w którym Słońce krąży wokół Ziemi”, co masakrycznie utrudnia rozwijanie i zmienianie czegoś, co nie przystaje do rzeczywistości, bazuje na błędnych założeniach. Dlatego tak ważne jest dobre zrozumienie dziedziny biznesu i zaprojektowanie rozwiązania, a Domain-Driven Design jest do tego stworzony.
I ostatni ciekawy hint – podczas warsztatu warto zbierać karteczki, które uczestnicy odrzucają. Coś wyjaśnili i udoskonalili model. Na końcu pokaż je klientowi, żeby widział, za co płaci. Lepiej zobaczyć je teraz niż za 2 lata w kodzie 🙂
Jedna z najlepszych prezentacji InforShare 2018 🙂 I tak trafione i świetnie sprzedane programistom koncepcje analizy (zrozumienie dziedziny problemu, poznanie procesów biznesowych, warsztaty z interesariuszami, projektowanie rozwiązania itp.), że będę wracać do notatek pewnie nie raz 🙂
Can you manage? What startups often get wrong – Richard Lucas (Cambentrepreneurs TEDxKazimierz)
Na StartupStage kolejnych występujących zapowiadał Piotr Bucki 🙂 Od razu zrobiło się profesjonalnie i przyjemnie. Konferansjerka to sztuka, którą warto od Piotra podpatrywać.
Richard opowiadał o błędach, jakie popełniają ludzie zarządzając startupami. Jest ogromne pole do popisu, ale on skupił się na 5 rzeczach.
Po pierwsze – znaj swoich ludzi. Zapytał, czy osoby, które zarządzają ludźmi znają imiona ich dzieci? To przecież najwazniejsze osoby w ich życiu. Jeśli nie, to jak oczekiwać bez głębszej relacji i zrozumienia drugiej osoby, że w pełni zaangażuje się w nasz biznes?
Po drugie – procesy. Podał tu przykład pracownika, który jedzie na konferencję opowiadać o firmie. O ile rzeczy trzeba zadbać? Żeby człowiek miał przejazd, hotel, komputer, wiedzę o firmie, umiał prezentować i dluga lista innych rzeczy. Jak to ogarnąć? Przez procesy. Nie na darmo jest A w MBA 🙂 (Master Business Administration). Gdyby nie procesy, Rochard musiałby odpowiadać na każdego maila z każdą pierdołą idywidualnie i byłoby to niemożliwe do ogarnięcia.
Po trzecie – opracowywania jasnych celów (co chcesz osiągnąć) i ich komunikacji nigdy nie za wiele. Niektórzy mówią, że trzeba to powtórzyć nawet 7 razy, żeby dotarło i się uruntowało w czyjejś głowie.
Po czwarte – przywództwo. Bądź tym, za kim inni będą chcieli iść.
Po piąte – rekrutacja. Wyławiaj właściwych ludzi na własciwe stanowiska.
We are unskilled and unaware of it. Improving growth decisions with data science – Thomas Thurston (growth)
Bobby opowiadał o badaniach nad czynnikami sukcesu w inwestowaniu w startupy. Rozwija model, który analizując dane odnośnie tematyki działalności i zapotrzebowaniu na rynku, tworzy ranking firm, które mają szanse wskoczyć na wznoszącą falę do sukcesu. Przykładowo dla samochodów elektrycznych algorytm tworzy ranking firm, gdzie widzieliśmy na pierwszym miejscu Teslę, potem kilka innych znanych marek. Inwestorzy wybierają z wykresu pierwszy najbardziej obiecujący i jednocześnie najmniej obecnie rozwinięty biznes i inwestują w niego. Algorytm ma kilka minusów – nie rozpoznaje, że niektóre produkty są technologicznie trudne do zbudowania.
How to build Connection via Social Media or Digital Marketing – Bobby Umar (reallan.com)
- 1-minutowe na szybkie zajawki
- 4-minutowe na krótkie przedstawienie tematu
- 8-10 minutowe na treści szkoleniowe, przedstawienie czegoś w szczegółach
Back to the future – legacy software stories – Łukasz Drzewiecki, Witold Bołt (JIT Solutions)
Chłopaki podzielili się swoim doświadczeniem z pracy nad utrzywaniem systemów z długą historią 🙂 Mówili o cierpieniach programistów, ktorzy muszą działać bez dobrych narzędzi, bez dokumentacji („czy ktoś wie, czemu to tak działa???”), czasem w słabych zespołach i kodzie tak powolnym i zawiniętym, że zaczynają się pojawiać niepojmowane ludzkim umysłem problemy.
Jednym z rozwiązań jest zaoranie wszystkiego i napisanie systemu od nowa. Wiele takich akcji jednak upada z powodu za dużych kosztów, strachu przed ryzykiem lub po nieudanych próbach. Łukasz i Witold radzili dobrze przyjrzeć się systemowi i dokładnie oszacować potrzebną pracę, zamiast strzelania estymatami z sufitu. Żeby ogarnąć problem, polecali wiecej godzin rzetelnej pracy i opierania się na faktach zamiast większej ilości spotkań, na których ludzie dzielą się swoimi obawami, odczuciami i firmowymi legedami („był taki, co próbował i mu się nie udało”). Warto też robić proof of concept.
Jeśli przepisanie nie jest możliwe lub niewarte zachodu, warto chociaż zwiększyć komfort życia programistów dodając porządne narzędzia. Aby zwiększyć motywację, radzili dodać też nakładkę w postaci nowej technologii, co da trochę radości i siły na dalsze utrzymywanie. Warto też pracować nad dekomponowaniem monolitów.
Łukasz i Witold radzili przy wyborze narzędzi, trzymać się mainstreamu. Uważajmy na hipsterów zafascynowanych niszowymi techologiami, którzy próbują nas przekonać, że to najlepsze rozwiąznie. Dziś pisany system stanie się już niebawem staruszkiem do utrzymywania, a będzie niezwykle trudno znaleźć programistów, którzy znają niszowe technologie i jednocześnie chcieliby się bawić w nasz legacy software.