Automate everything is a scam
Definicja
-
https://pl.wikipedia.org/wiki/Automatyzacja
- znaczne ograniczenie lub zastąpienie (proces zastępowania) ludzkiej pracy fizycznej i umysłowej przez pracę maszyn działających na zasadzie samoregulacji i wykonujących określone czynności bez udziału człowieka (czyli samoczynnych)
-
https://pl.wikipedia.org/wiki/Automatyzacja_marketingu
- prowadzenie działań marketingowych z zastosowaniem specjalnego oprogramowania oraz narzędzi służących do usprawnienia procesów sprzedażowych
Przykłady
- dockeryzacja aplikacji
- deploy przez git push (heroku)
- skrypt wywołujący trzy komendy w bashu
- w projekcie - automatyczne wydawanie faktur
- testy automatyczne
- task od Wernera - "zróbcie mi taką aplikację że wrzucam Excela i mi się tu wszystko liczy"
Koszt

Koszt - przykład
Nowa appka expressowa vs ta sama appka w dockerze
- dla mnie, na początku - lekka przewaga "gołej" appki
- dla mnie, jak dodaję zależność - remis
- dla buildów - remis (mamy CI)
- dla nowego deva - 10 minut dla dockera
- czasem stary dev to nowy dev
- total: 10 minut / "nowy" dev
- załóżmy 1 "nowego" deva na miesiąc
- projekt trwa pół roku
- docker zaoszczędził godzinę
- ile kosztuje ten docker?
Przykład cd.
- Liczby z dupy - to prawda, ale
- dość szczere
- oddają nowe odczucia
- przynajmniej jakieś są
- Odwracając sytuację - nigdy nie dostałem liczb na ryj, gdy mówimy o automatyzacji
Winowajca
Brak metryk
Brak metryk = automatyzacja zła?
- nie
- przykłady:
- testy automatyczne
- budowanie na CI
Problem 1
It ain't gonna automate itself
Koszt 2
- Koszt utrzymania
-
https://www.joelonsoftware.com/2002/11/11/the-law-of-leaky-abstractions/
- abstraction: a simplification of something much more complicated that is going on under the covers.
Leaky abstractions
-
The Law of Leaky Abstractions
- All non-trivial abstractions, to some degree, are leaky
- The Law of Leaky Automation?
- tylko happy path - "dlaczego CI zdechł?"
- error messages
- etc.
Leaky abstractions
- even as we have higher and higher level programming tools with better and better abstractions, becoming a proficient programmer is getting harder and harder
- Automation adds to tech stack.
- TAM first sprint
- Docker, Semaphore, Airbrake, testy (mutation, unitm, acceptance), linter, TypeScript, express
- W pierwszym sprincie bardzo mało kodu
- Jestę DevOpsę?
Leaky abstractions
- The abstractions save us time working, but they don’t save us time learning
- Automatyzujmy tylko to, co znamy
- Widoczność > automatyzacja
Problem 2
The cost of maintenance is pain
Podsumowanie
Automatyzacja kosztuje:
- Koszt automatyzacji rzadko uzasadnia jej sens
- Rozwiązanie: metryki
- Często pomijany i duży koszt automatyzacji to koszt "over time"
- Rozwiązanie: widoczność w projekcie
Automate everything is a scam
By fernandokokocha
Automate everything is a scam
- 71