Realna tj. nieakademicka inżynieria oprogramowania

Prowadzący: Kornel Jankowski

Zadania kwalifikacyjne są tutaj.

Uwaga, nadchodzi rewolucja!

Proponujemy na WWW warsztaty dla tych, którzy wcale nie są tacy pewni, że spędzą całe życie na uczelni, aż do ostatniego tchnienia zapylonych kredą płuc.

EDIT: jeden z Szanownych Kolegów prowadzących inne warsztaty w opisie swoich zamieścił niejako polemiczno-parodyjną parafrazę powyższego zagajenia, w której sugeruje, jakobyśmy mieli się na tych warsztatach nie bawić. Czcigodny kolego, nic bardziej mylnego! Warsztaty, zgodnie z duchem WWW, są nastawione przede wszystkim na zabawę, a jedynie zagadnienia przemycane w tle są mniej akademickie (co wcale nie musi oznaczać, że mniej zawiłe...). Do zabawy zapraszam również wszystkich domorosłych władców i władczynie pierścieni, kwantowych czarodziejów i czarodziejki, oraz przedstawicieli i przedstawicielki wszystkich innych magicznych profesji!

 

Założeniem zajęć jest zapoznanie Was z (możliwym) przebiegiem projektów informatycznych w realnym, komercyjnym środowisku. Środowiska tego nie będzie Wam dane zaznać ani w liceum, ani na uczelniach, a dodatkowo na uczelniach czasem będą Wam mówili, że jest inaczej, niż jest. Tymczasem z czegoś trzeba żyć, a życie z informatyki lub AI jest jednym z ciekawych pomysłów (polecamy).Zajęcia będą silnie teoretyczno-pogadankowe, ale planowane jest przećwiczenie teorii w ramach kooperacji z innym blokiem warsztatowym (vide „Dogrywka”).

 

Plan warsztatów

Dzień I – A komu to potrzebne, a dlaczego? (czyli bajka o tym, jak się tworzy Produkt)

Porozmawiamy (na wspólnie konstruowanym przykładzie) o tym, jak pomysł (np. na aplikację, wynalazek) uporządkować w spójną koncepcję produktu. Zidentyfikujemy osoby (aktorów) istotne dla produktu (klienci, użytkownicy, inwestorzy, deweloperzy) i posłużymy się ich personami do zamodelowania ich oczekiwań i wpływu na nasz produkt.

Poszukamy w naszym pomyśle wartości, których możemy dostarczyć aktorom, i zastanowimy się skąd weźmiemy po drodze pieniądze na chleb, a ostatecznie w jaki sposób będziemy chcieli zarobić na produkcie.Innymi słowy, zrobimy te wszystkie rzeczy, które złowrodzy ludzie w garniturach robią zanim przyjdą do programistów z oczekiwaniami.

Dzień II – Jak nie zrobić fakapu (czyli bajka, z ćwiczeniami, o dbaniu o kod)

Porozmawiamy o:

  1. systemach kontroli wersji i o tym po co i jak nie zrobić bałaganu w repozytorium;
  2. Continuous Integration, czyli jak zbudować mechanikę pozwalającą deweloperom spokojnie spać i spokojnie pracować nad nowymi funkcjonalnościami bez strachu o to, że stare spłoną;
  3. Continuous Deployment, czyli o tym jak zautomatyzować i zabezpieczyć wdrożenia, tak aby nie bolało nas naprawianie buga dla klienta który był uprzejmy zadzwonić do nas z problemem w piątek o 17:03.

W związku z tym, poćwiczymy:

  1. używanie Git'a i jego kolegi, Gitlaba;
  2. Continuous Integration w Jenkinsie;
  3. pakowanie oprogramowania w kontenery Dockera, tak żeby było uruchamialne na każdym ziemniaku z Linuxem.

Dzień III – Kto ma klucze (czyli bajka o zarządzaniu toczącym się projektem)

Porozmawiamy o:

  1. tym, jak to się robiło kiedyś, i czasem robi się nadal, czyli o kaskadowym modelu wytwarzania oprogramowania (Waterfall);
  2. Agile, a więc o zwinnym wytwarzaniu oprogramowania, szczególnie o SCRUMie, o tym, do czego się on nadaje, a do czego absolutnie nie;
  3. szeroko pojętym zarządzaniu zadaniami m.in. o Kanbanie;
  4. o narzędziach do zarządzania zadaniami (np. JIRA, TiBKP*).

Dogrywka

Jako suplement do zajęć, zachęcamy do przećwiczenia omówionych zagadnień w realu współuczestnicząc w projekcie realizowanym na bloku warsztatowym Grupowe klepanie kodu w warunkach kontrolowanych. Szczegóły dopniemy i ogłosimy w późniejszym terminie, ale wstępny pomysł jest taki, żeby uczestnicy tych warsztatów dołączyli tam jako Specgrupa devopsowo-informatyczno-programistycznego wsparcia.

 

*   Tablica i Blok Karteczek Przyklejalnych**  tj. najpóźniej pierwszego dnia warsztatów :P