Piszesz testy do wymagań biznesowych, czy do implementacji?

Zastanawiasz się czasem po co piszesz testy? Poza tym, że tak trzeba, albo tak każą… Piszesz testy, żeby sprawdzić, czy kod działa, czy żeby udowodnić, że działa? Czy testy opierają się o wymagania biznesowe, czy o implementację? Poza dopisywaniem testów do odziedziczonego kodu, powinniśmy się raczej kierować wymaganiami, niż naszą interpretacją, nie uważasz? I tutaj przychodzi nam z pomocą TDD. Nawet jeśli nie korzystasz na codzień z tej techniki, to ona jednak trochę układa w głowie. Pisząc testy przed kodem musisz opierać się o scenariusz biznesowy, bo implementacja jeszcze nie istnieje. W ten sposób lepiej projektujesz kod i skupiasz się Więcej…

Jak zapewniać jakość kiedy pracujesz zdalnie?

Wiele osób jest teraz zmuszonych do pracy zdalniej. To najczęściej jednak nie jest prawdziwa praca zdalna. Jeśli przełożeni podejrzewają, że cały Twój zespół właśnie gra w Wiedźmina, albo ogląda Dom z papieru, to znaczy, że nie ma tutaj zaufania. Jeśli każą Wam się sto razy dziennie wdzwaniać na spotkania, albo wypełniać szczegółowe raporty, żeby temu zapobiec, to nie ma tutaj zaufania. A zaufanie jest niezbędne, jeśli chcesz pracować zdalnie, zwłaszcza asynchronicznie. Zaufanie nie pojawi się od razu. Może się w Tobie rodzić frustracja. Przecież płacą Ci za wykorzystywanie swojego intelektu i swoich umiejętności, a potem sprawdzają, czy na pewno to Więcej…

Mój kod legacy. Jakie dziedzictwo tworzysz?

Kiedy przygotowywałam prezentację o jakości, wyszukiwałam różne obrazy na Pixabay. Wpisałam legacy i dostałam wiele zdjęć starych budynków, instrumentów i antycznych mebli. Słowo dziedzictwo ma raczej pozytywny przekaz. Dlaczego w IT jest inaczej? Ile osób, tyle definicji kodu legacy. Jedni mówią, że to kod bez testów. Inni, że kiepskiej jakości. Jeszcze inni, że obcy obecnemu zespołowi. Tak, czy siak, jest to kod trudny we współpracy. Nie chodzi tylko o linijki w edytorze, ale o cały ekosystem i proces wytwarzania. Często czujemy niechęć do takiego kodu, chociaż tak naprawdę w takich projektach uczymy się najwięcej. W tym podcaście możesz posłuchać, jak Więcej…

Czy znajdziesz minutkę, żeby porozmawiać o TDD?

Kiedy zaczynam rozmawiać o TDD (Test Driven Development), przeważnie spotykam się z dwoma reakcjami. Albo ktoś jest bardzo podekscytowany, albo reaguje agresywnie. To jest chyba jeden z tych tematów, które dzielą branżę na pół. Chociaż nigdy nie przekonuję nikogo, że to jest lek na całe zło. Nic nawet nie obiecuję, ale czasem czuję się jak sprzedawca odkurzaczy.  Dla jednych TDD są ciekawą zabawą, czymś podobnym do sudoku, albo krzyżówek. Dla innych to proces, z którego korzystają w codziennej pracy. Są też tacy, którzy próbowali, ale coś poszło nie tak i teraz ewangelizują nieświadomych zwolenników. Większość z nas jest gdzieś pomiędzy. Więcej…

Czy wiesz jacy są czterej wrogowie pracy z kodem legacy?

Pewnie masz na swoim koncie pracę z cudzym kodem. Rzadko zdarza się pracować wyłącznie w projektach Greenfield, gdzie można napisać wszystko po swojemu… Praca z cudzym kodem jest trudna. Nawet jeśli nie jest to kod legacy. Nawet jeśli jest nieźle napisany, ma testy, a jego twórcy pracują ciągle w tym projekcie. Zderzenie się z cudzymi pomysłami może być wyzwaniem. Są też czterej wrogowie efektywnej pracy z takim kodem. Czterej jeźdźcy apokalipsy. Jeśli wysadzisz ich z siodła, Twoja praca będzie dużo bardziej przyjemna. 1. Pośpiech Wykrywacie błąd. Trzeba to szybko naprawić. Szybko. Starasz się więc ogarnąć kod po łebkach i dostarczyć Więcej…

Nie po to programujesz, żeby rozmawiać z ludźmi?

Często spotykam inżynierów, którzy nie chcą, nie potrafią, albo nie lubią rozmawiać z ludźmi. Czasem nawet są z tego dumni! No bo przecież nie po to szlifuje się swoje umiejętności techniczne, żeby zawracać sobie głowę komunikacją. Dopóki nie muszę z kimś takim pracować, mogę z tym żyć. Ta osoba siedzi sobie w mentalnej piwnicy, przekonana o byciu najlepszym fachowcem na świecie, a ja zmieniam stolik na konferencyjnym afterze. It’s fine. A co jeśli powiem Ci, że komunikacja wpływa na jakość? Co, jeśli możesz stracić projekt przez kiepskie posługiwanie się językiem polskim/angielskim? Co, jeśli możesz dostać lepszy projekt głównie dlatego, że Więcej…