{"id":73944,"date":"2020-03-13T02:42:03","date_gmt":"2020-03-12T23:42:03","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/retrospektiva-grablej-kak-samopisnoe-reshenie-okazalos-kruche-platnogo"},"modified":"2020-03-13T02:42:03","modified_gmt":"2020-03-12T23:42:03","slug":"retrospektiva-grablej-kak-samopisnoe-reshenie-okazalos-kruche-platnogo","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sv\/blog\/administrirovanie\/retrospektiva-grablej-kak-samopisnoe-reshenie-okazalos-kruche-platnogo","title":{"rendered":"Retrosp\u00e4ktion av v\u00e5r erfarenhet. Hur v\u00e5r egen l\u00f6sning visade sig vara b\u00e4ttre \u00e4n betalda alternativ","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>\u041f\u0440\u0438\u0432\u0435\u0442! \u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u0410\u043b\u0435\u043a\u0441\u0435\u0439 \u041f\u044c\u044f\u043d\u043a\u043e\u0432, \u044f \u0433\u043b\u0430\u0432\u043d\u044b\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442 \u0432 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 \u0421\u043f\u043e\u0440\u0442\u043c\u0430\u0441\u0442\u0435\u0440. \u0421\u043a\u0430\u0436\u0443 \u0441\u0440\u0430\u0437\u0443, \u0447\u0442\u043e \u00ab\u0433\u043b\u0430\u0432\u043d\u044b\u0439\u00bb \u043d\u0435 \u0437\u043d\u0430\u0447\u0438\u0442 \u00ab\u0441\u0430\u043c\u044b\u0439 \u0433\u043b\u0430\u0432\u043d\u044b\u0439 \u0438\u0437 \u0432\u0441\u0435\u0445 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u043e\u0432\u00bb, \u043d\u0435\u0442, \u044d\u0442\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435, \u0442\u0430\u043a\u043e\u0439 \u043e\u0447\u0430\u0440\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043f\u0435\u0440\u0435\u0432\u043e\u0434 \u0434\u043b\u044f \u00abSenior+&quot;\u00bb.<\/p>\n<p><\/p>\n<p>Jag har arbetat p\u00e5 Sportmaster sedan 2012, och under dessa \u00e5r har v\u00e5rt utvecklingsteam tagit fram m\u00e5nga intressanta tekniska l\u00f6sningar. Men idag skulle jag vilja ber\u00e4tta om v\u00e5rt arbete, med fokus snarare p\u00e5 hur vi resonerade i vissa tvetydiga situationer.<\/p>\n<p><\/p>\n<p>I den h\u00e4r artikeln kommer det inte att finnas n\u00e5gra konkreta tekniska l\u00f6sningar (eller ens n\u00e5got tekniskt) som du b\u00f6r ta och till\u00e4mpa i ditt projekt. Snarare \u00e4r detta en reflektion \u00f6ver det arbete vi har gjort. Det har funnits speciella stunder som har p\u00e5verkat oss som team \u2014 som har enat oss, h\u00e4rdat oss och testat v\u00e5r styrka. Om dessa moment, om atmosf\u00e4ren i teamet, om v\u00e5ra f\u00e4llor och en rad psykologiska f\u00e4llor som vi ibland fumlar oss in i, kommer jag att f\u00f6rs\u00f6ka ber\u00e4tta idag.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Retrosp\u00e4ktion av v\u00e5r erfarenhet. Hur v\u00e5r egen l\u00f6sning visade sig vara b\u00e4ttre \u00e4n betalda alternativ\" src=\"\/wp-content\/uploads\/2020\/03\/1651640dbf2cb45d48e1e046a78c931f.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Och jag b\u00f6rjar just med 2012.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>Jag kom in 2012 med huvudm\u00e5let f\u00f6r den tiden \u2014 att arbeta med v\u00e5r flaggskeppssajt. D\u00e5 var det en 'Frankenstein-monster': en del av teamet arbetade med v\u00e5rt gamla system, som inte riktigt klarade av belastningen (Bitrix), medan en annan del av teamet (inklusive mig) f\u00f6rs\u00f6kte implementera det nya system som valdes utifr\u00e5n kriteriet 'Eftersom detta \u00e4r den dyraste e-handelsl\u00f6sningen i v\u00e4rlden, tar vi den'. Just 'f\u00f6rs\u00f6kte implementera' \u2014 eftersom systemet motstod desperat, och f\u00f6r varje moment vi lyckades f\u00f6rst\u00e5, d\u00f6k det alltid upp en '\u00f6verraskning' i respons. Vi arbetade mycket, men avancerade i snigelfart.<\/p>\n<p><\/p>\n<p>F\u00f6r mig var den sista droppen n\u00e4r jag st\u00f6tte p\u00e5 koden f\u00f6r en metod i denna \"dyraste e-commerce i v\u00e4rlden\", d\u00e4r flera timmar av fokuserat arbete p\u00e5 en komplicerad bugg ledde till att orsaken hittades n\u00e5gonstans i custom-taggen, som k\u00f6rs vid genereringen av html i jsp. Syftet med denna custom-tag \u00e4r att visa summan av vissa v\u00e4rden. Det \u00e4r inte d\u00e5ligt, det \u00e4r vad dessa custom-tags \u00e4r avsedda f\u00f6r. Men \u00f6verraskningen l\u00e5g i att vissa data i databasen \u00e4ndrades, vilket p\u00e5verkade beteendet p\u00e5 f\u00f6ljande sidor, och om man tryckte p\u00e5 F5 \u2013 s\u00e5 upprepades anropet, vilket br\u00f6t konsistensen i datan. Det skedde p\u00e5 ett s\u00e4tt som bara blev synligt efter n\u00e5gra steg, p\u00e5 den tredje sidan i sekvensen. Nej, jag \u00e4r inte emot att en s\u00e5dan \"ninja-m\u00e4stare\" finns i teamet och h\u00e5ller kollegors uppm\u00e4rksamhet p\u00e5 t\u00e5rna med sin kod. Men s\u00e5 h\u00e4r, i biblioteket av den dyraste systemet!<\/p>\n<p><\/p>\n<p>Det var en fredag. P\u00e5 l\u00f6rdagen och s\u00f6ndagen spenderade jag och en kollega tid p\u00e5 kontoret f\u00f6r att f\u00f6rst\u00e5 vilka uppgifter aff\u00e4rerna st\u00e4ller p\u00e5 systemet just idag och vilka uppgifter som kan t\u00e4nkas dyka upp om ett \u00e5r. S\u00e5ledes, hur skulle vi l\u00f6sa dessa uppgifter om vi inte var fast i ramen f\u00f6r att anv\u00e4nda detta dyraste och mest frustrerande system.<\/p>\n<p><\/p>\n<p>Sagt och gjort. Vi gjorde en pilot, d\u00e4r vi lade grunden f\u00f6r utvecklingen av den nya Sportmaster-webbplatsen. M\u00e5nga av dessa id\u00e9er har f\u00f6tt nya liv och anv\u00e4nds aktivt p\u00e5 webbplatsen just nu.<\/p>\n<p><\/p>\n<h2 id=\"etapy-pilota-i-vremennye-ramki\">Pilotsteg och tidsramar<\/h2>\n<p><\/p>\n<p><strong>2 dagar.<\/strong> Vi gjorde en mikropototyp - \u00f6ver helgen migrerade vi v\u00e5r databas till ElasticSearch och implementerade facetterad s\u00f6kning. Voil\u00e0! I det k\u00f6pta systemet tog den h\u00e4r inst\u00e4llningen 2 veckor. Och h\u00e4r - bokstavligt talat p\u00e5 n\u00e5gra timmar! Dessutom fungerar det snabbare. Faktiskt snabbare med en faktor.<\/p>\n<p><\/p>\n<p><strong>2 veckor.<\/strong> Vi \"sk\u00e4r\" prototypen, l\u00e4gger till funktionalitet f\u00f6r en adekvat personlig s\u00f6kning. <\/p>\n<p><\/p>\n<p>Till exempel, om anv\u00e4ndaren har flera rabatter och kampanjer som \u00e4r aktuella f\u00f6r honom - d\u00e5 m\u00e5ste resultaten i produktsearchen visa precis det pris som kan erh\u00e5llas genom att anv\u00e4nda alla tillg\u00e4ngliga f\u00f6rm\u00e5ner p\u00e5 det mest f\u00f6rdelaktiga s\u00e4ttet.<\/p>\n<p><\/p>\n<p>Det \u00e4r inte s\u00e5 enkelt med kampanjer. Till exempel, jag k\u00f6pte skidor, nu f\u00e5r jag 40% rabatt p\u00e5 en m\u00f6ssa, men den v\u00e4lkomnande rabatten p\u00e5 10% p\u00e5 hela best\u00e4llningen tas bort. Ja-jo, detta \u00e4r ett verkligt fall \ud83d\ude42 F\u00f6r att st\u00e4lla in en s\u00e5dan kampanj i k\u00f6psystemet betalades det f\u00f6r 3 konsultationer med leverant\u00f6ren, d\u00e4r vi fick m\u00e5nga exempel p\u00e5 hur man kan g\u00f6ra olika andra kampanjer. Mycket diplomatiskt och, med tanke p\u00e5 kostnaden f\u00f6r konsultationerna \u2014 ekonomiskt sett varit ganska bra.<\/p>\n<p><\/p>\n<p>Vi visade en detaljerad demo f\u00f6r f\u00f6retaget. Vi lovade att snabbt s\u00e4tta ihop en pilot och b\u00f6rjade genast arbetet.<\/p>\n<p><\/p>\n<p><strong>2 m\u00e5nader.<\/strong> Pilotprojektet \u2014 vi g\u00f6r det i form av en levande webbplats med s\u00f6kfunktion i katalogen. S\u00f6kning med facetter, s\u00f6kresultat \u2014 med personliga rabatter, piloten ser n\u00e4stan ut som Sportmasters webbplats, och vi har \u00e4ven laddat upp samma produkter. Godis! <\/p>\n<p><\/p>\n<p>Vi l\u00e4gger till \"Kraftfull Retorik:100\" fr\u00e5n v\u00e5r avdelningschef, och presentationen f\u00f6r f\u00f6retaget g\u00e5r str\u00e5lande! Vi f\u00e5r fribrev f\u00f6r att utveckla eCommerce-plattformen sj\u00e4lva.<\/p>\n<p><\/p>\n<p>Och det betyder, h\u00e5ll i er, grabbar, teamet, h\u00e5ll i er, grabbar, budgeten. Coolt va!<\/p>\n<p><\/p>\n<p><strong>2 \u00e5r.<\/strong> Lansering av webbplatsen. Ja, det tog tid. Allt vi kunde d\u00e5 testade vi bara i omfattningen av prototypen. Tv\u00e5 personer bildar l\u00e4tt ett samordnat team. Och de uppgifter som vi \"bockade av\" \u2014 var i stort sett sm\u00e5justeringar av \"Hello World\" i nya teknologier. Vi genererade l\u00e4tt nya hypoteser, testade dem snabbt, hann inte f\u00e4sta oss vid dem och d\u00e4rf\u00f6r \"d\u00f6dade\" vi dem utan \u00e5nger. N\u00e4r vi blev 10 personer extrapolerade vi v\u00e5r arbetshastighet p\u00e5 alla andra av ren tr\u00f6ghet. Och vi lovade tidsramar f\u00f6r uppgiftens genomf\u00f6rande som var lika med f\u00f6rest\u00e4llningen om det perfekta multiplicerat med v\u00e5r entusiasm.<\/p>\n<p><\/p>\n<p>K\u00e4nns detta bekant? \ud83d\ude42<\/p>\n<p><\/p>\n<p>S\u00e5, vet ni redan vad som kommer h\u00e4rn\u00e4st?<\/p>\n<p><\/p>\n<h2 id=\"lovushka-1-ekstrapolyator-krutysh\">F\u00e4lla nummer 1. \"Super-Extrapolator\"<\/h2>\n<p><\/p>\n<p>Det \u00e4r uppenbart att nya teknologier ser fantastiska ut i presentationer och fungerar utm\u00e4rkt i applikationen av typen \"Hello World\". Men verkligheten ligger vanligtvis n\u00e5got l\u00e4ngre bort.<\/p>\n<p><\/p>\n<p>S\u00e5 h\u00e4r \u00e4r det. Vi tar ett bibliotek, skriver massor av applikationskod. Enhetstester k\u00e4nns som en b\u00f6rda (vi \u00e4r ju coola och jobbar p\u00e5 \u00f6verskridande niv\u00e5 h\u00e4r, koden \u00e4r modern och s\u00e5 vidare). Vi \u00e4ndrar och finslipar API:et i farten \u2014 men vilka tester, seri\u00f6st. Och allt detta under bannern \"vi har optimerat utvecklingsprocessen\" (ja, nu k\u00e4nns det till och med skr\u00e4mmande att beskriva det).<\/p>\n<p><\/p>\n<p>Och sedan \u00e4r allt ganska uppenbart.<\/p>\n<p><\/p>\n<p>Vi rullar ut en ny version p\u00e5 uat. Killarna fr\u00e5n aff\u00e4rssidan g\u00e5r energiskt till verket f\u00f6r att testa allt och trycka p\u00e5 knappar. Ibland trycker de ganska kreativt \u2014 n\u00e5got slutar fungera. H\u00e4r skulle man kunna g\u00e5 och ta reda p\u00e5 vad som har gjorts f\u00f6r detta. Men p\u00e5 andra sidan sk\u00e4rmen finns det ingen besatt testare som kan ge dig alla milj\u00f6egenskaper med h\u00e4nsyn till v\u00e4dret i regionen, utan best\u00e4llaren fr\u00e5n aff\u00e4ren. Han s\u00e4ger bara \"det fungerar inte\". Och det betyder att han \u00e4r missn\u00f6jd. Fr\u00e5ga honom \u2014 och han kommer att vara <em>fruktansv\u00e4rt<\/em> missn\u00f6jd!<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Retrosp\u00e4ktion av v\u00e5r erfarenhet. Hur v\u00e5r egen l\u00f6sning visade sig vara b\u00e4ttre \u00e4n betalda alternativ\" src=\"\/wp-content\/uploads\/2020\/03\/9d980b25fabea5e0a34a428fb9dbb85e.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>D\u00e5, f\u00f6r att \u00e5terskapa buggen, m\u00e5ste man g\u00e5 och experimentera med allt. Sj\u00e4lvklart har vi inte ignorerat n\u00e5gon klagom\u00e5l och har fixat allt. Vi har avbrutit planerade uppgifter, men \"sl\u00e4ckt branden\".<\/p>\n<p><\/p>\n<p>S\u00e5 vi gr\u00e4vde oss ner i n\u00e4sta grop.<\/p>\n<p><\/p>\n<h2 id=\"lovushka-2-stahanovec\">F\u00e4lla nr 2. \"Stakhanovets\"<\/h2>\n<p><\/p>\n<p>En mindre trevlig bugg har dykt upp. Du b\u00f6rjar unders\u00f6ka. Det fungerar inte \u2014 ilska \u2014 f\u00f6rs\u00f6ker f\u00f6rst\u00e5 \u00e4nnu en g\u00e5ng \u2014 \u00e4nnu en besvikelse \u2014 du preciserar allt som g\u00e5r \u2014 fortfarande inte r\u00e4tt \u2014 t\u00e4nker p\u00e5 att du redan \u00e4r gammal och alla andra har barn och bol\u00e5n \u2014 f\u00f6rs\u00f6ker igen \u2014 fortfarande inte r\u00e4tt. N\u00e5gra koppar kaffe senare, och allt upprepas. 12-14 timmar arbete i str\u00e4ck \u2014 n\u00e4stan som norm. Och precis n\u00e4r allt \u00e4r p\u00e5 gr\u00e4nsen \u2014 pang, en upplysning!<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Retrosp\u00e4ktion av v\u00e5r erfarenhet. Hur v\u00e5r egen l\u00f6sning visade sig vara b\u00e4ttre \u00e4n betalda alternativ\" src=\"\/wp-content\/uploads\/2020\/03\/8f66e2ca834ffafd72bde53fd397bcb7.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Kanske, utifr\u00e5n, s\u00e5 kan bed\u00f6mningen av effektiviteten av en s\u00e5dan dag ses tydligt och korrekt. Men fr\u00e5n insidan \u2014 kan det vara olika.<\/p>\n<p><\/p>\n<p>I mitt fall inneh\u00f6ll intrycket av s\u00e5dant arbete \"Jag \u00e4r bra, jag \u00e4r fantastisk, jag l\u00f6ste det\". Inte alltid medvetet, men omedvetet \u2014 alltid!<\/p>\n<p><\/p>\n<p>Och du blir beroende av detta, utan sk\u00e4mt. Det visar sig att interna m\u00e4tningar av framg\u00e5ng flyttas fr\u00e5n resultatet till m\u00e4ngden anstr\u00e4ngningar som lagts ner och niv\u00e5n av de bedrifter du har genomf\u00f6rt, hur mycket du har lidit f\u00f6r att l\u00f6sa uppgiften.<\/p>\n<p><\/p>\n<p>Kanske \u00e4r detta den mest fruktansv\u00e4rda f\u00e4llan.<\/p>\n<p><\/p>\n<p>Det kommer att bli l\u00e4ttare och roligare fram\u00f6ver \ud83d\ude42<\/p>\n<p><\/p>\n<h2 id=\"lovushka-3-sila-hello-world\">F\u00e4lla nr 3. \"Kraften av Hello world\"<\/h2>\n<p><\/p>\n<p>V\u00e5r teknikstack under den perioden: ElasticSearch, Hazelcast, Pentaho, freemarker (och bepr\u00f6vad Java, Spring, Tomcat, nginx). Freemarker gav inte s\u00e4rskilt informativa felmeddelanden. Men ElasticSearch, Hazelcast och Pentaho fick vi patcha flera g\u00e5nger \u2014 vi hittade p\u00e5 ett talangfullt s\u00e4tt fall d\u00e4r de inte fungerade som dokumentationen angav.<\/p>\n<p><\/p>\n<p>En enkel start och snabba f\u00f6rdelar med anv\u00e4ndning av ny teknologi \u00e4r bra, men de kan ge en k\u00e4nsla av eufori och minska vaksamheten. F\u00f6r eftersom ny teknologi har buggar, har den alltid buggar. Och om ingen har skrivit om dem \u00e4nnu \u2014 var glad, just du kommer att bli den f\u00f6rsta som hittar n\u00e5got felaktigt och b\u00f6rja googla eller fr\u00e5ga p\u00e5 SO. Sj\u00e4lvklart kan \"felaktigt\" hittas i bepr\u00f6vade produkter, men i nya \u2014 \u00e4r det mycket enklare.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Retrosp\u00e4ktion av v\u00e5r erfarenhet. Hur v\u00e5r egen l\u00f6sning visade sig vara b\u00e4ttre \u00e4n betalda alternativ\" src=\"\/wp-content\/uploads\/2020\/03\/86d505a5125b8106503497b72ff7761e.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Trots alla sv\u00e5righeter har vi n\u00e5tt produktion. Ja, med f\u00f6rdr\u00f6jningar. Ja, inte s\u00e4rskilt stabilt. Men i stort sett \u2014 utan katastrofer.<\/p>\n<p><\/p>\n<p>Jag vill \u00e4nnu en g\u00e5ng p\u00e5peka de f\u00e4llor d\u00e4r en sund uppfattning om arbetsprocessen f\u00f6rvr\u00e4ngs.<\/p>\n<p><\/p>\n<ol>\n<li><strong>\u201eExtrapolatorn\u201c<\/strong>. P\u00e5verkade av nuvarande framg\u00e5ngar g\u00e5r vi fram\u00e5t och extrapolerar gl\u00e4djen av utvecklingshastigheten p\u00e5 kommande projekt.<\/li>\n<li><strong>\u201eStakhanovet\u201c<\/strong>. Vi arbetar h\u00e5rt, \u00e4r n\u00f6jda med oss sj\u00e4lva, men inser inte att problemen vi l\u00f6ser \u00e4r konsekvenser av v\u00e5ra egna misstag\/brister\/f\u00f6rsummelser. Arbete som inte borde g\u00f6ras.<\/li>\n<li><strong>\u201eKraften av Hello World\u201c<\/strong>. Vi skyndar oss att implementera det nyaste och mest intressanta i produktion.<\/li>\n<\/ol>\n<p><\/p>\n<h2 id=\"pochemu-vsyo-poluchilos\">Varf\u00f6r allt gick bra<\/h2>\n<p><\/p>\n<p>Sj\u00e4lvklart har jag inte listat alla de misstag vi hade under denna tid, men de mest allm\u00e4nna, sannolika f\u00f6r projekt av alla typer. Att registrera misstag hj\u00e4lper till att undvika dem i framtiden.<\/p>\n<p><\/p>\n<p>Lite om hur vi egentligen lyckades skapa en s\u00e5dan mini-startup inom f\u00f6retaget och \u00f6vertyga aff\u00e4rerna att l\u00e4mna ett redan k\u00f6pt system f\u00f6r n\u00e5got eget.<\/p>\n<p><\/p>\n<p><strong>Villkor \u21160<\/strong>. En sund atmosf\u00e4r inom f\u00f6retaget. Det handlar inte bara om \"brinnande \u00f6gon\" hos medarbetarna och deras kommunikabilitet i stressade situationer, nej. Det handlar om alla interaktioner.<\/p>\n<p><\/p>\n<p><strong>Villkor \u21161<\/strong>. Att tro p\u00e5 det man g\u00f6r. Seri\u00f6st, jag tror inte att vi hade haft n\u00e5gon chans om vi gett oss p\u00e5 piloten utan att ha dykt ner i det k\u00f6pta systemet \"till skruven\" \u2014 det vill s\u00e4ga, dragit oss tillbaka och undermedvetet vetat att det systemet \u00e4r b\u00e4ttre och kommer att \u00f6vervinna oss.<\/p>\n<p><\/p>\n<p>Vad vi gjorde: 1) vi satte oss in i det k\u00f6pta systemet, med hj\u00e4lp av det l\u00f6ste vi f\u00f6retagets huvudfr\u00e5gor 2) vi gjorde en lista \u00f6ver uppgifter som inte bara finns nu utan kommer att finnas inom \u00f6versk\u00e5dlig framtid 3) vi valde en l\u00f6sning som passar b\u00e4ttre. Och d\u00e5, v\u00e5r bed\u00f6mning av l\u00f6sningen \u2014 var en bed\u00f6mning av experter.<\/p>\n<p><\/p>\n<p>Skulle de ge oss n\u00e5got om vi bara kom och sa \"h\u00f6rni, allt suger, vi vill inte br\u00e5ka med det h\u00e4r och har beslutat att starta om fr\u00e5n grunden\"? Troligtvis inte. Och svaret skulle ges p\u00e5 ett s\u00e4tt som man minns v\u00e4l \ud83d\ude42<\/p>\n<p><\/p>\n<p><strong>Villkor nr 2<\/strong>. Vi b\u00f6rjar med ett litet steg. Vi genererar den f\u00f6rsta hypotesen och testar den. Man kan ocks\u00e5 anv\u00e4nda sin egen tid till detta. Om man inte vill l\u00e4gga tid p\u00e5 det \u2014 d\u00e5 b\u00f6r man \u00f6verhuvudtaget inte ge sig in i s\u00e5nt. Och om man inte vill testa en liten hypotes, utan vill g\u00f6ra n\u00e5got riktigt bra och bl\u00e4ndande direkt \u2014 h\u00e5ll er borta fr\u00e5n s\u00e5dana m\u00e4nniskor!<\/p>\n<p><\/p>\n<p>Vi hade tur och den f\u00f6rsta hypotesen fungerade. Men s\u00e5 \u00e4r det inte alltid. Till exempel, i ett av de kommande projekten, n\u00e4r vi drev adminpanelen i en liknande pilot, fungerade bara den 18:e varianten f\u00f6r oss. Och de f\u00f6rsta 17 tillv\u00e4gag\u00e5ngss\u00e4tten var helt f\u00f6rg\u00e4ves. F\u00f6rresten, i historien om skapandet av adminpanelen var plot-twists p\u00e5 niv\u00e5 med brasilianska serier, eftersom teamet bestod av killar som redan var veteraner, riktiga \"gamla r\u00e4var\".<\/p>\n<p><\/p>\n<p><strong>Villkor nr 3<\/strong>. Vi g\u00f6r en MVP och identifierar sm\u00e4rtpunkter hos beslutsfattaren. Sj\u00e4lvklart kan han ha skr\u00e4ck i ansiktet redan av det faktum att ni f\u00f6r trettioende g\u00e5ngen kommer med en ny id\u00e9. Men hur som helst. Och vi visar absolut hur vi l\u00f6ser hans problem med v\u00e5r produkt.<\/p>\n<p><\/p>\n<p><strong>Villkor nr 4<\/strong>. Snabbt g\u00f6r vi en pilotversion som ser ut <em>ungef\u00e4r<\/em> som det slutgiltiga resultatet. Att g\u00f6ra allt riktigt bra \u00e4r frestande, men man kan fastna i perfektionism, vilket resulterar i att man ist\u00e4llet f\u00f6r en pilot vill visa en pilotversion av redan en perfekt produkt. S\u00e5dana finns inte. S\u00e5 g\u00f6r det i alla fall av n\u00e5gra pinnar.<\/p>\n<p><\/p>\n<p><strong>Villkor nr 5<\/strong>. Produkten. Projektet v\u00e4xer, f\u00e5r finansiering, och specialister med gedigen erfarenhet kommer in.<br \/>\nOch om du \u00e4r den klassiska startupsgrundaren, d\u00e5 \u00e4r det just det h\u00e4r \u00f6gonblicket d\u00e5 du snabbt b\u00f6r dra dig tillbaka. F\u00f6r l\u00e4tta flygturer p\u00e5 h\u00f6gsta niv\u00e5 och k\u00e4nslan av allm\u00e4n v\u00e4lbehag f\u00f6rsvinner snabbt.<\/p>\n<p><\/p>\n<p>G\u00e5 till produktion \u2014 det \u00e4r en konfrontation med verkliga p\u00e5frestningar, integration med ett tiotal system, och n\u00e4r man skapar en ny funktionalitet jobbar man samtidigt med att f\u00f6rb\u00e4ttra gamla versioner som del av underh\u00e5llet. Allt detta \u00e4r utmaningar som \u00e4r mycket mer seri\u00f6sa \u00e4n att komma p\u00e5 en id\u00e9 och l\u00f6sa \u00e5tminstone ett v\u00e4l definierat problem f\u00f6r en kund.<\/p>\n<p><\/p>\n<p>Det h\u00e4r \u00e4r utmaningar, och tillv\u00e4xt av f\u00e4rdigheter sker just i detta skede.<\/p>\n<p><\/p>\n<p>Tack f\u00f6r att du l\u00e4ste. Happy New Code!<\/p>\n<p>K\u00e4lla: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/sportmaster_lab\/blog\/485088\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0440\u0438\u0432\u0435\u0442! \u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u0410\u043b\u0435\u043a\u0441\u0435\u0439 \u041f\u044c\u044f\u043d\u043a\u043e\u0432, \u044f \u0433\u043b\u0430\u0432\u043d\u044b\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442 \u0432 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 \u0421\u043f\u043e\u0440\u0442\u043c\u0430\u0441\u0442\u0435\u0440. \u0421\u043a\u0430\u0436\u0443 \u0441\u0440\u0430\u0437\u0443, \u0447\u0442\u043e \u00ab\u0433\u043b\u0430\u0432\u043d\u044b\u0439\u00bb \u043d\u0435 \u0437\u043d\u0430\u0447\u0438\u0442 \u00ab\u0441\u0430\u043c\u044b\u0439 \u0433\u043b\u0430\u0432\u043d\u044b\u0439 \u0438\u0437 \u0432\u0441\u0435\u0445 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u043e\u0432\u00bb, \u043d\u0435\u0442, \u044d\u0442\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435, \u0442\u0430\u043a\u043e\u0439 \u043e\u0447\u0430\u0440\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043f\u0435\u0440\u0435\u0432\u043e\u0434 \u0434\u043b\u044f \u00abSenior+&quot;\u00bb. \u0412 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 \u0421\u043f\u043e\u0440\u0442\u043c\u0430\u0441\u0442\u0435\u0440 \u044f \u0440\u0430\u0431\u043e\u0442\u0430\u044e \u0441 2012 \u0433\u043e\u0434\u0430, \u0438 \u0437\u0430 \u044d\u0442\u043e \u0432\u0440\u0435\u043c\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0431\u044b\u043b\u043e \u0441\u0434\u0435\u043b\u0430\u043d\u043e \u043c\u043d\u043e\u0433\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u0439, \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0445 \u0441 \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0441\u0442\u043e\u0440\u043e\u043d\u044b. \u041d\u043e \u0441\u0435\u0433\u043e\u0434\u043d\u044f [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":73945,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-73944","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.4 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u0440\u0438\u0432\u0435\u0442! \u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u0410\u043b\u0435\u043a\u0441\u0435\u0439 \u041f\u044c\u044f\u043d\u043a\u043e\u0432, \u044f \u0433\u043b\u0430\u0432\u043d\u044b\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442 \u0432 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 \u0421\u043f\u043e\u0440\u0442\u043c\u0430\u0441\u0442\u0435\u0440.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/sv\/blog\/administrirovanie\/retrospektiva-grablej-kak-samopisnoe-reshenie-okazalos-kruche-platnogo\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"sv_SE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0420\u0435\u0442\u0440\u043e\u0441\u043f\u0435\u043a\u0442\u0438\u0432\u0430 \u0433\u0440\u0430\u0431\u043b\u0435\u0439. \u041a\u0430\u043a \u0441\u0430\u043c\u043e\u043f\u0438\u0441\u043d\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u043e\u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c \u043a\u0440\u0443\u0447\u0435 \u043f\u043b\u0430\u0442\u043d\u043e\u0433\u043e | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0440\u0438\u0432\u0435\u0442! \u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u0410\u043b\u0435\u043a\u0441\u0435\u0439 \u041f\u044c\u044f\u043d\u043a\u043e\u0432, \u044f \u0433\u043b\u0430\u0432\u043d\u044b\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442 \u0432 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 \u0421\u043f\u043e\u0440\u0442\u043c\u0430\u0441\u0442\u0435\u0440.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sv\/blog\/administrirovanie\/retrospektiva-grablej-kak-samopisnoe-reshenie-okazalos-kruche-platnogo\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-03-12T23:42:03+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-03-12T23:42:03+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Retrospektiv av hinder. Hur en egen l\u00f6sning visade sig vara b\u00e4ttre \u00e4n en betald | ProHoster","description":"Hej! Jag heter Alexey Pjankov, jag \u00e4r huvudprogrammerare p\u00e5 Sportmaster.","canonical_url":"https:\/\/prohoster.info\/sv\/blog\/administrirovanie\/retrospektiva-grablej-kak-samopisnoe-reshenie-okazalos-kruche-platnogo","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sv_SE","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0420\u0435\u0442\u0440\u043e\u0441\u043f\u0435\u043a\u0442\u0438\u0432\u0430 \u0433\u0440\u0430\u0431\u043b\u0435\u0439. \u041a\u0430\u043a \u0441\u0430\u043c\u043e\u043f\u0438\u0441\u043d\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u043e\u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c \u043a\u0440\u0443\u0447\u0435 \u043f\u043b\u0430\u0442\u043d\u043e\u0433\u043e | ProHoster","og:description":"\u041f\u0440\u0438\u0432\u0435\u0442! \u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u0410\u043b\u0435\u043a\u0441\u0435\u0439 \u041f\u044c\u044f\u043d\u043a\u043e\u0432, \u044f \u0433\u043b\u0430\u0432\u043d\u044b\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442 \u0432 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 \u0421\u043f\u043e\u0440\u0442\u043c\u0430\u0441\u0442\u0435\u0440.","og:url":"https:\/\/prohoster.info\/sv\/blog\/administrirovanie\/retrospektiva-grablej-kak-samopisnoe-reshenie-okazalos-kruche-platnogo","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-03-12T23:42:03+00:00","article:modified_time":"2020-03-12T23:42:03+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"73944","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 18:24:23","updated":"2022-10-06 05:35:50","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts\/73944","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/comments?post=73944"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts\/73944\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/media\/73945"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/media?parent=73944"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/categories?post=73944"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/tags?post=73944"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}