1. „Ludzie już się nie rodzą, ich się hoduje”
No dobrze, skoro wciąż tu jesteście, kontynuujmy. „A ja pokażę wam, jak głęboka jest królicza nora” © 🐇
Opowiem wam, jak wygląda proces tworzenia produktu — przejdziemy krok po kroku od najwyższego, ogólnego poziomu aż do najniższego — pisania kodu. Myślę, że czeka was kilka interesujących odkryć…
Współczesnych produktów IT już się nie „pisze” — tworzy się je. Składa się je z części: bibliotek, frameworków, zewnętrznych programów i produktów, a czasem w ogóle używa się zdalnych, płatnych lub bezpłatnych usług internetowych 🧩.
Współczesny produkt to całe zoo technologii, usług, rozwiązań i procesów. Część pracy wykonują ludzie, część jest zautomatyzowana, a pozostałe 90% i tak realizują usługi chmurowe w centrach danych ☁️. Świat nie jest już taki jak dawniej.
Ale pierwsze, co zauważycie, to ciągłe zmiany. Już nie piszecie programów, wprowadzacie w nich zmiany.
2. Ciągłe zmiany
Przyjdziecie do pracy i dołączycie do zespołu 20 osób, który od 5 lat rozwija produkt. Użytkownicy mają obecnie do dyspozycji wersję 7. A waszym zadaniem będzie wprowadzać w ten produkt zmiany. Niewielkie — tak, aby nie zrazić obecnych, aktywnych użytkowników.
I to nie będzie proste, bo produkt już działa. Ma klientów i ci płacą pieniądze 💰. Dlatego niczego nie wolno psuć. Wprowadzanie zmian w działającym produkcie jest kilkukrotnie trudniejsze niż w nowym. Istnieją do tego specjalne standardy, protokoły migracyjne i narzędzia. Od razu przypomina się anegdota:
Spotyka się dwóch starych przyjaciół: jeden został mechanikiem, drugi — chirurgiem... Każdy ma swoje życie, troski, radości... Opowiadają sobie o wszystkim i schodzi na temat zarobków. Mechanik mówi: „No, ja dostaję 30k miesięcznie i jestem z tego bardzo zadowolony. A ty ile?”. Kardiochirurg mówi: „No, ja około 100k za operację...”. Mechanik się zaciekawił: „Dziwne, czemu taka duża różnica? Przecież robimy to samo — wymieniamy części”. Na to chirurg: „Chodźmy do samochodu, odpal...”. Mechanik odpala auto, chirurg otwiera maskę i mówi do mechanika: „Widzisz, silnik pracuje? Wymień!” 😂
Nawet jeśli zdarzył się cud i wasz zespół przez cały rok tworzył produkt od zera, a dopiero potem go wydał, wiecie, co będzie dalej? Jeśli produkt okaże się sukcesem, właściciel produktu będzie chciał go rozwijać: wydać nową wersję, dodać jakąś funkcjonalność albo choćby przeprowadzić kilka eksperymentów. A wiecie, co za tym pójdzie? Zmiany 🙈
3. Wartość produktu
Z punktu widzenia współczesnego wytwarzania oprogramowania wartość ma tylko ten kod, który został wydany, oraz ta funkcja, z której korzystają użytkownicy. Jeśli napisaliście kod, gdzieś on leży, nawet działa, ale nikt go nie używa, jego wartość jest bliska zeru. Dlatego cały kod powinien jak najszybciej trafiać na produkcję 🚀
Twój kod powinien przejść następujące etapy:
- ✔️ Kod został napisany i sprawdzony, że działa.
- 🔍 Team Lead przeprowadził code review i dodał go do głównej gałęzi w Git.
- 🧪 Testy w trakcie builda wykazały, że nic ważnego nie zostało zepsute.
- 🧩 Testy integracyjne potwierdziły, że produkt działa, jak należy.
- 🛡️ Tester sprawdził kod i dał zielone światło na wydanie.
- 📦 Następnie trzeba zbudować nową wersję produktu i wydać ją na serwerze.
- 🐳 Nową wersję produktu należy zapakować w Docker images i wydać.
- 🗄️ Być może trzeba będzie uruchomić skrypty migracyjne i wprowadzić zmiany w bazie danych i/lub innych zewnętrznych rozwiązaniach.
- 📊 Następnie należy zebrać logi na serwerze, aby upewnić się, że wszystko działa jak trzeba.
- ⏪ W sytuacji awaryjnej, jeśli coś zostało zepsute, należy wykonać rollback wdrożenia, przywrócić poprzedni stan bazy danych i nie utracić działań wykonanych przez użytkowników podczas pracy z niestabilną wersją produktu.
W większości firm te zadania są dziś rozwiązane: zbudowano nowe procesy, zatrudniono specjalistów, wprowadzono protokoły bezpieczeństwa i standardy kontroli jakości. Im większa firma, tym mniej czasu mija od napisania kodu do chwili, gdy trafi on na produkcję i zamieni się w wartość — zacznie przynosić korzyści ludziom.
W większości firm kod pokonuje tę drogę w dwa tygodnie. Jednak są firmy, które robią wydania co tydzień albo nawet codziennie. Rekordziści — kilka razy dziennie.
Napisany kod nic nie znaczy. Wartość przynosi tylko kod działający na produkcji.
GO TO FULL VERSION