6 ta dasturiy ta'minotdan hikoyalarni qayta yozish darslari

Qadimgi savolga yangi javob: Siz o'zingizning arizangizni noldan qayta yozib qo'yishingiz kerakmi yoki bu "har qanday dasturiy ta'minot yaratadigan eng yomon strategik xatodir"? Yetuk kod bazasi bilan ishlash uchun ikkita variant mavjud.

Foto: Kevin Noble
"Manba kodi zanglaganga o'xshaydi!" - Joel Spolskiy

Qariyb yigirma yil muqaddam Djoel Spolskiy Netscape-dan "Siz hech qachon qilmasligingiz kerak" insholariga o'zining kodlar bazasini qayta yozishni so'radi.

Uning ta'kidlashicha, ishlaydigan dastur hech qachon, hech qachon qayta yozilmasligi kerak. Uning tortishuvi ikki narsaga asos bo'ldi:

  • Ilovaning kodli bazasining noaniq ko'rinadigan qismlari ko'pincha burchaklar va g'alati xatolar haqida qattiq ma'lumot to'playdilar.
  • Qayta yozish - bu sizning mavjud mahsulotingizni yaxshilashga xalaqit beradigan uzoq vaqtni talab qiladigan narsa, bu vaqt davomida raqobat sizga kuchayadi.

Ko'pchilik uchun, Joelning xulosasi imon maqolasi bo'ldi; Bilaman, bu o'sha paytdagi fikrlarimga katta ta'sir ko'rsatdi.

Keyingi yillarda, men bir necha qarama-qarshi fikrlarni o'qidim, ba'zi holatlarda, noldan qayta yozish juda katta ma'noga ega edi. Masalan:

  • Ba'zida eskirgan kodlar bazasi ta'mirdan tashqari tartibsiz bo'lib qoladi, shunda hatto oddiy o'zgarishlar ham kodning boshqa qismlariga o'zgartirishlar kiritilishini talab qiladi.
  • Texnologiyaning asl tanlovi sizga kerakli yaxshilanishlarga xalaqit berayotgan bo'lishi mumkin.
  • Yoki asl texnologiya eskirgan bo'lishi mumkin, bu sifatli ishlab chiqaruvchilarni jalb qilishni qiyinlashtiradi (yoki qimmat).

To'g'ri javob, albatta, bu ko'p holatlarga bog'liq. Ha, ba'zida eski kodni asta-sekin qayta ishlab chiqish mantiqiy bo'ladi. Ha, ba'zida barchasini tashlash va boshidan boshlash mantiqiy.

Ammo bu yagona tanlov emas. Keling, oltita voqeani qisqacha ko'rib chiqamiz va qanday saboq olishimiz mumkinligini ko'rib chiqamiz.

(Bonus: ASCII har bir hikoyaning badiiy xulosalari!)

1. Netscape

Kalit:  = qayta yozish, = = oxir

Netscape-ning halokatli 5.0 / 6.0-ni qayta yozish - bu Joel tufayli "hech qachon qayta yozmaslik" uchun afishaning asl farzandi.

1994 yilda birinchi marta chiqarilgan Netscape Navigator tijorat Internetining dastlabki yillarini aniqladi. Chiqarilganidan ikki yil o'tmay, kompaniyaning 3 milliard dollarlik IPO dot-com davrini boshladi.

Netscape-ning birinchi jiddiy raqobati 1996 yilda paydo bo'lgan Microsoft Internet Explorer tomonidan chiqdi.

1998 yil boshida Netscape hali ham etakchi brauzer edi, ammo zo'rg'a. Netscape-ning chakana narxi 49 dollar edi; Microsoft IE-ni bepul berdi va uni Windows-da standart brauzer sifatida yubordi.

Netscape-ning 4.0 versiyasi chiqqandan so'ng, kompaniya 5.0 versiyasi bepul tarqatilishini e'lon qildi va Mozilla deb nomlangan kompaniya tomonidan moliyalashtirilgan va ochiq manbali jamiyat tomonidan ishlab chiqilgan.

Bu o'sha paytlarda misli ko'rilmagan edi va Netscape gutsiy harakat qilish uchun juda ko'p yaxshi niyatlarni qo'lga kiritdi. Ammo bu sodir bo'lganidek, jamoat haqiqatan ham ishtirok etmadi. Jeymi Zawinski, brauzerning eng birinchi ishlab chiquvchilaridan biri, shunday izohlaydi:

Haqiqat shundaki, Mozilla loyihasining ishtirokchilari Netscape-ning yuzga yaqin to'la vaqtli ishlab chiqaruvchilari va o'ttizga yaqin tashqi ishchilari bo'lganligi sababli, ushbu loyiha hali ham to'liq Netscape-ga tegishli edi.

Jamoa tashqi ishlab chiquvchilar o'zlarining ochiq manbali loyihalariga hissa qo'shishni istamagan sabablarning biri mavjud kodlar bazasi tartibsiz ekanligi haqida xulosa qilishdi:

Kod juda murakkab va qo'pol va o'zgartirish qiyin edi, shuning uchun odamlar hissa qo'shmadi ... shuning uchun biz yangi maket dvigateliga o'tdik. Toza, yangi ishlab chiqilgan kodlar bazasi, shu sababli nazariya odamlar tushunishi va hissa qo'shishi osonroq bo'ladi.

Toza varaqdan boshlab

Shunday qilib, bir yil o'tgach, guruh o'z ishini 5.0 versiyasidan voz kechmasdan echishga qaror qildi va noldan 6.0 versiyasida boshlandi.

Netscape 6.0 nihoyat chiqarilishidan ikki yil o'tdi; va shuncha vaqt o'tgandan keyin ham u ozodlikka chiqishga tayyor emasligi aniq bo'ldi. New York Times gazetasining sharhlovchisi Devid Pogening so'zlariga ko'ra, xotira (!) Ishga tushish uchun to'liq bir daqiqa kerak bo'ldi. Va brauzerning oldingi avlodlarida mavjud bo'lgan bir qator oddiy foydalanish xususiyatlari yo'q edi:

Oldindan ko'rish imkoniyati yo'qoldi, shuningdek veb-saytning manzil paneli belgisini to'g'ridan-to'g'ri Xatcho'plar menyusiga sudrab borish imkoniyati yo'qoldi. Siz endi veb-manzilni manzilga sichqonchaning o'ng tugmachasi bilan nusxa ko'chira olmaysiz yoki joylashtirmaysiz. Va har safar bemalol boshlaganingizda brauzer oynasining hajmini o'zgartirishingiz kerak; Navigator dasturni oxirgi marta ishga tushirganingizda buni qanday eslaganingizni eslay olmaydi. Biroq, eng tashvishli kamchilik shundaki, siz bitta manzilni bosish bilan manzillar satrini to'liq ajratib ko'rsatolmaysiz.

Bu muhim emas. Netscape uch yil davomida to'xtab, Internet Explorer bozorning qolgan qismini egalladi:

Qayta yozish boshlanganida, Netscape Microsoft Internet Explorer-ga tezda yo'qotib qo'ydi. Uch yil o'tgach, yangi brauzer chiqqanda, bu juda sust va sekin edi; shu bilan birga, Netscape-ning bozordagi ulushi deyarli hech narsaga kamaydi. (Jadval Vikipediyadan moslashtirilgan.)

1999 yilda, qayta yozish ishlari olib borilayotgan paytda, AOL Netscape-ni 10 milliard dollarga baholagan bitimga sotib oldi.

Netscape 6.0 chiqarilganidan ikki yil o'tgach, AOL ichidagi Netscape jamoasi tarqatib yuborildi.

Metsilla, Netscape tomonidan yaratilgan ochiq manbali hamjamiyat Firefox brauzerini 2002 yilda chiqazdi - yana bir bor yozib olinganidan keyin. Firefox Microsoft-dan bozor ulushini qaytarib olishga muvaffaq bo'ldi.

