Kako napisati korisne zapise promjena koji će motivirati vaš tim

  • Dobar popis promjena kombinira detaljne interne zapise s javnom verzijom orijentiranom na korisnika, usklađujući tehničku i poslovnu komunikaciju.
  • Oslanjanje na Git, jasne poruke o commit-u i automatizirane alate za generiranje smanjuje pogreške i održava dnevnik promjena ažurnim.
  • Struktura, jednostavan jezik, kontekst i uključivanje poveznica čine popis promjena praktičnom referencom za cijeli tim.
  • Tretiranje dnevnika promjena kao dijela tijeka rada, a ne kao opcionalnog zadatka, jača transparentnost, povjerenje i rješavanje incidenata.

dnevnike promjena

Ako radite na digitalnom proizvodu, prije ili kasnije dođe vrijeme da se zapitate Kako napisati korisne zapise promjena koji olakšavaju rad tima I, usput, da vaši klijenti mogu lako razumjeti što se promijenilo. Mnogi timovi počinju s bilješkama o izdanju izgubljenim u centru za pomoć ili skrivenim u Git commitovima, sve dok ne shvate da ih nitko ne čita niti koristi.

Dobra je vijest da se uz određenu metodu ovaj kaos može transformirati u sustav koji doprinosi Jasnoća, transparentnost i stvarna vrijednost za razvoj, poslovanje, kupce, investitore i podršku.Pogledajmo, korak po korak, kako dizajnirati dnevnik promjena koji funkcionira na dnevnoj bazi, koristeći prednosti i najboljih tehničkih praksi (Git, automatizacija, predlošci…) i ljudske strane upravljanja promjenama unutar organizacije.

Što je dnevnik promjena i zašto je toliko važan?

Dnevnik promjena je, u biti, kronološki zapis relevantnih promjena napravljenih na proizvoduNove značajke, poboljšanja, ispravci, duboke tehničke promjene, ukidanja, eksperimenti… To bi bio „dnevnik evolucije“ vašeg softvera, napisan na način da svatko može pratiti što se dogodilo između jedne verzije i sljedeće.

U praksi se obično pojavljuju dvije glavne vrste zapisa promjena, koje treba razlikovati od samog početka jer Ton, dubina i publika su različiti u svakom slučaju:

  • Poslovna priopćenjaOvo su bilješke namijenjene korisnicima koji nisu tehnički potkovani i poslovnim profilima. One jednostavnim riječima objašnjavaju što je novo, što je poboljšano i koji su problemi riješeni, uvijek s naglaskom na prednosti i slučajeve upotrebe.
  • Zapisnik tehničkih promjenaFokusira se na detalje implementacije: promjene u bazi podataka, refaktoriranje, migracije, verzije ovisnosti, izvršene skripte… Pomaže timu da shvati što se dogodilo bez udubljivanja u commit po commit.

Obje vrste zapisa su važne jer Služe različitim, ali komplementarnim svrhamaInterno pružaju kontekst i kontrolu; eksterno pokazuju napredak, grade povjerenje i pomažu u komunikaciji vrijednosti.

dnevnike promjena

Prave prednosti održavanja dobrog dnevnika promjena

Osim što samo "izgleda profesionalno", dobro održavan popis promjena nudi vrlo konkretne koristi za tim, tvrtku i korisnikeTo nije samo lijepa dokumentacija: to je radni alat.

Prvo, postaje ključni dio za rješavanje incidenata i analiza regresijaU slučaju pogreške u produkciji, mogućnost brzog pregleda onoga što je objavljeno tog dana (komponente, verzije, migracije, izvršene skripte) štedi sate istrage i smanjuje prosječno vrijeme rješavanja.

Drugo, jasan, javni popis promjena moćan je način za ostvariti transparentnost i ojačati povjerenje u proizvodKupci i dionici vide da se proizvod razvija, da se problemi rješavaju i da postoji živi plan, umjesto da percipiraju "crnu kutiju" koja se mijenja bez objašnjenja.

Nadalje, za poslovne, marketinške ili investitorske profile, popis promjena služi kao primjer isporučene vrijednosti: Prikazuje evoluciju proizvoda tijekom vremena.Pomaže u praćenju prioriteta i omogućuje vam procjenu prati li tempo poboljšanja ciljeve tvrtke.

Ne smijemo zaboraviti ni internu korisnost: dobro organiziran registar omogućuje razvojnim programerima, proizvodu, osiguranju kvalitete ili podršci osvježiti pamćenje o tome što se dogodilo u sprintu ili u izdanju bez potrebe za praćenjem desetaka grana i spajanja u Gitu. A za podršku, služi kao skripta za odgovaranje korisnicima o novostima ili nedavnom rješavanju problema.

