Blog changeloop

Notatki wydania w praktyce

Dwie rzeczy, o których dużo myślimy: jak pisać notatki wydania, które ktoś przeczyta, i jak przestać ręcznie prowadzić changelog. Bez newslettera, bez rejestracji. Same teksty.

  • Release notes poprawek błędów: jak pisać użyteczne wpisy

    Release notes poprawek błędów działają, gdy wpis nazywa objaw, kogo dotknął i co robić dalej. Przepisane przykłady oraz zasady dla luk i utraty danych.

    Notatki wydania w praktyce6 min czytania

  • Jak prosić klientów o feedback w produkcie software'owym

    Zadajcie jedno konkretne pytanie zaraz po akcji użytkownika, tam gdzie pracuje. Gotowe sformułowania na każdą chwilę i złe prośby, których unikać.

    Pętla feedbacku6 min czytania

  • Przykłady roadmapy produktu: sześć formatów i ich wady

    Sześć przykładów roadmapy produktu z realistycznymi pozycjami: Now/Next/Later, kwartalna, tematyczna, wynikowa, publiczna i wydań. Komu służą, jak zawodzą.

    Pętla feedbacku6 min czytania

  • Przykłady release notes na każdy rodzaj zmiany

    Przykłady release notes dla funkcji, poprawki, zmiany łamiącej, luki bezpieczeństwa, deprecacji, noty w sklepie i wewnętrznej, z uzasadnieniem.

    Notatki wydania w praktyce6 min czytania

  • Proces zarządzania wydaniami dla zespołów wydających często

    Proces zarządzania wydaniami w siedmiu krokach, z właścicielem i kryteriami wyjścia dla każdego, plus metryki DORA i jeden dodatkowy wskaźnik do śledzenia.

    Inżynieria6 min czytania

  • Wersjonowanie API Stripe: jak działa i co z niego skopiować

    Wersjonowanie API Stripe przypina każde konto do wersji z datą i pozwala nadpisać ją w żądaniu. Jak działa, ile kosztuje i co może skopiować małe API.

    Zmiany w API6 min czytania

  • Kto pisze changelog, i kto powinien

    Kto pisze changelog? Autorka PR wie, co się zmieniło, PM wie, dlaczego to ważne. Żadna sama nie napisze dobrego wpisu, a domyślny wybór postarza changelog.

    Inżynieria5 min czytania

  • Awaryjne release notes: pisanie pod prawdziwą presją

    Wydanie po incydencie potrzebuje notatek pisanych w minuty, nie dni, a zwykły proces zakłada czas, którego nie macie. Co zostawić w notatkach, co wyciąć.

    Notatki wydania w praktyce5 min czytania

  • Zmiany łamiące w Protobuf: co przetrwa na wire

    Zmiany łamiące w Protobuf dzieją się na wire, nie w URL. Część zmian pól gRPC jest darmowa, inne po cichu łamią klientów, a w diffie wyglądają tak samo.

    Zmiany w API5 min czytania

  • Formaty plików changeloga: JSON, YAML czy zwykły Markdown

    Format pliku changeloga decyduje, czy zasili stronę i widżet, czy przeczyta go tylko człowiek. Markdown, JSON i YAML kosztują zupełnie coś innego.

    Inżynieria5 min czytania

  • Duplikaty próśb o funkcje: scalanie bez utraty głosu

    Grupowanie duplikatów próśb o funkcje chroni liczbę. Nieostrożne scalanie traci sformułowanie, które czyniło jedną z nich użyteczną, to mniejsza strata.

    Pętla feedbacku5 min czytania

  • Deprecacja GraphQL bez numeru wersji

    GraphQL nie ma v1 ani v2 w URL-u. Pola są deprecjonowane jedno po drugim dyrektywą, na jednym wspólnym schemacie, co zmienia, co jest winien changelog.

    Zmiany w API5 min czytania

  • Jak napisać przewodnik migracji API

    Przewodnik migracji API zamienia niekompatybilną zmianę w listę kontrolną zamiast awarii. Czego potrzebuje, kiedy go publikować i czemu wpis nie wystarczy.

    Zmiany w API4 min czytania

  • Check changelogu dla GitHub Actions

    Check changelogu w GitHub Actions odrzuca merge bez wpisu, bo krok zależny od pamiętania zawodzi według wzorca. Do tego: co taki check psuje.

    Inżynieria4 min czytania

  • Jak odrzucić prośbę o funkcję, nie tracąc klientki

    Zamykanie pętli zwykle oznacza powiedzenie komuś, że coś wydano. Trudniejsza połowa to powiedzieć nie, w sposób, który nie zepsuje relacji z klientką.

    Pętla feedbacku4 min czytania

  • Release notes dla feature flagów: co i kiedy napisać

    Release notes dla feature flagów muszą odróżnić merge od wydania, bo z flagą to nie to samo. Zamknięcie pętli za wcześnie ogłasza funkcję niewidoczną.

    Pętla feedbacku5 min czytania

  • Kiedy prośba o funkcję jest naprawdę zgłoszeniem błędu

    Zgłoszenie do supportu proszące o nowe ustawienie może być obejściem ukrytego błędu. Zła etykieta wysyła je do niewłaściwej właścicielki i kolejki.

    Pętla feedbacku4 min czytania

  • Zgłoszenia do supportu vs. prośby o funkcje: czemu ufać?

    Zgłoszenie do supportu i tablica próśb o funkcje mierzą różne rzeczy, a traktowanie skoku w jednym jako w drugim daje pewne siebie, błędne priorytety.

    Pętla feedbacku5 min czytania

  • Tagi git, wydania i twój changelog

    Tag git, wydanie i wpis w changelogu to trzy zapisy jednego zdarzenia. Mieszanie ich sprawia, że changelog dryfuje. Jak te trzy powinny się zgadzać.

    Inżynieria5 min czytania

  • Jak śledzić prośby o funkcje, nie gubiąc ich

    Śledzenie próśb o funkcje zawodzi zwykle na dwa sposoby: prośby nigdzie nie trafiają albo trafiają tam, gdzie nikt nie zagląda. System, który przetrwa oba.

    Pętla feedbacku5 min czytania

  • Wewnętrzne notatki wydania: kto jeszcze musi wiedzieć

    Support i sprzedaż zwykle dowiadują się o premierze od zdezorientowanego klienta. Wewnętrzne notatki wydania to naprawiają, w innej formie niż klienckie.

    Notatki wydania w praktyce4 min czytania

  • Wewnętrzne changelogi API: co się zmienia dla innego zespołu

    Publiczny changelog API ma odbiorców, do których nie da się dotrzeć bezpośrednio. Wewnętrzny ma odbiorców dwa piętra dalej, i to zmienia, co się im należy.

    Zmiany w API5 min czytania

  • Release notes dla aplikacji mobilnych: co ucina limit

    App Store i Play Store dają kilka widocznych linijek i żadnych linków. To, co działa w web-owym changelogu, łamie się przy takim ciasnym budżecie.

    Notatki wydania w praktyce4 min czytania

  • Changelogi w monorepo: jeden, czy jeden na pakiet?

    Monorepo może mieć jeden changelog dla całego repo albo jeden na pakiet, a zły wybór sprawia, że każde wydanie jest zbyt hałaśliwe albo zbyt rozproszone.

    Inżynieria5 min czytania

  • Jak ogłosić nową funkcję (bez ciszy)

    Większość ogłoszeń funkcji umiera w kanale, którego nikt nie czyta dwa razy. Gdzie ogłaszać, co powiedzieć najpierw, i kogo trzeba dosięgnąć.

    Notatki wydania w praktyce4 min czytania

  • Priorytetyzacja rosnącej liczby próśb o funkcje

    Śledzony backlog wciąż zostawia trudne pytanie otwarte: która prośba idzie pierwsza. Ramy, które działają, gdzie każde zawodzi, i co ukrywa liczba głosów.

    Pętla feedbacku5 min czytania

  • Release notes enterprise: co się zmienia dla jednego konta

    Release notes enterprise dla klienta na prywatnym buildzie muszą pasować do jego instancji. Złe dopasowanie ujawnia roadmapę albo myli jego supportu.

    Notatki wydania w praktyce5 min czytania

  • Semantic versioning a twój changelog

    Semantic versioning mówi, jak bardzo wydanie może zaboleć, zanim ktoś przeczyta słowo z changeloga. Co obiecuje każda cyfra i co jest winny wpis.

    Inżynieria5 min czytania

  • Changelogi webhooków: zmiana łamiąca bez prośby

    Zmiana payloadu webhooka psuje się po cichu, bo nikt nie może jej odrzucić. Co czyni zmianę payloadu łamiącą, i jak nadać jej wersję krok po kroku.

    Zmiany w API5 min czytania

  • Changelog: co to jest? Z przykładowym wpisem

    Changelog to datowany zapis zmian w produkcie. Przykładowy wpis, czym różni się od release notes, commit logu i roadmapy oraz gdzie powinien się znaleźć.

    Notatki wydania w praktyce5 min czytania

  • Nagłówek Sunset w API i kiedy go wysyłać

    Nagłówek Sunset w API mówi klientowi, kiedy wersja przestanie odpowiadać, inaczej niż powiadomienie o deprecacji. Co obejmuje RFC 8594 i co daje brownout.

    Zmiany w API5 min czytania

  • Changelog API: co publikować i kto to czyta

    Changelog API czytają osoby decydujące, czy ich kod będzie działał za miesiąc. Co każdy wpis im zawdzięcza, gdzie mieszka i jak się subskrybuje.

    Zmiany w API6 min czytania

  • Jak zbudować stronę changeloga, którą się śledzi

    Strona changeloga jest warta zbudowania, gdy ktoś na nią wraca. Gdzie powinna mieszkać, czego potrzebuje wpis, strumienie i markup, i gdzie pasuje widżet.

    Inżynieria5 min czytania

  • Szablon e-maila o aktualizacji produktu, który się czyta

    E-mail o aktualizacji produktu, który się czyta, trafił do kogoś, kto o niego prosił. Szablon, cztery typy e-maili, skuteczne tematy, segmentacja i zgoda.

    Notatki wydania w praktyce5 min czytania

  • Jak deprecjonować API, nie tracąc programistów

    Deprecacja to obietnica z datą. Harmonogram, szablon powiadomienia, nagłówki odpowiedzi, i krok, który powstrzymuje sunset przed staniem się incydentem.

    Zmiany w API5 min czytania

  • Najlepsze praktyki wersjonowania API, dla wywołujących

    Wersjonujcie tylko to, co łamie kompatybilność, umieśćcie wersję tam, gdzie ją widzą wywołujący, i trzymajcie starą do daty. Cztery schematy porównane.

    Zmiany w API6 min czytania

  • Zmiany łamiące kompatybilność: co się liczy i jak je wydać

    Zmiana łamiąca kompatybilność to każda, której poprawny wywołujący by nie przetrwał. Co się liczy, co nie, jak ją wykryć w CI i bezpiecznie wydać.

    Zmiany w API8 min czytania

  • Zamykanie pętli feedbacku od strony changelogu

    Pętla feedbacku zamyka się, gdy proszący wie: wydane. Pętla w czterech krokach, gdzie się psuje, i dlaczego changelog to właściwe miejsce, by ją zamknąć.

    Pętla feedbacku7 min czytania

  • Szablon prośby o funkcję, który staje się changelogiem

    Prośba o funkcję jest użyteczna tylko, jeśli da się ją odnaleźć przy wydaniu. Szablon, etykiety, które ją kierują, i pola, które później czyta changelog.

    Pętla feedbacku5 min czytania

  • Publiczna roadmapa z waszego trackera issue, trzy kolumny

    Publiczna roadmapa to obietnica na przyszłość. Trzymajcie ją małą, zasilajcie z waszych issue, i przesuwajcie każdy element etykietą na jego issue.

    Pętla feedbacku5 min czytania

  • Automatyzacja changelogu, i jej granice

    Automatyzujcie zbieranie, formatowanie i publikację. Nie automatyzujcie selekcji ani sformułowania. Gdzie leży granica i co się dzieje, gdy się przesuwa.

    Inżynieria5 min czytania

  • Changelog vs release notes: jaka jest różnica?

    Changelog to ciągły rejestr dla kogoś, kto czegoś szuka. Release notes to wyselekcjonowana wiadomość dla kogoś, kto decyduje, czy go to obchodzi.

    Notatki wydania w praktyce5 min czytania

  • Od conventional commits do changelogu

    Conventional commits sprawiają, że changelog da się wyprowadzić, ale nie że jest czytelny. Co daje ta konwencja, gdzie się zatrzymuje i jak wypełnić lukę.

    Inżynieria5 min czytania

  • Jak pisać release notes, które ludzie faktycznie czytają

    «Poprawki błędów i usprawnienia wydajności» to nie release note. Pytanie, na które musi odpowiedzieć każdy wpis, i przepisanie prawdziwego przykładu.

    Notatki wydania w praktyce5 min czytania

  • Keep a Changelog, naprawdę wdrożony

    Keep a Changelog to specyfikacja na jedną stronę, czytana w dziesięć minut. Wdrożenie to miejsce, gdzie zespoły od niej odchodzą. Co mówi, co zostawia.

    Inżynieria5 min czytania

  • Najlepsze praktyki release notes, które mają znaczenie

    Większość list najlepszych praktyk to porady stylistyczne. Te zmieniają zachowanie czytelnika, plus trzy popularne, które są czystym kultem cargo.

    Notatki wydania w praktyce5 min czytania