Ammo Netscape biznes sifatida o'lik edi. (Sharmandali istehzo bilan izohda, Microsoft AOL bilan 2012 yildagi bitimdan so'ng Netscape intellektual mulki qoldiqlari bilan yakunlanadi.)

Ushbu jangda g'alaba qozongan Microsoft brauzer texnologiyasiga investitsiyalarni jalb qildi. Internet Explorer 6.0 2001 yilda chiqarilgan va keyingi besh yil ichida boshqa yangilanishlarga ega bo'lmagan, shuning uchun ba'zi odamlar veb-dasturlarni platforma sifatida rivojlanishiga yo'l qo'ymaslik uchun ataylab strategiya deb bilishadi.

Darslar

Odamlar yozish jarayoni uzoq muddatda falokat emas, deb ta'kidlashdi, chunki loyiha oxir-oqibat Gecko dvigateli va Firefox brauzeriga olib keldi.

Ammo barchamiz IE6-ning cheksiz va bo'g'uvchi monopoliyasi ostida veb-texnologiyalarning turg'unlik yillariga dosh berishga majbur bo'ldik, yangi brauzerning tortishishini kutayotgan edik; va IE6 davrini yakunlagan narsa Firefox emas, balki Google Chrome edi.

Va baribir, savol qayta yozilganligi veb uchun yaxshi bo'lgan emas; qaror qabul qilgan kompaniya nuqtai nazaridan to'g'ri qarormi yoki yo'qmi. Netscape-ning ahamiyatsiz tomonga siljishi butunlay qayta yozilganligi sababli bo'lmadi - sud Microsoft-ning o'z monopoliyasini ataylab suiste'mol qilganiga rozi bo'ldi.

Ammo qayta yozish, shubhasiz, o'z hissasini qo'shdi va natijasi milliardlab dollarga va minglab ish haqiga ega bo'lgan kompaniyani yo'q qilish edi. Shunday qilib, men Joel bilan ushbu yozuvning asoratlari halokatli bo'lganiga qo'shilaman.

2. Basecamp

2000-yillarning boshlarida Chikagodagi "37signallar" deb nomlangan veb-dizayn kompaniyasi asoschilar Jeyson Frid va DHHning ta'sirchan va ko'pincha qarama-qarshi blogini yaratdi.

Dastlab veb-dizayner sifatida ish boshlaganimda, 37better deb nomlangan Google va PayPal kabi bir qator saytlarning qayta loyihalashtirilishi mening e'tiborimni jalb qildi.

Taxminan yigirma yil o'tgach, FedEx-ning yuk tashish shakli (chapda) ning 37-sxemasi haqiqiy narsadan yaxshiroqdir.

2004 yilda ular ichki foydalanish uchun ishlab chiqqan loyihalarni boshqarish vositasini olib, Basecamp deb nomlangan dasturiy ta'minot sifatida xizmatga chiqarildi.

Dasturga obuna bo'lish hali ham yangilik bo'lgan bir paytda. Loyihani boshqarish vositalari to'rt o'lchamli narx yorliqlari va o'ta qo'pol qo'llanmalar bilan o'ralgan qutilarga kirdi va ularning barchasi tanqidiy yo'llarni modellashtirish va Gantt murakkab jadvallarini yaratish bilan bog'liq edi.

Basecamp oyiga 50 dollarga sotilgan va juda oddiy interfeysi va asosiy e'tiboriga ega bo'lgan toza havo edi.

Bir necha yil ichida tezkor ravishda olg'a siljiydigan Basecamp-ning yarim million baxtli foydalanuvchilari bor, har oy tekshiruvlar o'tkazilmoqda va Jeyson va Devid bezovtalana boshladilar.

Men Dovud bu voqeani bir necha yil oldin "Business of Software" konferentsiyasida aytib berganini ko'rdim. Uning so'zlariga ko'ra, u nafaqat Djoel Spolskiy tomonidan dasturiy ta'minotni qayta yozish kompaniyani yo'q qilishiga ishongan, balki Agile harakatidan ilhomlangan o'zini o'zi oqlash elementi mavjud:

Meni transsendent dasturiy ta'minot g'oyasi to'liq qabul qildi. ... Ushbu kod cheksiz moslashuvchan. Bu meros cheksiz qadrlidir. Siz biron bir narsani, biron bir dastur dasturini yoki har qanday kodni o'zgartirishingiz mumkin. ... Agar dasturni o'zgartirish qiyin bo'lsa, bu sizning aybingiz. Siz yomon dasturchisiz va shunchaki yaxshiroq bo'lishni o'rganishingiz kerak.

U "etti semiz yil" deb atagan narsadan so'ng, ular bog'lab turishdi - va texnik qarz bilan hech qanday aloqasi yo'q edi.

Oltin tutqichlar

Ular o'zlarining ichaklarida ishtiyoq etishmasligini payqashdan boshladilar. Ular nafaqat o'zlarining asosiy mahsulotlari ustida ishlashga undaydilar, balki o'zlari ham ushbu mahsulotdan unchalik foydalanmaydilar.

Ular mahsulotni tubdan yaxshilash haqida juda ko'p g'oyalarga ega edilar, ammo Basecamp atrofida yuzlab minglab odamlar o'zlarining ish oqimlarini qurayotganlarida, ular qilgan har bir o'zgarish ko'plab odamlar uchun buzilib ketdi. O'zgartirishga to'sqinlik qiladigan narsa oddiy kod bazasi emas edi, chunki bu ularning foydalanuvchilari edi.

Ularning mavjud mijozlar bazasini baxtli saqlashga yo'naltirilgani mahsulotni o'z vaqtida muzlatib qo'yish va yangi mijozlarga murojaat qilishni oldini olish edi. Bu biznes uchun zudlik bilan muammo emas edi, lekin u uzoq muddatli tahdidni keltirib chiqardi. DHH oqayotgan chelakni to'liq saqlashga urinish metaforasidan foydalangan:

Ehtimol siz barcha teshiklarni ulayapsiz, barcha xatolarni tuzatayotgan bo'lishingiz mumkin, mavjud xaridorlarning shikoyat qiladigan barcha xususiyatlarini yaxshilab yangilashingiz mumkin, shunda hech qanday suv qochib ketmaydi - lekin ba'zi suvlar doim ham chiqib ketmaydi. Mijozlar o'z ishlaridan ketmoqdalar va ular sizning dasturiy ta'minotingizni tark etadilar, hatto ular [juda yaxshi ko'radilar]. Ammo siz o'zingizni aldashingiz mumkin, "Hey, bu chelak hali ham yarmidan ko'pdir. Bu juda mayda tuynuk bo'lib chiqadi va bu juda tabiiy ». Ammo, agar siz shunchaki shuncha vaqt ushlab tursangiz, chelak bo'shab qoladi.

Muammoning bir qismi shundaki, siz doimo mijozlaringizni eshitasiz, lekin bo'lajak mijozlaringizdan eshitmaysiz:

2011 yilda Basecampning bosh sahifasida paydo bo'lgan va bizning g'oyalarimiz endi yaxshi bo'lmagani uchun sotib olishni tanlamagan odamlar, sizning fikringizcha, biz ulardan qanchalik tez-tez xabar olamiz? Hech qachon. Mavjud mijozlarning bu keng bazasidan eshitgan edik, ular bizni shunchaki teshiklarni ushlab turishni juda istaydilar.

Ular o'zlarining foydali mahsulotlarini oltin tutqichlar to'plami sifatida ko'rishni boshladilar:

Birinchidan, siz allaqachon mavjud bo'lgan barcha foydalanuvchilar baxtli ekanligiga ishonch hosil qilishdir. Pul har oyda, yangi chek, yangi chek, yangi chek bilan keladi. Ajoyib. Ammo, siz qo'llaringizni oldinga siljitib, "Mayli, men endi o'z dasturlarimni hech qachon o'zgartirmayman" deb aytishingiz kerak.

Spoyler ogohlantirishi: Basecamp-ni noldan qayta yozdilar va juda yaxshi bo'ldi. Taxminan bir yil o'tdi va Basecamp 2 chiqqandan so'ng yangi ro'yhatdan o'tish ikki baravar ko'paydi.

O'ylashimcha, ular ikkita qiziqarli ishni qilishdi.

Birinchidan, ular o'zlarida mavjud bo'lgan aniq mahsulotni qayta tiklashga urinishmadi - chunki ular ilgari hal qilishlari kerak bo'lgan muammolarni qanday hal qilish haqida yangi g'oyalarga ega edilar.

Nahotki biz 2003 yildagi g'oyalarimiz 2011 yilda eng yaxshi g'oyalar bo'lib qoladi deb o'ylagan bo'lsak? Aytmoqchimanki, meni juda kekkayganlikda ayblashdi, lekin men 2008 yildagi kabi bug 'chiqmay qoldi.

Shunday qilib, ular Basecamp 2-ni mutlaqo yangi mahsulot sifatida taqdim etishdi, va bu uning orqasida Basecamp Classic-ga mos kelishiga kafolat yo'q. Ko'p narsalar yangi edi, boshqa narsalar yo'q bo'lib ketdi va ko'p narsalar butunlay boshqacha edi.

Ushbu qaror ularga erkinlik darajasini berdi. Erkinlik rag'batlantiradi va odamlarni ko'proq harakatga keltiradi.

Asl mahsulotni ishlatish holatlarining har birini qo'llab-quvvatlamaslik uchun ularga ko'p vaqt kerak bo'ldi. Masalan, asl Basecamp foydalanuvchilarga o'zlarining FTP-serverlarida hujjatlarni qabul qilishga imkon berdi. Bir vaqtning o'zida ishbilarmonlik tuyg'usini tug'dirishi mumkin bo'lgan va shunga o'xshash boshqa xususiyatni yo'q qilish, yangi mahsulotni bozorga tezroq olib kirishga imkon berdi.

Quyosh botishi zararli deb hisoblanadi

Ammo yuz minglab mavjud foydalanuvchilar haqida nima deyish mumkin? Ularning pishloqlari ko'chirilganda, baland ovozda shikoyat qiladigan odamlar bormi?

Bu bizni ikkinchi qiziqarli ishiga olib keladi, ya'ni ular o'zlarining mavjud mahsulotlarini quyoshga botirmaydilar.

Deyvid biroz vaqt "quyosh botishi" dasturiy ta'minoti tushunchasini buzdi:

Kimdir biron bir joyda quyosh botishi deb nomlangan bu chiroyli evfemizmni o'ylab topdi. ... Qotillik dasturini "quyosh botishi" deb ataymiz. ... Barcha foydalanuvchilar sohilda o'tirishlari mumkin va ular o'zlarining barcha ma'lumotlarini yo'qolishini tomosha qilishlari mumkin. Juda chiroyli bo'ladi!
Faqat "quyosh botishiga" ishonadigan odamlar buni "quyosh botishi" deb atashadi. Aslida quyosh botish davrini boshdan kechirgan biron bir foydalanuvchi aslida qaytib kelmaydi va "Oh juda go'zal" deb aytmadi. Ular qaytib kelib, "Fuck! Men ko'p yillik ishlarni shu narsaga qo'ydim! ... Endi sen meni quyoshga botirasizmi? »

U foydalanuvchilarni yig'ishga va ko'chirishga majbur qilganingizda, bu "tarixdagi eng yomon strategik xato" ga aylanganligini ta'kidlaydi: Siz o'zingizning doimiy takroriy mijozlar bazasini olib, ularni sizning shaxsiy ma'lumotlaringizdan foydalanishni davom ettirishni xohlashlari to'g'risida o'ylashga majbur qilganingiz uchun. dasturiy ta'minot yoki umuman boshqa narsaga o'tish.

"Basecamp aslida men xohlagan narsami? Agar biz baribir qing'ir ishimizni boshqa joyga ko'chirishimiz kerak bo'lsa, ehtimol men uni boshqa joyga ko'chirishim mumkin. Agar bularning barchasini qutilarga joylab, yuk mashinasiga yuklashim kerak bo'lsa, men buning o'rniga yuk mashinasini shahar bo'ylab jo'natishim mumkin. Bu katta qiyinchilik emas. Katta qiyinchilik - mening barcha narsalarimni yig'ish. Bu yana Basecamp-ga bormoqdami yoki boshqa joyga ketadimi, bu katta qaror emas. "
Devid Basecamp Classic-ni Leica M3 bilan taqqoslaydi: 1967 yildan beri ishlab chiqarilmagan, lekin Leica ular ishlayotgan paytda uni qo'llab-quvvatlashga va ta'mirlashga sodiqdir. (Rasmiy Dnalor 01)

Buning o'rniga, Basecamp "o'z merosiga hurmat bilan qarashni" o'z zimmasiga oldi: ular odamlarga yangilanishni osonlashtirdi, ammo Basecamp Classic-ni tark etishlarini talab qilmadi. Nafaqat bu, balki cheksiz vaqt davomida Basecamp Classic mezbonlik qilish, qo'llab-quvvatlash va saqlashni davom ettirish majburiyatini olganlar.

To'rt yildan so'ng, ular yana takrorlashdi: Basecamp 3 2015 yilda chiqarilgan, erdan yuqoriga qayta yozilgan, ba'zi funktsiyalar kesilgan, ba'zilari qo'shilgan va ko'p narsalar o'zgargan. Ilgari bo'lgani kabi, oldingi versiyalar foydalanuvchilari ham osonlikcha yangilanishi mumkin - ammo agar xohlasalar Basecamp Classic yoki Basecamp 2-ni "Internet oxirigacha" ishlatishda davom etishlari mumkin.

Basecamp 3 hech narsani botirmoqchi emas. Basecampning hozirgi versiyasi emas, balki Basecampning klassik, original versiyasi emas. Ularning ikkalasi ham sizga yaxshi ishlaydimi? Ajoyib! Iltimos, Internet tugaguncha ulardan foydalanishda davom eting! Ularning tez, xavfsiz va har doim mavjud bo'lishiga ishonch hosil qilamiz.
Ammo, lekin, lekin bu qimmat emasmi? Bu qiyin emasmi? Xavfsizlik haqida nima deyish mumkin? Eski kod bazalari haqida nima deyish mumkin? Ha, nima bo'ldi? Mijozlarga g'amxo'rlik qilish - ular bizning jadvalimizni yangilashdan manfaatdor bo'lmasa ham - biz bu erda nima qilamiz.

Darslar

Shaxsan men ushbu modelni chindan ham ilhomlantiradigan deb bilaman.

Har bir yozuv Basecamp-ga dizayn qarorlarini qayta ko'rib chiqishga va ular avvalgidek qurishni xohlagan mahsulotni yaratishga imkon berdi.

Foydalanuvchilar uchun bu ikkala dunyoning eng yaxshisi: O'zgarishlarni yoqtirmaydigan odamlar o'zlarining pishloqlarini almashtirishmaydi; ammo mahsulotingizning cheklanishiga qarshi bo'lgan odamlar yangi va umid qilamanki, yanada puxta o'ylangan dastur bilan ishlashadi.

Mahsulotning bir nechta versiyasini cheksiz saqlashga majbur bo'lish narxsiz bo'lmaydi; lekin Dovud aytganidek:

Bu bepul emas. Nima uchun u bepul bo'lishini kutgan edingiz? Bu juda qimmatli, albatta, bu bepul emas. Ammo buni qilishga arziydi.

3. Visual Studio va VS kodi

Kalit:  = hipster hisobi

Microsoft boshqa platformalarda ishlaydigan dasturchilar bilan bog'lanish uchun VS kodini yaratdi.

Shuni yodda tutish kerakki, Microsoft dunyosida ishlash uzoq vaqtdan beri mutlaqo hech narsa emas. Agar siz Visual Studio-dan foydalansangiz, siz .NET-da ishladingiz va aksincha. Bu dasturiy ta'minot hamjamiyatini ikkita katta, asosan o'zaro lagerlarga ajratdi - barchaga zarar.

Salqin bolalarga murojaat qilish

Bu hatto Stiv Ballmer davrida ham o'zgara boshladi - ASP.NET jamoasi jQuery-ni qayta ixtiro qilmaslikka qaror qilganida, bu qanaqa katta kelishuv bo'lganini eslang!

Bu Satya Nadella bosh direktorining Microsoft-ning asosiy vazifalaridan biri bo'lib, u o'zining devor bilan o'ralgan bog'i tashqarisida ishlab chiquvchilarga aniq murojaat qiladi.

Ammo Julia Liuson kabi, Visual Studio VP uni "Changelog" podkastining ushbu qismiga joylashtiradi:

Bizda ushbu ishlab chiquvchilarning barcha toifasi uchun hech narsa yo'q edi - zamonaviy, webby, tugunga yo'naltirilgan dasturchilar, JavaScript - bizda siz bilan gaplashadigan hech narsa yo'q edi. Siz ishlab chiqaruvchisiz, biz hech qachon o'zimizni jalb qila olmaymiz.
Shunday qilib, VS Code uchun bu to'siqni buzish va "Aslida, nima bilasiz? Sizda ishlatishingiz mumkin bo'lgan narsangiz bor. ”

Visual Studio har qanday ma'noda og'ir mahsulot: O'rnatish uchun yarim soatdan ko'proq vaqt ketishi mumkin. Bu korxona mijozlari ishongan kompleks foydalanish holatlarini qo'llab-quvvatlashi kerak. Shunday qilib, Microsoft Visual Studio-ni funktsiyalarni qo'shib, boshqa platformalarga murojaat qilishga urinib ko'rishi uchun mantiqiy emas edi. Va ehtimol Visual Studio-ning Mac yoki Linux versiyalarini yaratish g'oyasi boshlang'ich bo'lmagan.

Shunday qilib Microsoft noldan boshlab, orqaga qarab moslashishga kafolat bermasdan boshladi.

Noldan emas, aslida: Microsoft allaqachon muhim qismlarga ega edi, masalan, brauzerda Monako muharriri. Va VS Code Node.js ilovasi bo'lganligi sababli (Typcript-da yozilgan va Electron-da ishlaydi), ular boy JavaScript ekotizimidan foydalanishlari mumkin edi.

VS kodi ochiq, engil, tezkor va kengaytirilgan; va hayratlanarli darajada Microsoft mahsuloti uchun - bu ajoyib bolalar uchun kodlash muhitiga aylandi.

VS Code JS hipsterlari uchun tanlov matni muharriri bo'ldi. (Javascript so'rovi shtatidan olingan jadval, 2018)

