Ominaisuusliput ovat mullistaneet tuotepäälliköiden työn. Niiden avulla voit julkaista uusia ominaisuuksia ilman päänvaivaa – ilman koodimuutoksia, täysimittaisia käyttöönottoja ja riskiä.
Ajattele niitä kytkiminä, joita voit vaihtaa mukauttaaksesi tuotettasi tai suorittaaksesi kokeiluja lennossa. Nopeutitpa julkaisusyklejä tai testasitpa uusia ideoita, ominaisuusliput antavat vallan sinulle.
Tässä artikkelissa jaan parhaat käytännöt ominaisuuslippujen hallintaan ja näytän, kuinka hyödynsin näitä tekniikoita Guardian Soulmatesissa, The Guardianin deittialustalla, suuren uudistuksen yksinkertaistamiseksi.
Key Takeaways
Määritelmä: Ominaisuusliput parantavat julkaisusyklejä mahdollistamalla ominaisuuksien turvallisen ja joustavan käyttöönoton ilman koodimuutoksia.
Miksi ne ovat hyödyllisiä: Ominaisuuslippujen selkeät nimeämiskäytännöt auttavat tiimejä ymmärtämään helposti niiden tarkoituksen ja välttämään sekaannuksia.
Tehokas käyttö: Hallitse lippuja tehokkaasti poistamalla käytöstä vanhentuneet liput ja varmistamalla, että ne voidaan helposti ottaa käyttöön tai poistaa käytöstä.
Aloita pienestä: Käytä ominaisuuslippuja testaamiseen aloittamalla pienillä käyttäjäryhmillä ja laajentamalla käyttöönottoa palautteen perusteella riskien minimoimiseksi.
Parhaat käytännöt ominaisuuslippujen hallintaan
Jotta voit hallita ominaisuuslippuja tehokkaasti ja varmistaa sujuvat tuotteen julkaisut, on tärkeää noudattaa selkeyttä ja tehokkuutta edistäviä parhaita käytäntöjä. Tässä on muutamia keskeisiä käytäntöjä, jotka kannattaa pitää mielessä:
- Käytä yhdenmukaista järjestelmää: Käytitpä hallintatyökalua tai asetustiedostoa, varmista, että järjestelmä on helppo ymmärtää ja kaikkien tiimin jäsenten käytettävissä.
- Laadi selkeät nimeämiskäytännöt: Jokaisella lipputyypillä (esimerkiksi julkaisu-, käyttöoikeus- ja käytöstäpoistolipuilla) tulisi olla yksilölliset ja kuvaavat nimet, jotta kaikki ymmärtävät ne vielä vuosienkin kuluttua.
- Tee lippujen vaihtamisesta helppoa: Lippujen käyttöönoton ja käytöstäpoiston tulisi onnistua helposti ilman koodimuutoksia tai kehittäjän apua.
- Poista vanhentuneet liput: Poista liput, joita ei enää tarvita, jotta järjestelmä ei täyty turhasta ja tekninen velka vähenee.
1. Käytä yhdenmukaista järjestelmää ominaisuuslippujen hallintaan
Ei ole väliä, käytätkö ominaisulippujen hallintatyökalua (kuten esimerkiksi LaunchDarklyä), asetustiedostoa tai tietokantataulua. Mitä tahansa käytätkin, järjestelmän tulisi olla helppo ymmärtää ja sisältää hyvät nimeämiskäytännöt, jotta jokainen ohjelmistoinsinööri ymmärtää, mitä lippu tekee.
Kun otat ominaisuusliput ensimmäistä kertaa käyttöön, käytä hieman aikaa keskustellaksesi siitä, mikä ratkaisu sopii sinulle parhaiten, sillä haluat käyttää tätä järjestelmää pitkällä aikavälillä.
2. Laadi nimeämiskäytännöt erityyppisille ominaisuuslipuille
Voit käyttää ominaisuuslippuja moniin eri tarkoituksiin:
- Julkaisuliput: mahdollistavat tuotantokoodin käyttöönoton ennen kuin ominaisuus on valmis julkiseen julkaisuun.
- Kokeiluliput: A/B-testin luomisessa lippu määrittää, minkä kokemuksen kukin käyttäjäryhmä saa.
- Käyttöoikeusliput: mahdollistavat tiettyjen ominaisuuksien käytön hallinnan eri asiakkaille
- Käytöstäpoistoliput: mahdollistavat tuotteen toimintojen hallitun rajoittamisen suorituskyky- tai ylikuormitusongelmien ilmetessä.
Selkeät nimeämiskäytännöt kullekin lipputyypille tarkoittavat, että kaikki tietävät, mitä kukin lippu tekee vielä vuosienkin kuluttua.
Have an account? Log In
3. Tee lipun käyttöönotosta ja käytöstäpoistosta helppoa
Ominaisuuslippujen hienous on siinä, että ne voidaan ottaa helposti käyttöön ja poistaa käytöstä. Ihannetapauksessa sinulla tulisi olla tapa asettaa lippu ilman koodimuutoksia tai kehittäjän apua. Koska lippuja voidaan käyttää niin monin tavoin, useat tiimit saattavat haluta muokata niitä, esimerkiksi:
- Laadunvarmistus haluaa selvittää tai toisintaa tietyn asiakastilanteen.
- Asiakaspalvelu haluaa ottaa ominaisuuden käyttöön tai poistaa sen käytöstä asiakkaalta.
- DevOps-tiimi haluaa sulkea tuotteen (osia siitä) hallitusti ylikuormituksen tai muiden ongelmien ilmetessä.
Jos lippujen asettamiseen on käytettävissä verkkonäkymä, kaikki tämä voidaan tehdä ilman suunnittelutiimisi työtä.
4. Tee ominaisuuslippujen asetukset näkyviksi
Sen, mikä ominaisuuslippujen asetusten yhdistelmä tietylle käyttäjälle on määritetty, tulisi olla helposti nähtävissä. Nämä tiedot tulisi tallentaa käyttäjän profiiliin sekä käyttäjätietokantaan että analytiikkajärjestelmään.
Tästä voi olla paljon hyötyä asiakaspalvelulle ilmoitettujen ongelmien selvittämisessä. Se voi olla erittäin arvokasta myös analysoitaessa eri asetuksia käyttävien käyttäjien toimintaa . Tämä on olennaista A/B-testin tuloksia analysoitaessa.
5. Poista vanhentuneet liput
Julkaisu- ja kokeilulippuja tarvitaan määritelmän mukaan vain väliaikaisesti. Kun lipun hallitsema uusi ominaisuus on julkaistu kokonaan tai kokeilu on päättynyt, varaa aikaa lipun poistamiseen viimeisenä vaiheena. Näin koodiin ei kerry teknistä velkaa ja ominaisuuslippujen hallinta pysyy selkeänä ja helposti ymmärrettävänä.
6. Vältä lippujen välisiä riippuvuuksia
Jokaisella lipulla tulisi olla oma erityinen tarkoituksensa, joka on riippumaton muista lipuista. Oikeuslippujen tapauksessa tämä tarkoittaa, että koodin tulee olla niin modulaarista, että eri ominaisuudet voidaan ottaa käyttöön missä tahansa yhdistelmässä.
Jos tietyn käyttötapauksen käyttöönottoon tarvitaan useita lippuja tai jos liput ovat mahdollisesti ristiriidassa keskenään, lippujen asetuksista voi tulla epäselviä, ja ennemmin tai myöhemmin käyttäjäkokemuksessa ilmenee ongelmia.
7. Käytä ominaisuuskytkintä koodihaarojen välttämiseksi
Kun tuotetiimissä keskustellaan suuremman ominaisuuden toteutuksesta, keskustellaan myös siitä, miten ohjelmistokehitys jaetaan pienempiin osiin. Tässä vaiheessa kannattaa keskustella myös ominaisuuslipun käytöstä.
Kun toteutat lipun ja pidät sen pois käytöstä, vältät pitkäikäisten ominaisuushaarojen luomisen. Uuden ominaisuuden koodi voidaan sen sijaan yhdistää ja julkaista jatkuvasti ilman, että se näkyy käyttäjille CI/CD-prosessissa (jatkuva integraatio / jatkuva toimitus) tai ketterän sprintin koodijulkaisussa. Tämä parantaa koodikannan eheyttä, koska suuria ja monimutkaisia yhdistämisprosesseja ei tarvita ja mahdolliset ristiriidat tunnistetaan nopeasti.
Se myös irrottaa koodin julkaisun muutosten näyttämisestä loppukäyttäjille, kuten kohdassa 8 selitetään.
8. Käytä ominaisuuslippuja pieniin testijulkaisuihin
Suuret uusien ominaisuuksien julkaisut ovat yleensä stressaavia ja riskialttiita, mutta voit vähentää riskejä tarjoamalla ominaisuuden ensin pienelle yleisölle, seuraamalla vaikutuksia ja peruuttamalla julkaisun tarvittaessa.
Jos olet käyttänyt ominaisuuslippua koodin jatkuvaan yhdistämiseen ja julkaisemiseen ennen sen avaamista koko maailmalle kohdassa 7 suositellulla tavalla, sinulla on jo työkalu tämän saavuttamiseen.
Kun uusi toiminnallisuutesi on valmis, ota se käyttöön tuotantoympäristössä niin, että se näkyy ensin vain sisäisille testaajille, sitten pienelle prosenttiosuudelle asiakkaista (tätä kutsutaan kanariajulkaisuksi) ja lopulta koko asiakaskunnalle.
Seuraa jokaisessa vaiheessa tärkeimpiä mittareitasi. Jos jokin menee missä tahansa vaiheessa pieleen, voit helposti kytkeä lipun takaisin pois käytöstä ja tutkia ongelmaa ilman monimutkaisen palautuksen aiheuttamaa stressiä.
Seuraava tapaustutkimus näyttää esimerkin tuotteen merkittävän uudistuksen riskien vähentämisestä.
Tapaustutkimus – ominaisuusliput Guardian Soulmatesin uudistuksessa
Työskennellessäni tuotepäällikkönä Guardian Soulmatesilla (joka oli tuolloin Guardianin tilauspohjainen treffipalvelu) kohtasimme kaksi haastetta: heikkolaatuisen mobiilisivuston ja vanhentuneen brändin. Päätimme toteuttaa siirtymisen uudelleenbrändättyyn responsiiviseen sivustoon kahdessa vaiheessa.
Myönnetään: asiakkaat yleensä inhoavat muutoksia, etenkin maksavat asiakkaat. Uudelleenbrändäys on suuri hanke, joka voi aiheuttaa paljon häiriöitä.
Keskustelimme siitä, miten voisimme parhaiten saavuttaa tavoitteemme eli korvata mobiilisivuston ja ottaa käyttöön uuden brändin aiheuttamatta liikaa häiriöitä tilaajillemme. Valittu ratkaisu oli kaksivaiheinen prosessi, jossa käytettiin kahta ominaisuuslippua:
- Responsiivisen asettelun lippu: tämän lipun avulla pystyimme näyttämään minkä tahansa yksittäisen sivun joko responsiivisessa tai olemassa olevassa työpöytäasettelussa (erilliseen mobiilisivustoon ei koskettu, ennen kuin olimme valmiita julkaisemaan uuden mobiilisivuston kokonaisuudessaan).
- Uuden brändin lippu: tämän lipun avulla pystyimme näyttämään koko sivuston joko vanhalla tai uudella brändillä.
More Articles
Responsiivisen sivuston lippu
Luotuamme responsiivisen kehyksen siirsimme sivuja yksi kerrallaan uuteen responsiiviseen asetteluun. Jos työskentelet samankaltaisen asian parissa, nämä responsiivisen suunnittelun prototyyppityökalut voivat auttaa sinua testaamaan ja iteroimaan asetteluja ennen julkaisua.
Jokaisen siirretyn sivun kohdalla responsiivinen ominaisuuslippu otettiin ensin käyttöön pienelle käyttäjäryhmälle, jolla oli mahdollisuus antaa palautetta.
Muutaman päivän kuluttua responsiivinen sivu julkaistiin kaikille käyttäjille. Tätä toistettiin, kunnes koko sivusto oli responsiivinen.
Sitten mobiilisivusto vaihdettiin uuteen responsiiviseen sivustoon. Työpöytäkäyttäjille aiheutunut häiriö oli vähäinen, koska olimme siirtäneet sivut vaiheittain.
Mobiilikäyttäjille aiheutunut häiriö oli vähäinen, koska mobiilikäyttäjiä ei tuolloin ollut kovin paljon (vanha mobiilisivusto ei nimittäin ollut kovin hyvä!).
Responsiivisen sivuston uudelleenbrändäyksen lippu
Responsiivisen sivuston käyttöönoton jälkeen uuden brändin ominaisuuslipun avulla pystyimme vaihtamaan koko sivuston vanhan ja uuden brändin välillä.
Kehittäjät toteuttivat sivustolle painikkeen, jolla brändin pystyi vaihtamaan käyttäjäkohtaisesti. Näin suunnittelijat, laadunvarmistus ja myös minä tuotepäällikkönä pystyin seuraamaan edistymistä.
Uudistetut sivut julkaistiin jatkuvasti, mutta live-ympäristössä tämä lippu pysyi pois käytöstä, jotta yksikään käyttäjä ei nähnyt sivuja uudella brändillä.
Kun kaikki sivut olivat valmiita, lisäsimme sivustolle painikkeen, jonka avulla käyttäjät saattoivat liittyä uuden brändi-ilmeen julkiseen esikatseluun. Tämä painike otti uuden brändi-ilmeen käyttöön käyttäjälle. Käyttäjät pystyivät antamaan meille palautetta, ja viikon kuluttua otimme brändi-ilmeen käyttöön kaikille.
Koko prosessi oli täysin vaivaton sekä kehitystiimille että asiakkaillemme. Se oli erinomainen esimerkki ominaisuuslippujen käytöstä suuren sivustouudistuksen riskien vähentämiseen.
Jos haluat ymmärtää tarkemmin, mitä teimme, voit lukea artikkelin Soulmates-uudistusprojektista Guardianin tekniikkablogissa.
Loppupäätelmät
Rakenna peruskehys alusta alkaen oikein, niin huomaat, että ominaisuuslippujen käyttö voi lisätä huomattavasti tuotteesi joustavuutta ja tehokkuutta.
Sinun kannattaa myös harkita ominaisuuslippujen käyttöä suuremmissa hankkeissa riskien minimoimiseksi sekä julkaisujen hallintasuunnitelmaa sujuvan käyttöönoton varmistamiseksi. Voit myös käyttää tekoälyä julkaisujen hallinnassa tämän suunnitelman laatimiseen. Ominaisuuslippujen käytön ainoa rajoitus on mielikuvituksesi!
Kerro kommenteissa, millä nokkelilla tavoilla olet käyttänyt ominaisuuslippuja tuotteessasi.
Jos haluat lisää vinkkejä ja niksejä tuotteenhallintataitojesi kehittämiseen, tilaa uutiskirjeemme.
Pyydä tiimisi toisen tuotepäällikön apua tämän hyödyllisen oppaan avulla: Näin laadit tehokkaan ketterän tuotepäällikön työnkuvauksen (+esimerkki)
Kannattaa tutustua myös:



