Blog

MVP skaleerimine: mis juhtub pärast käivituspäeva

Palju õnne, su MVP on elus. Kasutajad registreeruvad. Toode töötab. Oled valideerinud oma hüpoteesi ning ehk isegi sulgenud oma esimesed maksvad kliendid.

Mis nüüd?

Periood MVP käivitamise ja skaleeritud toote vahel on koht, kus paljud idufirmad komistavad. Kood, mis oli “piisavalt hea” 100 kasutajale, läheb katki 10 000 juures. Funktsioonid, mille käivitamiseks välja lõikasid, on nüüd need funktsioonid, mida su kasutajad nõuavad. Arhitektuur, mis lasi sul kiiresti liikuda, hakkab sind aeglustama.

Oleme juhtinud mitmeid tooteid läbi selle ülemineku — kontseptsiooni tõestusest kuni tootmisvalmiduse süsteemideni, mis käsitlevad päris raha, päris kasutajaid ja päris vastavusnõudeid. Siin on see, mida oleme õppinud selle kohta, mis tuleb pärast käivituspäeva.

Esimesed 30 päeva: kuula, ära ehita

Kõige levinum viga, mida asutajad pärast käivitamist teevad, on kohe hakata ehitama järgmist funktsiooni. Vastupane sellele kiusatusele.

Su esimesed 30 päeva päris kasutajatega on informatsiooni kullaauk. Vaata, kuidas nad toodet tegelikult kasutavad — mitte kuidas sa ette kujutasid, et nad seda teevad. Kus nad kinni jäävad? Mida nad üritavad teha, mida sa ei osanud ennustada? Milliseid funktsioone nad ignoreerivad?

Soovitame klientidel esimesel kuul kõike instrumenteerida. Analüütika, sessioonisalvestused, veajälgimine, tugivestlused — kõik see toidab su käivitusjärgset teekonda. Funktsioonid, mida enne käivitamist planeerisid, ei ole peaaegu kindlasti need funktsioonid, mida su kasutajad kõige rohkem vajavad.

Tehnilise skaleerimise kontrollnimekiri

Kui mõistad, kuhu toode peab minema, on siin tehniline töö, mis tavaliselt peab toimuma:

Andmebaasi optimeerimine

MVP andmebaasid on disainitud arendaja kiiruse, mitte päringute jõudluse jaoks. Kasutajate arvu kasvades põrkud aeglaste päringute, puuduvate indeksite ning skeemiotsustega, mis olid mõistlikud prototüüpimisel, kuid mitte tootmises.

Lahendus ei ole alati suurem andmebaas. Sageli on see õigete indeksite lisamine, sageli loetavate andmete denormaliseerimine ning vahemälu rakendamine kulukate päringute jaoks. Oleme näinud 10-kordset jõudluse paranemist ühest fokusseeritud andmebaasi optimeerimise nädalast — ilma infrastruktuurimuudatusteta.

API kiiruspiirangud ja turvatugevdamine

Su MVP-l on tõenäoliselt põhiline autentimine, kuid piiratud kiiruspiirangud, sisendi valideerimine ning kuritarvituse ennetamine. Kasutajaskonna kasvades kasvab ka su ründepind.

Enne turunduse skaleerimist veendu, et su API lõpp-punktid on kiiruspiiratud, su sisendi valideerimine on põhjalik ning su autentimist ei saa kergesti mööda hiilida. FinTech toodete puhul ei ole see valikuline — see on regulatiivne nõue.

Taustatöötlus

MVP arhitektuurid käsitlevad sageli kõike päring-vastus tsüklis. E-kirja saatmine? Tee seda otse. Maksete webhooki töötlemine? Käsitle seda sünkroonselt. Aruande genereerimine? Lase kasutajal oodata.

Skaleerudes läheb see katki. Pikalt jooksvad ülesanded blokeerivad su veebiservereid. Ebaõnnestunud toimingutel ei ole korduskatse mehhanismi. Kasutajad näevad tippkoormuse ajal aegumisi.

Liikumine taustapõhiste tööde töötlemisele — korraliku järjekorra, korduskatse loogika ja jälgimisega — on üks kõige mõjukamaid skaleerimisinvesteeringuid, mida saad teha.

Jälgimine ja hoiatamine

MVP arenduse ajal tähendab silumine tavaliselt logide lugemist serveris. Skaleerudes vajad struktureeritud logimist, veajälgimist, jõudluse jälgimist ja hoiatamist.

Eesmärk on lihtne: tea probleemidest enne, kui su kasutajad sulle nendest räägivad. Kui su maksetöötlus aeglustub kell 2 öösel, tahad hoiatust — mitte vihast e-kirja kell 9 hommikul.