Ikkala mahsulot ham hali ham faol ishlab chiqilmoqda va Microsoft Visual Studio-ni quyosh botishini xohlamasligi haqida hech qanday ma'lumot yo'q.

Darslar

Netscape tajribasidan mutlaqo farqli o'laroq, Microsoft VS Code atrofida faol ochiq manbali hamjamiyat qurishga muvaffaq bo'ldi. Ushbu jamoa ichki rivojlanish guruhining sa'y-harakatlarini ko'paytirdi.

GitHub-dagi barcha ochiq manbali loyihalar orasida Visual Studio Code yulduzlar soni bo'yicha o'n uchinchi o'rinda - tasodifan Linuxdan pastda!

Albatta, hamma ham o'zlarining asosiy mahsulotlarini to'liq ochib berishni qo'llab-quvvatlaydigan biznes modeliga ega emas.

Ammo agar ochiq manba sizning rivojlanish strategiyangizning bir qismi bo'lsa, Microsoftning ushbu jamiyatni gullab-yashnashiga nima sabab bo'lganini farqlash uchun ushbu ikkita misolni taqqoslashga to'g'ri keladi.

Yana bir multiplikator: Microsoft shuningdek VS kodini mustahkam uzatma modeli bilan jihozladi va natijada 10 000 ga yaqin kengaytmalar jamoa tomonidan yozildi.

VS Code hikoyasidan so'nggi yakuniy narsa, so'nggi yillarda narsalar tubdan o'zgardi, ya'ni prototip yaratish va dasturiy ta'minot yaratish har qachongidan ham oson.

Bugungi asboblar to'plamining murakkabligi to'g'risida ko'pchilikning xafa bo'lishiga qaramay, haqiqat shundaki, JavaScript ekotizimi so'nggi bir necha yil ichida uzoq kutilgan qayta ishlatiladigan, modulli ochiq kodli er maydoniga aylandi. Shu ma'noda, bu tarixan misli ko'rilmagan vaqt.

4. Gmail va pochta qutisi

Kalit:  = quyosh botishi

Avvaliga Gmail-ga kirish qutisi Gmail-ga "muhim narsalarga e'tibor berish uchun mo'ljallangan" muqobil UX sifatida taqdim etilgan. U asl Gmail bilan hech qachon xususiyatlar tengligiga yaqinlashmadi va to'plamlar, qadab qo'yilgan elektron pochta xabarlari va kechiktirilgan xabarlar kabi yangi xususiyatlarni taqdim etdi.

Ba'zi odamlar, shu qatorda men ham Inbox-ni bajonidil qabul qilishdi. Men har doim Inbox Gmail-ning qanday bo'lishini oldindan ko'rib chiqaman deb taxmin qilardim va ba'zi Gmail-larning etishmasligini oxir-oqibat uni Inbox-ga topshirishga umid qilardim.

Ikkita interfeys, bitta xizmat

Kirish qutisi va Gmail ikkalasi ham bir xil orqa tomonni ishlatishdi. Ular bir xil xizmat uchun asosan turli xil foydalanuvchi interfeyslari edi va siz xohlagan vaqtda oldinga va orqaga o'tishingiz mumkin. Buning afzalliklari va kamchiliklari bor edi: agar Inbox-da biron bir xususiyat (masalan, ta'tilning avtoritarlari) etishmayotgan bo'lsa, siz har doim Gmailga qaytib, u erda kerakli narsalarni qilishingiz mumkin. Ammo orqaga va orqaga burilishda muqarrar bir g'alati narsa bor edi.

Biroz vaqt o'tgach, Inbox yaxshilanishni to'xtatdi va Google endi unga hech qanday mablag 'kiritmayotganligi ma'lum bo'ldi. Ishonch hosil qilingki, u ishga tushirilganidan to'rt yil o'tgach, Google Inbox-ni quyosh botishini e'lon qildi.

Avvaliga juda bezovta bo'ldim, lekin Gmail-ning so'nggi versiyasi bilan ozgina vaqt o'tkazgandan so'ng, men Inbox-ning juda ko'p yoqqan xususiyatlari asl mahsulotga yuklanganligini ko'rdim: Smart Reply, hover-harakatlar va ichki qo'shimchalar va rasmlar. Gmail-ning bir nechta kirish qutilari, Inbox-ning to'plamlari uchun etarlicha mos keladigan vosita edi.

Ammo hammasi ham uni bajara olmadi: masalan, kechiktirish, qancha odam elektron pochta bilan muomala qilishning muhim qismiga aylandi; va Inboxning yo'q bo'lib ketishi ularni yuqori va quruq holda qoldirdi.

Darslar