Također ima značajnu motivacijsku komponentu: uvid u organiziranu povijest promjena pomaže vizualizirajte kolektivni rad obavljen tijekom vremenaNešto što se često izgubi među tiketima i commitima, a vidjeti to odraženo pojačava ponos tima.

Privatni dnevnik promjena: interni dnevnik koji sadrži sve

Većini proizvoda je potreban barem jedan privatni, tehnički i prilično detaljan dnevnik promjenaOvo je dokument koji služi kao osnova za revizije, dijagnostiku i koordinaciju između timova. Iako kasnije možete objaviti pojednostavljenu verziju za klijente, ovo je "izvorni" dokument na kojem se sve ostalo temelji.

U mnogim sustavima, ovaj zapis ima oblik tablice ili strukturiranog dokumenta gdje se za svako produkcijsko izdanje ili verziju prikupljaju polja poput sljedećih: Zahvaćeni modul ili komponenta, vrsta napravljene promjene, prethodne i nove verzije, posebne napomene, tehnički vodič i poveznice na testove (na primjer, za slučajeve testiranja, dokaza ili CI cjevovoda).

Kada promjena uključuje utjecaj na bazu podataka, posebno je korisno dokumentirati je. detalje izvršenih operacija i referencu na određeni skript Pušteno u produkciju. Na taj način, ako mjesecima kasnije trebaju točno pregledati što je napravljeno, tim ne mora ručno rekonstruirati priču.

Ovaj privatni zapisnik promjena može se zabilježiti po implementaciji (svakom "produkcijskom puštanju u rad") ili po verziji aplikacije. U visoko prilagodljivim proizvodima može se i organizirati. prema slučaju upotrebe ili prema kupcu, što pokazuje kako se svaki scenarij razvijao tijekom vremena.

Najbolje prakse za privatne zapise promjena

Kako bi se spriječilo da taj interni zapis postane mrtvi dokument, ključno je da biti smješten na lokaciji koja je pristupačna, sigurna i jednostavna za uređivanje timu.To može biti prostor u korporativnom wikiju, dobro strukturirani dijeljeni dokument ili izravno pohranjeno u repozitoriju (na primjer, kao interni CHANGELOG).

Također je preporučljivo da odabrani sustav omogućuje Održavajte sigurnosne zahtjeve i zahtjeve kontrole pristupa potrebno u projektu, posebno ako su uključeni osjetljivi tehnički detalji ili podaci o infrastrukturi.

Ključno je učiniti proces ažuriranja dovoljno agilnim kako ga tim ne bi doživljavao kao neodrživo dodatno opterećenje, budući da Zastarjeli popis promjena je gotovo gori nego nemati ništa.Pruža lažne sigurnosne informacije i prisiljava vas da sve provjeravate na druge načine.

changelog

Javni popis promjena: kako prenijeti istu poruku bez preopterećenja

Na temelju tog detaljnog internog zapisa može se izgraditi javni dnevnik promjena, puno jednostavniji za korištenje i usmjeren prema krajnjem korisnikuTehnički "kako" ovdje nije toliko važan koliko "što" i "zašto": koji je problem riješen, što poboljšava iskustvo, što sada mogu učiniti što prije nisu mogli.

Iako je temeljni sadržaj isti kao u internoj verziji, poruka se radikalno mijenja: detalji implementacije se uklanjaju, a promjene se prevode u poslovni jezik, slučajevi upotrebe i konkretne koristiUobičajeno ih je grupirati u odjeljke kao što su "Nove značajke" i "Ispravci i poboljšanja".

Možete čak ići i korak dalje uključivanjem malog bloka s nadolazeće ili značajke u razvojuTo korisnicima omogućuje da znaju što dolazi u kratkoročnom ili srednjoročnom razdoblju. Pomaže u upravljanju očekivanjima i pokazuje da postoji dinamičan plan.

Također je dobro mjesto za dodavanje poruke zahvale, obavijesti ili isprike Kada je bilo relevantnih incidenata, koristili smo popis promjena kao iskren komunikacijski kanal s korisničkom bazom.

Neki proizvodi prate javne unose u dnevnik promjena s snimke zaslona ili animirane GIF-ove Oni prikazuju novu značajku u akciji, slično kao i poznati alati u razvojnom ekosustavu. Vizualno, to uvelike pomaže korisnicima da razumiju promjenu bez potrebe za čitanjem dugih odlomaka.