Funktsioonide skaleerimise lõks

Siin on muster, mida näeme korduvalt: MVP õnnestub, asutaja kaasab investeeringuvooru ning järsku on teekaardil 50 funktsiooni, mis “peavad” järgmises kvartalis välja tulema.

See on funktsioonide skaleerimise lõks. Rohkem funktsioone tähendab rohkem koodi, rohkem vigu, rohkem tugikoormust ja rohkem pinda, mida hooldada. Meeskonnad, kes skaleeruvad edukalt, on ei ütlemises distsiplineeritud.

Meie soovitus: iga uue funktsiooni puhul küsi kolm küsimust:

  1. Kas see lahendab probleemi, mis su olemasolevatel kasutajatel on? Mitte teoreetiline probleem — päris üks, mida oled näinud andmetes või tugivestlustes.
  2. Kas saame seda valideerida ilma täisfunktsiooni ehitamata? Maandumisleht, manuaalne protsess või lihtne versioon vastab sageli küsimusele kiiremini kui insenertöö.
  3. Mis see igavesti hooldamiseks maksab? Funktsioonid ei ole ühekordsed kulud. Iga funktsioon, mille tarnid, vajab lõputult uuendamist, testimist ja tuge.

Millal refaktoreerida vs. ümber kirjutada

Mingil hetkel skaleerimise ajal soovitab keegi meeskonnast rakenduse nullist ümberkirjutamist. See on peaaegu alati vale valik.

Ümberkirjutamine tähendab:

  • Kuud arendust ilma uute funktsioonideta kasutajatele
  • Vigade taasesitamist, mille praegune koodibaas on juba parandanud
  • “Teise süsteemi efekti” riski — kõige ülemäärane inseneeria
  • Institutsionaalse teadmise kaotamist, mis on olemasolevasse koodi sisse ehitatud

Selle asemel soovitame astmelist refaktoreerimist. Tuvasta moodulid, mis põhjustavad kõige rohkem valu. Kirjuta need ümber — üks korraga, funktsioonilippude taga, olemasoleva süsteemiga varuvariandina. See on alguses aeglasem, kuid dramaatiliselt turvalisem.

Üks erand: kui MVP ehitati tehnoloogias, mis tõeliselt ei suuda su vajadustele skaleeruda (näiteks no-code tööriist tootele, mis vajab kohandatud infrastruktuuri), võib ümberkirjutamine olla õigustatud. Kuid isegi siis tee seda mooduli kaupa, mitte korraga.

Meeskonna küsimus

MVP arendus toimub sageli väikese, nutika meeskonnaga — ehk kahe või kolme arendajaga. Toote skaleerimine tähendab tavaliselt meeskonna skaleerimist ning see toob kaasa omad väljakutsed.

Uued arendajad peavad mõistma koodibaasi. Koodibaas peab toetama paralleelset arendust ilma pidevate ühendamiskonfliktideta. Arhitektuur peab võimaldama erinevate komponentide sõltumatut kasutuselevõttu.

Siin vajab MVP faasi strateegiline tehniline võlg tähelepanu. Kood, mis oli kolmele arendajale sobiv, muutub kaheksale kitsaskohaks. Investeerimine dokumentatsiooni, järjekindlatesse mustritesse, automaattestimisesse ning selgetesse moodulipiiridesse tasub end ära meeskonna kasvades.

Ajakava

Asutajad küsivad alati: “Kui kaua võtab aega minna MVP-st tootmisvalmiduseni?”

Aus vastus: see sõltub täielikult lõhest sinu praeguse ja vajaliku asukoha vahel. Kuid siin on umbkaudsed võrdlusalused meie kogemusest:

  • Andmebaasi ja jõudluse optimeerimine: 2-4 nädalat
  • Turvatugevdamine: 2-3 nädalat
  • Taustatöötlus ja järjekorrad: 2-4 nädalat
  • Jälgimise ja hoiatamise seadistamine: 1-2 nädalat
  • Põhifunktsioonide arendus (3-5 funktsiooni): 6-12 nädalat
  • Probleemsete valdkondade astmeline refaktoreerimine: pidev, 20% sprindi mahtuvusest

Kokku oota 3-6 kuud fokusseeritud tööd, et viia edukas MVP tootmisvalmis tooteks — eeldusel, et sul on õige meeskond ning suudad vastu panna kiusatusele lisada 50 funktsiooni korraga.

Ehitasid MVP, mis on valmis skaleerumiseks? Aitame idufirmadel navigeerida üleminekut prototüübist tooteks. Planeerime su järgmise etapi.