Inbox Gmail guruhiga ko'plab foydalanuvchilarga o'tishni tanlamagan foydalanuvchilar uchun ish oqimlarini buzmasdan xususiyatlarni sinab ko'rish imkonini berdi.

Ikkala versiyani ham bir xil foydalanishga majburlash bilan, Gmail o'zlarining innovatsion imkoniyatlariga qattiq cheklovlar qo'ydi.

Google mashhur xizmatni o'chirib qo'ygani uchun yana tanqidlarga uchradi. Albatta, Google har doim mahsulotlarni to'xtatadi, shuning uchun biz nimani kutgan edik.

Bunday holda, Google-ning Inbox atrofida asl xabarlari bizni Gmail-ning kelajagiga erta qarashga ishonishimizga olib keldi. DHH aytganidek, bu go'zal quyosh botishi emas edi; ko'plab odamlar uchun eski mahsulotga qaytish va Inboxning innovatsion ish oqimlarini yo'qotish kerak.

O'ylaymanki, agar Gmail yopilmasdan oldin Inbox bilan paritetni tenglashtirish uchun barcha yo'llarni bosib o'tgan bo'lsa, kam baxtsizlik bo'lgan bo'lar edi.

5. FogBugz va Trello

Kalit:  = qayg'uli pasayish,  pul pullari

FogBugz - bu juda qiziq voqea, chunki bu Joel Spolskiyning mahsuloti: Bu bizga hech qachon qayta yozmaslik printsipi real dunyo mahsuloti bilan qanday o'ynashini ko'rib chiqadi.

Jira oldin, GitHub Issues mavjud bo'lmasdan oldin, Internetda FogBugz deb nomlangan xatolarni kuzatuvchi mahsulot mavjud edi. 2000 yilda chiqarilgan, bu Fog Creek Software-ning birinchi mahsuloti bo'lib, Djoel firmasi Maykl Pryor bilan yaqinda asos solgan; va bu o'n yildan ortiq vaqtdan beri ularning asosiy mahsuloti. Dastlab ular uni faqat o'zingizning serverlaringizga o'rnatiladigan shrink bilan o'ralgan dastur sifatida sotdilar, ammo keyinchalik obuna versiyasini taqdim etdilar.

Bu, ayniqsa men kabi Joelning blogini kuzatib borgan va uning maslahatlariga quloq soladigan ishlab chiqaruvchilar orasida juda mashhur bo'ldi. Mening kompaniyam uni ko'p yillar davomida ishlatgan; bu o'z davri uchun ajoyib mahsulot edi.

FogBugz dastlab Windows serverlarida ishlaydigan klassik ASP-da yozilgan. ASP.NET chiqishi bilan, Joel nima uchun yangilashga shoshilmayotganligini tushuntirdi.

FogBugz-ni Linux serverlariga o'rnatishga imkon berish uchun stajist Tistle deb nomlangan kompilyatorni ASP-ni PHP-ga o'zgartiradi. 2006 yilga kelib Thistle ASP, PHP va mijozlar uchun JavaScript-ni yaratgan Wasabi nomli xususiy uyda o'stirildi.

Vasabiyning g'alati hikoyasi

Endi ichki, xususiy dasturlash tilini va kompilyatorini ishlab chiqish - bu shunchaki ekssentrik tanlov degani. Endi men bilan ozgina sayohat qil.

Bir paytlar Joel Vassiyni blog postining oxirida qo'lida yozgan. Ko'rinishidan, ba'zi odamlar uni jiddiy emas deb o'ylagan va u o'zini shunday deb aniqlagan. Bu blogdosh Djef Atvudning boshi portlashga olib keldi:

O'z tilingizni yozish mutlaqo rangpar. Bu toksik qaror, u Joelning dasturiy ta'minotni ishlab chiqish bo'yicha ilgari bergan ajoyib va ​​oqilona maslahatlariga mutlaqo zid, odamlar uni hazillashayapti deb o'ylagan.

Joelning ta'kidlashicha, bularning barchasi amaliy ma'noga ega: agar siz toza shiferdan boshlangan bo'lsangiz, albatta siz o'zingizning tilingizni ixtiro qila olmaysiz. Ammo, agar siz har bir qarorni yo'l davomida ko'rib chiqsangiz, o'sha paytdagi texnologik kontekstni va kodlar bazasini hisobga olsangiz, siz u erda qanday yakunlanishingizni ko'rishingiz mumkin.

"Texnik qarzdorlik va shamolga bog'lash" deb nomlangan esseda Vassiyni eslab, Fog Krikning sobiq muhandisi Ted Unangst jarayonni xaritasiz sayohat bilan taqqoslaydi:

Tasavvur qiling-a, siz Jorjiya shtati Savannada ekansiz va Londonga, Angliyaga borishni xohlaysiz. Sizda xarita yo'q, shunchaki aniq yo'nalish yo'nalishi. ... Siz hech bo'lmaganda qayiqni qurmasdan turib to'g'ri chiziq bilan bora olmaysiz, chunki yo'lda okean bor. Shimoli-sharqqa boradigan yaxshi plyaj bor, u siz xohlagan yo'nalishda bor. Off siz boring. Vaqt o'tadi. Siz to'g'ridan-to'g'ri belgilangan manzilingizga qarab ketmayotganingizni payqadingiz, lekin har qadamda siz yanada yaqinlashasiz.
Boston atrofida yoki ehtimol Nova Scotia atrofida, siz nihoyat to'xtab, o'zingizning tanlovingiz haqida o'ylaysiz. Ehtimol, bu Londonga boradigan yo'l emasdir. Yuqoridan yuqoridan, yerfıstığı galereyasida siz quloqchalarni eshitishingiz mumkin. "Hahaha, bu orqaga qarab turing. Angliya va Yangi Angliya o'rtasidagi farqni ayta olmayman. Bu ahmoqlarni xaritaga oling ». Ammo bu shunchaki narsa; sizda xarita yo'q edi. Xaritalar deyarli ta'rifi bilan qaerga ketayotganlarini bilmaydigan odamlar tomonidan ishlab chiqilgan.

Qanday bo'lmasin, Fog Krikning yana bir sobiq ishlab chiqaruvchisi Jeykob Krall tushuntirishicha, ushbu qaror bugun ishlab chiqaruvchiga tezlikni ertangi kunni saqlab qolish uchun - texnik qarzni aniqlash uchun sotilgan va 2010 yilga kelib ushbu qarz uchun qonun loyihasi ishlab chiqila boshlagan.

Biz [Wasabi] manbasini ochmagan edik, shuning uchun har qanday investitsiya bizning asosiy daromad keltiradigan mahsulotlarimiz hisobidan amalga oshirilishini anglatadi. ... To'liq vaqt ishlab chiqaruvchisini talab qiladigan ulkan qaramlik edi - bizning o'lchamimizdagi kompaniya uchun arzon emas. Ba'zan odamlar uchun mutlaqo yaroqli bo'lgan kod parchasini olib qo'ydilar. Tarkib tuzish juda sekin edi. Visual Studio FogBugz-ga osongina tahrirlash yoki tuzatuvchini biriktirish imkoniga ega emas edi. Barcha yangi ishchilar oldingi tajribalaridan qat'i nazar, Wasabi-ni o'rganishda katta vaqtga ega edilar. Bundan tashqari, biz vakuumda yashamadik. Fog Krikdan tashqarida dasturlash tillari albatta yaxshilandi. ... Ishlab chiquvchilar o'zlarining ajoyib g'oyalari bizning kichkina Wasabi olamining cheklanishi tufayli cheklanib qolganday his qila boshladilar.

Qo'shish nuqtasi