Savjeti za izradu javnog zapisa

Zlatno pravilo ovdje je Pišite imajući na umu osobu koja će koristiti alat, a ne osobu koja ga je izradila.To znači izbjegavanje nepotrebnog tehničkog žargona, objašnjavanje utjecaja („sada možete X brže“) i davanje prioriteta onome što stvarno utječe na svakodnevni život korisnika.

Preporučljivo je održavati prepoznatljivu strukturu od jedne verzije do druge, kako bi čitatelj mogao brzo pronaći ono što je relevantno. odjeljci koji vas najviše zanimaju (Na primjer, prvo nove značajke, zatim poboljšanja i na kraju ispravci grešaka). Dosljednost olakšava razvoj navike čitanja dnevnika promjena.

Konačno, važno je da su unosi dovoljno jasni kako bi podrška mogla... Jednostavno kopirajte i prilagodite tekstove popisa promjena Prilikom odgovaranja na zahtjeve ili pripreme komunikacije, ako je tekst koristan u objašnjavanju promjena kupcu, na pravom ste putu.

Dnevnici promjena, Git i automatizacija pravilno shvaćeni

Ako koristite Git kao sustav za kontrolu verzija (što je danas najčešća praksa), imate zlatni rudnik informacija koji možete iskoristiti za generirati zapise promjena na sustavniji način i s manjom vjerojatnošću da će biti zaboravljeniMeđutim, to se mora učiniti razborito.

Prvi korak je održavanje discipline s commitima: opisne, dosljedne poruke i, ako je moguće, temeljene na standardu kao što su konvencionalni commiti. To omogućuje automatsku klasifikaciju promjena u tipove (feat, fix, docs, refactoring…), što se zatim prevodi u odjeljke dnevnika promjena.

Na temelju toga, alati kao što su conventional-changelog, git-changelog ili generatori ugrađeni u platforme poput GitHuba ili GitLaba za izdvajanje promjena između oznaka ili izdanja i njihovo pohranjivanje u datoteku CHANGELOG organiziranu po verzijama.

Tipičan tijek rada bio bi: inicijalizacija repozitorija, rad na granama s dobro napisanim commitovima, označavanje verzija i zatim Automatski ili poluautomatski generiraj dnevnik promjena iz povijestina primjer, integriranjem u CI/CD cjevovod s GitHub akcijamaZatim se pregledava, jezik se usavršava i objavljuje javna verzija ako je prikladno.

Ova automatizacija ne zamjenjuje ljudsku prosudbu, ali pomaže kako bi se spriječilo da promjene ostanu nedokumentirane Održavanje dnevnika promjena ažurnim zahtijeva manje truda. Međutim, ako se standardi napuste u porukama commit-a, korisnost sustava naglo opada.

Ključni koraci za izgradnju solidnog popisa promjena

Osim specifičnih alata, korisno je razmišljati o dizajnu dnevnika promjena kao o malom, višefaznom procesu koji se ponavlja verziju za verzijom i omogućuje održavati kvalitetu i korisnost zapisa.

Prva faza se sastoji od Navedite sva relevantna ažuriranja od posljednje verzije.Ne radi se o sastavljanju svake pojedine interne mikropromjene, već o prikupljanju značajki, ispravaka i poboljšanja koja imaju primjetan utjecaj na proizvod.

Onda moraš organizirajte te promjene po verziji i, unutar svake verzije, po kategorijamaUobičajena je praksa grupirati ih u blokove kao što su „Dodano / Novo“, „Poboljšano / Promijenjeno“, „Ispravljeno“, „Zastarjelo“ ili slično, kako bi bilo vrlo lako locirati o kojoj se vrsti promjene radi.

Sljedeći je pisani dio: opisivanje svake promjene jezikom koji je i jasan i precizan. Idealno, Objasnite što je učinjeno i zašto je to relevantnoizbjegavajući prazne fraze poput „nekoliko manjih poboljšanja“ koje nikome ne koriste.

Nakon što su verzija, kategorije i opisi definirani, preporučljivo je usvojiti standardni i konzistentni format Što se tiče naslova, redoslijeda, stila rečenica, korištenja poveznica itd., to olakšava i čitanje i integraciju s vanjskim alatima (generatorima, skriptama za objavljivanje).

Konačno, svako novo izdanje trebalo bi biti popraćeno ažuriranje popisa promjena i njegovo dostavljanje relevantnim timovima, bilo putem same platforme za kod (izdanja na GitHubu/GitLabu), web stranice proizvoda, centra za pomoć ili kampanja putem e-pošte i društvenih medija.

Kako upravljati i održavati dnevnik promjena tijekom vremena

Prava poteškoća nije otvaranje CHANGELOG datoteke, već kako bi ga održali živim i pouzdanim tijekom cijelog životnog vijeka projektaZbog toga ga treba tretirati kao još jedan dio tijeka rada, a ne kao nešto što se na brzinu popunjava na kraju „ako ima vremena“.

Za početak, puno pomaže definirati od samog početka. jasna struktura, kompatibilna s vanjskim alatima i jednostavna za praćenjeKlasična shema je navesti verzije obrnutim redoslijedom (od najnovijih prvo) i, unutar svake od njih, odjeljke s kratkim popisima promjena.

Također je ključno da odabrani format bude čitljiv ljudima i jednostavan za uređivanje: Markdown i običan HTML obično su dobre opcije jer Dobro se integriraju s repozitorijima i sustavima za upravljanje dokumentima i lako ih je obraditi pomoću skripti.

Što se tiče sadržaja, najbolje je usredotočiti se na značajne promjene (nove značajke, ispravke većih programskih pogrešaka, arhitektonske odluke, promjene u ponašanju) i izbjegavati pretjerano detaljiranje trivijalnosti. Popis promjena zasićen bukom čini ga... Relevantne informacije gube se među desecima trivijalnih bilješki.

Druga ključna stvar je ne prebacivati ​​svu odgovornost na jednu osobu: idealno, Cijeli tim osjeća se dijelom održavanja rekordaSvaka osoba može doprinijeti nacrtima svojih tiketa ili korisničkih priča, koje zatim pregledava i objedinjuje netko s globalnom vizijom.

Konačno, vrlo je praktično povezati dnevnik promjena sa samim alatima za upravljanje radom (problemi, zadaci, incidenti). U mnogim okruženjima u tu svrhu koriste se oznake i unakrsne reference. Povežite svaki unos u dnevniku promjena s odgovarajućim problemom ili zahtjevom za povlačenjem., olakšavajući sljedivost u slučaju potrebe za daljnjom istragom.

Alati i resursi za profesionalizaciju vašeg popisa promjena

Nakon što su temelji postavljeni, pravo je vrijeme da se oslonite na alate koji olakšavaju zadatak i omogućuju automatizirati dijelove procesa bez gubitka kontrole na konačnom rezultatu.

S jedne strane, postoje uslužni programi koji generiraju bilješke o izdanju iz oznaka i poruka o potvrđivanju, kao što su Generatori bilješki o izdanju Gita ili skripte temeljene na konvencijama poruka. Obično vam omogućuju prilagodbu izlaznog formata kako bi odgovarao vašim predlošcima.

Platforme za hosting koda same po sebi nude korisne značajke: na primjer, Izdanja GitHuba ili mehanizmi izdanja GitLaba Omogućuju vam stvaranje označenih verzija i pisanje povezanog dnevnika promjena odmah na mjestu, koji se zatim može sinkronizirati s javnom dokumentacijom.

Postoje i standardizirani vodiči i predlošci, poput dobro poznate inicijative „Vodi dnevnik promjena“, koja predlaže standardna struktura odjeljaka i konvencije imenovanjaUsvajanje nečega ovakvog pomaže svima koji su upoznati s tim standardom da se snađu u vašem registru.

Konačno, postoje online generatori koji mogu uspoređivati ​​oznake u repozitoriju i izrađivati ​​nacrt dnevnika promjena između njih. Ove vrste alata posebno su korisne u suradnički projekti s mnogim suradnicimagdje bi ručno sastavljanje svih promjena bilo nepraktično.

Koji god stog odabrali, važno je da Alati se prilagođavaju radnom procesu vašeg tima a ne obrnuto. Vrlo moćan sustav, ali onaj koji se doživljava kao stran ili složen, na kraju će se koristiti malo ili slabo.

U konačnici, stvaranje i održavanje dobrog dnevnika promjena ne odnosi se samo na popisivanje promjena, već na izgraditi jasnu i iskrenu priču o evoluciji proizvodašto pomaže timu da bolje radi, smanji rizike u svakom implementaciji i komunicira klijentima i dionicima da je softver aktivan, da se o njemu brine i da se kreće u razumljivom smjeru.

Izradite CI/CD cjevovod pomoću GitHub Actions
Povezani članak:
Kako stvoriti robustan CI/CD cjevovod s GitHub akcijama

Dodaj kao preferirani izvor na Googleu