Shu nuqtada, o'n yil ichida FogBugz etuk va barqaror mahsulot edi. Joel Djef Atvud bilan qo'shma loyiha sifatida Stack Overflow-ni yaratgan (ehtimol uning portlagan boshi davolanishga ulgurgan bo'lsa kerak).

FogBugz dunyoni yoqmadi va u o'z yoshini ko'rsatdi. Xatoliklarni kuzatuvchilar uchun bozor hali ham bo'linmagan bo'lsa-da, FogBugz-dan keyin bir necha yil o'tgach paydo bo'lgan Atlasian Jirasi, ayniqsa yirik korxona foydalanuvchilari uchun odatiy tanlovga aylandi.

Fog Krik tarixidagi ushbu aniq bir nuqta menga biroz hayron bo'ldi. Basecamp singari, ular ham foydali, etuk mahsulotga ega edilar. Bu endi sexy emas edi va ehtimol ishlash juda qiziqarli emas. Yaxshisi va yomoni uchun, yillar davomida texnologik siljishlar va ma'lum bir makonni qanday hal qilish bo'yicha rivojlanayotgan g'oyalar mujassamlashgan.

Albatta, bitta javob, Basecamp singari bajarilishi kerak edi: Fog Krix xatolarni o'rganish bo'yicha o'rgangan narsalarini oling va toza shiferdan boshlab FogBugz-ni ixtiro qiling.

O'ylaymanki, bu fikr juda uzoqqa bormadi - "hech qachon qilmaslik kerak bo'lgan narsalar", "eng yomon strategik xato" va boshqalar.

Men yaqinda 2009 yilda, Joel Inc. jurnaliga oylik ustunlar yozayotganida, bir maqolani ko'rdim. "Sekin o'sishni bir xil darajada sekinlashtiradimi?" Deb nomlangan ushbu ustun odatdagi o'ziga ishongan portlashdan juda farq qiladi: introspektiv, taxminiy, shubhali. U Atlasianning tez sur'atlar bilan o'sib borayotganidan hayratda - oxirida xatolarni qidirish bozorida bitta mahsulot uchun joy mavjudmi degan savolga.

Men hayron bo'lishim kerak edi. Bizning bozorda bizdan ancha tez o'sayotgan katta raqobatchimiz bor. Kompaniya yirik, korxona mijozlari bilan yirik bitimlarni yopmoqda. ... Ayni paytda, bizning mahsulotimiz milga yaxshiroqdir va biz yaxshi ishlaydigan kompaniyamiz, ammo bu muhim emas. Nima uchun?

Shunday qilib, u ikkita narsani qilishga qaror qildi. Birinchidan, FogBugz-ga barcha xususiyatlarni qo'shing:

2010 yildagi rivojlanish guruhining vazifasi: mijozlar bizning raqobatchilarimizning arzimas narsalarini sotib olishlari mumkin bo'lgan har qanday sabablarni bartaraf etish, chunki ular o'zlariga ular mutlaqo yashay olmaymiz degan kichik bir kichik xususiyati borligi sababli. Ochig'ini aytganda, bu juda qiyin bo'ladi deb o'ylamayman.

Ikkinchidan, korxonani sotish kuchini shakllantirish. Joel, bu uning yoqimsiz narsasi ekanligini va jirkanch deb bilishini tan oldi.

Ikkala rejaning ikkalasi ham qanday amalga oshirilganini bilmayman. Oxirgi marta Joel o'z blogida FogBugz-ni eslatgan - bu bir necha oydan keyin kichik bir ozod bo'lish to'g'risida aniq e'lon.

Yangi umid

Nima bo'ldi bu:

Fog Kri dasturiy ta'minotining o'n yilligi arafasida men o'z xodimlarimni yana o'n yil davomida hayajon va ishtiyoq bilan ushlab turishni istasak, ishlash uchun yangi narsalar kerak bo'ladi, deb o'yladim.

Shunday qilib, ular ikkitadan iborat guruhlarga bo'lindi, har bir guruh yangi mahsulot g'oyasini ishlab chiqish va namoyish etish uchun harakat qilishdi.

G'olib g'oyani Kanban taxtasi ilhomlantirgan - ko'pincha dasturiy ta'minotni ishlab chiqarishda ishlatiladigan jismoniy vosita, odatda doskadagi ustunlar bo'ylab tarqatilgan Post-It yozuvlari.

Joel buni FogBugz ruxsat berganidan yuqori darajadagi ishlarni boshqarish vositasi sifatida taqdim etdi:

Rostini aytsam, "loyihalarni boshqarish" dasturining barcha xayoliy dasturlari bilan men hech qachon kimlar ustida ishlashni taxmin qilish usulini topa olmadim. ... Ikki kompaniyaning asoschisi sifatida o'nlab odamlarning kompyuterda o'tirishlari uchun pul to'lashayotganini ko'rib, koridorda yurish chalg'itishni boshlagan edi ... va men ular aniq narsani qilyaptimi yoki ehtimol ular muhim deb o'ylagan narsani bilmayman. ammo, shunga qaramay, aslida ahamiyatli bo'lmagan.

Trello qurilishida Fog Creek-ning ishlab chiqaruvchilari zamonaviy texnologiyalardan o'zgarish uchun foydalanish imkoniyatiga ega bo'ldilar:

Biz zamonaviy texnologiyalardan foydalanamiz. Ko'pincha, bu barmoqlarning kesilishini anglatadi. Bizning dasturchilar MongoDB, WebSockets, CoffeeScript va Node-larga qon quyishdi. Ammo, hech bo'lmaganda, ular dam olishadi. Va bugungi kunning qattiq mehnat bozorida, katta dasturchilar nimalar ustida ishlashlarini aniq bilishadi. Agar siz ularga hayajonli mahsulotni bersangiz ... ular quvnoq kayfiyatda bo'lishadi va o'z ishlarini yaxshi ko'rishadi.

Trello, shuningdek, boshidanoq uchinchi tomon plaginlarini yoqish orqali o'zlarining ichki ishlab chiqarish guruhlarining sa'y-harakatlarini ko'paytirdi:

API va plagin arxitekturalari eng ustuvor vazifa hisoblanadi. ... Agar siz asosiy APIni ochib, yuqori darajadagi foydalanuvchilarni jalb qila olsangiz, uni o'zingiz uchun qurish uchun hech qachon uyda hech narsa qurmang. Trello jamoasida plagin tomonidan ta'minlanishi mumkin bo'lgan har qanday xususiyat plagin tomonidan ta'minlanishi kerak.

Albatta, dasturchilar Trello-ning foydali ekanligini darhol ko'rishdi; ammo ushbu vositada dasturiy ta'minotni ishlab chiqishga xos bo'lgan narsa yo'q edi. Joel buni "odamlar guruhi bilan ro'yxatlar ro'yxatini tuzishni istagan narsalar uchun" foydalidir. Tez orada Trello har hafta ovqatlanishdan tortib to'ygacha va hayvonlarning boshpanalarigacha bo'lgan hamma narsani tashkillashtirishda foydalanilgan.

FogBugz vertikal mahsulot bo'lgan joyda - ma'lum bir bozor bozoriga yo'naltirilgan - Trello gorizontal mahsulot bo'lib, uni har kim foydalanishi mumkin edi. Joelning ta'kidlashicha, ushbu bosqichda "gorizontal" o'tish FogBugz uchun to'g'ri bo'lgan narsa:

Hayotning har qanday yurishida foydali bo'lgan yirik gorizontal mahsulotni yasash deyarli mumkin emas. Siz juda ko'p haq ololmaysiz, chunki siz boshqa gorizontal mahsulotlar bilan raqobatlashmoqdasiz, ular ko'p sonli foydalanuvchilarning rivojlanish xarajatlarini amortizatsiya qilishi mumkin. Bu yuqori tavakkalchilik, yuqori mukofot: yosh yuklangan startap uchun mos emas, ammo Fog Krik singari etuk va barqaror kompaniyaning ikkinchi yoki uchinchi mahsuloti uchun yomon fikr emas.

Ko'p sonli foydalanuvchilar sonini tezda ko'paytirish uchun dastlab Trello bepul taqdim etildi. Keyinchalik pullik "biznes-klass" rejasi joriy etildi.

2014 yilda Trello alohida kompaniyaga aylantirildi. Uch yildan so'ng, 17 milliondan ortiq foydalanuvchilarga ega bo'lgan Trello 425 million dollarga sotildi. Fog-Krikning eski nemesi Atlasian edi.

Bu orada yana ranchoda ...

Fog Creek yana bir yangi mahsulotni ishlab chiqishda davom etdi, birinchi navbatda HyperDev, keyin GoMix deb nomlangan hamkorlik dasturlash muhiti va Glitch nomini oldi.

Bu orada FogBugz mavhum bo'lib qoldi. 2017 yilda kimdir FogBugzni soqov deb qaror qildi va muhandislik sa'y-harakatlari mahsulotni qo'lyozma sifatida qayta markalashga kirishdi. Bir yil o'tgach - bir necha oy oldin - Fog Creek mahsulotni DevFactory deb nomlangan kichkina kompaniyaga sotdi, u darhol nomni FogBugz deb o'zgartirdi.

Bosh direktor Anil Dash ostida Fog Creek bitta mahsulotga ega bo'lgan kompaniyaga aylandi va o'z nomini Glitchga o'zgartirdi.

Darslar

Bularning barchasida menda juda ko'p tuyg'ular bor.

Ushbu voqeani to'liq tushunishning siri shundan iboratki, Fog Krix hech qachon xatolarni kuzatib borish haqida emas, balki kuchaytiruvchi dasturchilar haqida bo'lganidek - o'zlaridan boshlab:

Bizning asosiy maqsadimiz yaxshi ish joyini yaratish edi. Bizning shaxsiy ofislarimiz bor edi, birinchi sinfga uchib chiqdik, haftada 40 soat ishladik va odamlarga tushlik, Aeron stullari va kompyuterlarning yuqori qismlarini sotib oldik. Biz o'zimizning aqlli formulamizni dunyo bilan baham ko'rdik: Ajoyib ish sharoitlari → Ajoyib dasturchilar → Ajoyib dasturiy ta'minot → Foyda!

Shuni yodda tutgan holda "formulani" yodda tutib, biz izchil va rag'batlantiruvchi hikoyani jamlashimiz mumkin: Fog Creek ishlab chiqaruvchi baxtiga biznes qurdi. Bu kompaniya mahsulotlarida ham, uning ichki "operatsion tizimida" ham aks etgan. Uning birinchi mahsuloti, bug-tracker, shunga o'xshash muammoni kengroq qo'llaniladigan yangi mahsulotni ishga tushirish uchun asos yaratdi.

O'ylaymanki, Trelloning kelib chiqishi tarixi, Joel aytganidek, Joel yangi biznes uchun imkoniyat qidirayotgani yo'q, chunki Joel Fog Krikni ishlab chiquvchilarini baxtli va mashg'ul bo'lish uchun usul qidirmoqda. Yarim milliard dollarlik mahsulot yaratish, bu shunchaki yoqimli kutilmagan natija edi.

Men yordam berolmayman, lekin FogBugz-da sodir bo'lgan ishlardan biroz xafa bo'laman. Fog-Krikda so'nggi kunlarda ishlab chiqaruvchilarning baxtlari ko'p bo'lgan deb o'ylamayman.

Shubhasiz, barcha odamlarning qovurish uchun katta baliqlari bor edi: Stack Overflow, Trello va Glitch, ularning har biri FogBugzga qaraganda ancha foydali va qimmatlidir; va har qanday berilgan odam buni o'z vaqtlari bilan juda ko'p qila oladi. Shunday qilib, men hech kimni FogBugz-ga, uning o'n yillik eski kod bazasi va raqobatbardosh Mart bozoriga bo'lgan qiziqishini yo'qotganim uchun alday olmayman. Hech bo'lmaganda, uning sodiq foydalanuvchilari yaxshi uy topishdi va "quyosh botishi" bilan davolanishmadi!

Ammo mening hissiyotim, bu merosni yaratgan va undan yillar davomida foydalangan barcha odamlarni "hurmat qilish" uchun yaxshiroq yo'l bo'lsa kerak.

6. FreshBooks va BillSpring

Kalit:  = maxfiy operatsiya

Bu allaqachon men tasavvur qilganimdan ancha uzunroq maqolaga aylandi, lekin men bu voqeani qoldirib ketolmayman. Men bilan qoling, bu juda yaxshi burilish.

Agar ilgari buni eshitgan bo'lsangiz, meni to'xtating

2000-yillarning boshlarida Mayk MakDerment kichik dizayn agentligiga egalik qildi. Hisob-fakturalarni rasmiylashtirish uchun Word va Excel dasturlaridan foydalangan va buxgalteriya dasturi kerakli narsalar uchun juda murakkab deb qaror qilgan.

Ushbu tizim etarli bo'lmaguncha yaxshi edi:

Mijozlar uchun muhim schyot-fakturani tasodifan saqlaganimda, men sindirib qo'ygan narsamga bir kun tegdim. Men yaxshiroq yo'l bo'lishi kerakligini bilardim, shuning uchun men keyingi FreshBooks-ning asosini tashkil etadigan narsani belgilash uchun keyingi ikki haftani o'tkazdim.

Mayk dasturchi emas, balki dizayner edi, lekin u va uning hammuassislari birgalikda foydalanish uchun bir necha odamga oyiga 10 dollar to'lashi mumkin bo'lgan vositani birgalikda aylanib chiqishga muvaffaq bo'lishdi. Ota-onasi podvalidan chiqib ketishi uchun biznes uchun to'rt yil vaqt kerak bo'ldi.

Mahsulotning 10 yilligi munosabati bilan (bu tanish bo'lib chiqayaptimi?) FreshBooks juda daromadli bo'lib, 10 milliondan ortiq foydalanuvchilar va 300 xodimlarga ega edi.

Bitta muammo: ular "haqiqiy" dasturchilarni yollashga muvaffaq bo'lishganida, millionlab "asoschilar kodi" ga ega bo'lishgan. Tashqi tahlilchi ularning kodlar bazasini ko'rib chiqdi va shunday xulosaga keldi:

"Yaxshi xabar shundaki, siz eng qiyin muammoni hal qildingiz. Siz qanday qilib biznes qurish haqida o'ylab ko'rdingiz va sizda odamlar sevadigan mahsulot bor. Yomon xabar shundaki, siz bolalar texnologiyaga moyilsizlar. "

Eng muhimi, ammo ularda mavjud mahsulot mos kelmaydigan yangi g'oyalar bor edi:

Biz kompaniyani o'n yil oldin boshlaganmiz; dunyo o'zgardi va biz mahsulot ishlab chiqarish va o'zlari uchun ishlaydigan odamlarga xizmat ko'rsatish haqida ko'p narsalarni bilib oldik. O'z-o'zidan ishlaydigan mutaxassislar va ularning jamoalari ishchi kuchining ulkan va o'sib borayotgan qismidir ... FreshBooks besh yil ichida o'z guruhini yaxshi ushlab turishi va yaxshi xizmat ko'rsatishi uchun biz harakat qilishimiz kerakligini bilardik.

McDerment noldan boshlashning odatiy donoligini o'zlashtirdi:

Qayta yozishdan ko'ra dasturiy ta'minot kompaniyasi uchun katta xavf yo'q. Siz hatto loyihani tugata olmasligingiz mumkin. Bu siz o'ylaganingizdan ko'proq vaqtni oladi. Bu ko'proq xarajat qiladi. Agar buni qilsangiz, mijozlar kamroq yoqishi mumkin. Yangi platformani qurish bilan u yanada yaxshi mahsulot ekanligiga hech qanday kafolat yo'q. Dasturiy ta'minotning birinchi raqamli qoidasi shundaki, siz o'z dasturiy ta'minotingizni qayta platforma qilmaysiz.

Shunday qilib, ular tartibsizlikni boshlamasdan tozalashga bir necha marta urinishdi; ammo "harakatlanuvchi transport vositasida shinalarni almashtirish" imkonsiz deb topildi.

Keyingi voqea sizni ajablantirishi mumkin

Va nihoyat McDermentning g'oyasi yashirincha FreshBooks-ga "raqobatchi" ni yaratish edi.

U Delaverda BillSpring deb nomlangan mutlaqo yangi kompaniyani birlashtirdi. Yangi kompaniyaning o'z URL manzili va o'z brendi va logotipi bor edi. Ikkala kompaniyani bir-biriga bog'lab qo'ymaslik uchun ehtiyotkorlik bilan u tashqi ishlar bo'yicha advokatlarga xizmat ko'rsatishning yangi shartlarini taklif qildi.

Ishlab chiquvchi guruh "Lean UX: Jeff Gothelf va Josh Seiden tomonidan" Agile jamoalari bilan ajoyib mahsulotlarni loyihalash "kitobini o'z qo'llanmasi sifatida qabul qildi va haqiqiy mijozlar bilan ko'rib chiqish sessiyalari bilan skrining jamoalari va haftalik iteratsiyalar kabi Agile amaliyotini joriy qildi. McDerment ularga o'zlarini boshlang'ich va o'zlarini kapital kapitalist deb hisoblashlarini aytdi:

"To'rt yarim oyingiz bor. Agar o'sha paytda bozorda bo'lsangiz, sizga ko'proq pul beramiz. Aks holda, biz yo'qmiz. "

Jamoa belgilangan muddatdan bir necha kun oldin MVP dasturini ishlab chiqishga muvaffaq bo'ldi. Ular yangi saytga trafik yuborish uchun Google AdWords-ni sotib olishdi. Ular birinchi yil uchun bepul hisoblarni taklif qilishdi. Ko'p o'tmay, ularning haqiqiy foydalanuvchilari bor edi va ular mahsulotni jilo qilish uchun tezda iteratsiya qilishni boshladilar.

Birinchi yil tugaganda, ular BillSpring mijozlarini zaryadlashni boshladilar. Bir vaqtning o'zida yangi mahsulot kutilmagan tarzda tasdiqlandi:

"Bir kishi bizni FreshBooks-ni yangi kompaniyaga o'tayotganliklarini aytib, ularni bekor qilishga chaqirdi", deydi MakDerment. "Bu yaxshi kun edi."

Ko'p o'tmay, ular maxfiylik pardasini ko'tarishdi: BillSpring mijozlariga mahsulot endi FreshBooks ekanligini bilishlarini va mavjud FreshBooks mijozlariga yangi versiyasi tez orada chiqarilishini xabar berishdi.

Sekin-asta "FreshBooks Classic" mijozlarini yangi yangilanishni sinab ko'rish uchun taklif qilishdi - lekin bunga ehtiyoj qolmadi va agar xohlasalar har doim tanish versiyaga qaytishlari mumkin edi.

Darslar

"FreshBooks" ning yashirin yozuvlari arzonga tushmadi: McDerment loyihaga ular 7 million dollar sarflaganini taxmin qilmoqda. O'n yildan ko'proq vaqt davomida jadal o'sganidan so'ng, ular atigi 30 million dollarlik venchur sarmoyasini jalb qilishdi; shuning uchun ularda naqd pul bor edi. Hamma ham sarf qila oladigan darajada pulga ega emas.

Forbes ma'lumotlariga ko'ra, 2013 yilda FreshBooks-ning daromadi 20 million dollarni tashkil etgan. 2017-yilda, modernizatsiya ishlari tugallangandan so'ng, ular 50 million dollar daromad olishgan. Ular ushbu o'sishning yangi mahsuloti qancha bo'lganini aytmaydilar, lekin boshidan boshlash kompaniyaning o'sishini sekinlashtirmaganga o'xshaydi.

McDermentning ta'kidlashicha, ular endi funktsiyalarni tez va oson qo'sha oladilar. Eng muhimi, ular o'zlarining eng yaxshi g'oyalarini aks ettiruvchi mahsulot bilan kelajakka umid bog'lashmoqda.

Ko'zlangan maqsadlaridan tashqari, ular tajriba kompaniya madaniyatini yaxshi tomonga o'zgartirganligini aniqladilar. Ularning boshlang'ich bo'lib ko'rsatayotgan vaqtlari ularni o'zlarini yangi boshlang'ich kabi tutishga majbur qildi. Ular sinab ko'rgan "ozg'in" amaliyotlar butun muhandislik guruhiga tarqaldi. Mijozlar yangi xususiyatlarni ishlab chiqishda yaqindan qatnashadilar.

Qayta yozilishning mumkin bo'lgan salbiy tomonlaridan o'zini izolyatsiya qilish uchun FreshBooks g'ayrioddiy kuch sarfladi: otishni o'rganish brendi ostida innovatsiyalarni ishlab chiquvchilar ishlab chiqilgan narsalarni butunlay qayta ko'rib chiqish va katta xavflarni o'z zimmalariga olishga tayyor edilar. Shunday qilib, eng yomoni, ular oxirat oxiriga yetishlari edi; hech bo'lmaganda bu jarayonda mavjud brendga zarar etkazmaydi.

Bularning barchasi biroz haddan tashqari his qiladi va ehtimol ular qancha vaqt sarflashlari kerak emas. Ammo bu qoziqlar qanchalik jiddiyligini eslatib turadi.

Hozircha ba'zi fikrlar

Qayta yozish dasturining odatiy donoligi shundan iboratki, siz odatda undan qochishingiz va uning o'rniga bosqichma-bosqich yaxshilanishlar qilishingiz kerak - agar biron sababga ko'ra bu mumkin bo'lmasa.

Men bu fikrga qo'shilaman.

Ushbu maslahat shundan iboratki, maqsad asl mahsulot bilan bir qatorda yangi xususiyatlar to'plami bilan yakunlanadi.

Ammo siz funktsional imkoniyatni olib tashlamoqchi bo'lsangiz nima bo'ladi? Yoki biron bir foydalanish masalasini butunlay boshqacha tarzda hal qilmoqchi bo'lsangiz nima bo'ladi? Mahsulot bilan ishlash tajribangiz sizga mutlaqo yangi yondashuv uchun g'oyalar bergan bo'lsa-chi?

Mening ushbu hikoyalarimdan olingan ma'lumot: bu sizning mahsulotingizning hozirgi versiyasi va siz tasavvur qilishingiz mumkin bo'lgan eng yaxshi versiyasi orasida ma'lum masofa borligini bilib olganingizdan so'ng, to'g'ri yondashuv sizning dasturiy ta'minotingizni yangi bilan almashtirish emas. versiyasi, lekin uning yonida yangi narsalarni qurish uchun - bor narsangizni tashlamasdan.

Ehtimol, agar siz qayta yozish yoki yozmasligingiz haqida o'ylasangiz, mahsulotingiz bilan tanishib chiqib, o'zingizdan so'rashingiz kerak: Ehtimol, men o'zimning raqobatchimni yarataymi? Agar mening mahsulotim FogBugz bo'lsa, mening Trello nima? Agar u Visual Studio bo'lsa, mening VS kodim qanday ko'rinishga ega bo'ladi?

Agar siz Netscape-dagi Spolskiy va DHH-ning Basecamp-dagi postlarini yonma-yon o'qib chiqsangiz, ular bir narsada kelishib olganliklarini ko'rasiz: Siz yaratgan narsaning ahamiyati bor.

Yaxshi xabar shundaki, siz innovatsiya qilish uchun bu qiymatni boshqa narsaga uloqtirishingiz shart emas.