Berpikir Besar, Belajar Cepat, dan Dengarkan: Pelajaran Saya dari Membangun Produk SaaS WordPress

Diterbitkan: 2017-04-19

Satu setengah tahun yang lalu ketika saya mulai berpikir tentang apa proyek sampingan saya selanjutnya, saya tidak dapat membayangkan kesuksesan yang akan terjadi. Meskipun mungkin tampak kecil bagi sebagian orang, membuat siapa pun cukup percaya pada produk Anda untuk memberi Anda uang untuk itu adalah pencapaian besar yang harus Anda banggakan.

Ini tidak mudah. Dibutuhkan dedikasi, kerja keras, dan sedikit keberuntungan untuk mendapatkan pelanggan pertama Anda. Seperti yang dikatakan Lao Tzu: " Perjalanan seribu mil dimulai dengan satu langkah ".

Identifikasi Masalah

Sebelum Anda dapat membangun bisnis, Anda membutuhkan produk. Sebelum Anda membangun sebuah produk, Anda membutuhkan sebuah masalah. Menemukan masalah yang perlu dipecahkan mungkin merupakan bagian tersulit dari perjalanan Anda, jadi luangkan waktu Anda untuk menyelesaikannya. Pernahkah Anda berpikir:

“Saya berharap ada <hal> untuk <masalah>”?

Jika Anda pernah, kemungkinan besar orang lain juga memilikinya. Ini adalah tempat yang baik untuk mulai mengeksplorasi ide produk Anda.

Menjelajahi ide produk

Satu hal yang saya pelajari melalui banyak produk saya yang gagal adalah bahwa jika Anda ingin sukses, akan sangat membantu jika Anda memecahkan masalah yang Anda sendiri miliki. Kembali ketika saya masih menjadi pengembang WordPress lepas, saya sering mengalami masalah dalam memperbarui tema dan plugin di host klien. Itu selalu sangat sulit untuk dilakukan, jadi saya pikir bisa terhubung ke sistem pembaruan WordPress akan membuat hidup jauh lebih mudah. Kernl lahir dari masalah ini, dan itu membentuk inti dari produk.

Pada inti Kernl, saya ingin ini menjadi produk SaaS WordPress yang mudah digunakan. Kecurigaan saya adalah bahwa orang tidak benar-benar ingin menjalankan infrastruktur pembaruan mereka sendiri dan dengan senang hati akan membayar untuk penyedia yang andal. Pelanggan hanya perlu mengunggah file ZIP dari plugin atau tema mereka, dan kami akan menangani sisanya. Menjaga produk inti tetap dalam cakupan yang ketat benar-benar membantu saya fokus dalam memberikan nilai.

Memiliki pemain yang ada di ruang masalah Anda bertindak sebagai validasi masalah. Tweet

Sementara pada topik mengidentifikasi masalah, saya ingin mengambil waktu sejenak untuk berbicara tentang ukuran pasar. Hanya karena seseorang telah membuat produk yang memecahkan masalah Anda tidak berarti tidak ada ruang untuk solusi Anda juga. Jika Anda dapat melakukan apa yang mereka lakukan dengan lebih baik dan membedakan diri Anda, Anda akan mendapatkan pelanggan. Perlu juga dicatat bahwa memiliki pemain yang ada di ruang masalah Anda bertindak sebagai validasi masalah.

Mulailah dari yang Kecil, Berpikir Besar Tapi Selalu Selesai

Anda sering mendengar orang berbicara tentang "metodologi lean startup" di komunitas kami. Orang-orang memiliki kecenderungan untuk memilih dan memilih bagian mana dari startup ramping yang mereka ikuti dan saya tidak terkecuali. Saya benar-benar tidak mengikutinya dengan tepat, tetapi satu hal yang pasti saya lakukan adalah menyaring Kernl ke bagian terkecil yang dapat dikirim sebelum saya mulai mengerjakannya.

Melewati garis finish untuk setiap kenaikan bisa menjadi perjuangan, terutama jika Anda melakukan ini di waktu luang Anda. Satu hal yang perlu diingat adalah it's ok untuk iterasi. Ketika saya mengirimkan peningkatan pertama Kernl, itu tidak sempurna, tetapi itu melakukan apa yang saya katakan: menyediakan plugin pribadi dan pembaruan tema. Sepanjang kenaikan pertama, saya menyimpan banyak hal yang masih perlu diselesaikan. Rasanya seolah-olah itu selalu tumbuh dan itu bukan hal yang buruk. Selalu ada lebih banyak hal yang harus dilakukan, tetapi tetap fokus adalah yang menggerakkan produk ke depan.

Satu kali saya mencoba melakukan rilis "big bang" untuk Kernl adalah sebuah kegagalan. Saya mencoba membuat produk analitik, dan semuanya tidak berhasil. Saya tidak percaya dengan fitur yang sedang saya bangun, dan itu menunjukkan dedikasi dan motivasi saya yang menurun. Setelah sebulan bekerja, saya memotong kerugian saya dan membatalkan semuanya. Itu adalah pelajaran penting dan pengingat bahwa saya tidak boleh memulai sesuatu jika saya tidak mau menyelesaikannya. Sayangnya, waktu saya tidak gratis, dan selalu ada hal lain yang memintanya.

“Apa warna bikeshed-nya?”

Setahun yang lalu, seorang rekan kerja memperkenalkan saya dengan istilah “bikeshedding“. Bikeshedding adalah istilah yang diciptakan sebagai metafora untuk Law of Triviality Parkinson. Cerita berlanjut bahwa ada sekelompok insinyur yang bekerja untuk membangun pembangkit listrik tenaga nuklir, tetapi alih-alih menghabiskan waktu mereka dengan bijak dan memperdebatkan desain reaktor, mereka akhirnya membuang-buang waktu untuk warna apa yang seharusnya menjadi warna gudang sepeda di depan pembangkit listrik. menjadi.

Dalam pekerjaan sehari-hari saya, kami melemparkan istilah "bersepeda" setiap kali kami menyadari bahwa kami sedang memperdebatkan topik sepele. Jika jawaban atas pertanyaan itu benar-benar tidak penting, atau salah satu solusi yang diusulkan akan baik-baik saja, pilih saja satu dan lanjutkan. Bersikap tegas sangat penting ketika Anda membuat produk SaaS di waktu luang Anda. Pelanggan benar-benar tidak peduli jika Anda menggunakan Node.js atau PHP, cukup pilih satu dan lakukan.

Bersikap tegas sangat penting ketika Anda membuat produk SaaS di waktu luang Anda. Tweet

Bagi pelanggan, hasilnya sama, dan Anda telah menghemat waktu sehingga Anda dapat mengerjakan fitur yang secara langsung memengaruhi pelanggan Anda. Apa pun masalahnya, jadilah tegas dan jangan bersepeda .

Pilih Teknologi yang Membuat Anda Cepat

Sebagai pengembang, saya senang berdiskusi selama berjam-jam dengan siapa saja yang mau mendengarkan mengapa saya memilih teknologi A atau teknologi B, tetapi ketika Anda membuat produk, itu mungkin tidak masalah. Pilih teknologi yang Anda kenal baik dan mulai bekerja. Jika Anda dapat membangun dengan cepat di dalamnya, itu hampir selalu merupakan pilihan yang tepat.

Pilihan teknologi saya dengan Kernl mencerminkan tujuan saya untuk proyek tersebut. Saya ingin membangun produk SaaS WordPress yang sukses dan mungkin mempelajari sesuatu yang teknis dalam prosesnya, jadi saya memilih untuk membangun Kernl sebagian besar dalam teknologi yang saya pahami (Node.js untuk backend dengan Angular 1 di frontend). Tak satu pun dari teknologi ini menghalangi saya, dan saya sangat produktif dengan mereka.

Tangkapan layar beranda Kernl

Hal lain yang perlu dipertimbangkan saat Anda mengembangkan adalah utang teknis. Jika Anda mencoba untuk bergerak cepat dan memberikan kenaikan pertama Anda, tidak apa-apa untuk mengambil utang teknis. Ingatlah bahwa utang teknis memiliki cara untuk membesarkan kepalanya yang buruk ketika Anda tidak mengharapkannya. Harapkan bahwa di beberapa titik di masa depan Anda harus membayarnya kembali. Selama fase pra-alfa dan alfa Kernl, saya menanggung banyak hutang teknis dalam bentuk proses penerapan manual, panggilan balik neraka, infrastruktur yang buruk, dan tidak ada unit atau tes integrasi. Ketika saya sedang dalam proses mendapatkan beberapa pelanggan pertama saya, saya setuju dengan itu, tetapi begitu mereka mulai mengandalkan Kernl, saya harus membayarnya kembali sehingga saya dapat memberi mereka layanan terbaik.

Pemasaran SaaS WordPress

Mencoba menjadi pemasar ketika Anda seorang pengembang bisa jadi sulit. Saya pribadi adalah orang yang sangat tertutup. Saya berkomunikasi dengan baik dengan orang lain, tetapi saya lebih suka menghabiskan waktu dengan diri sendiri atau teman dekat/keluarga. Ketika Anda memasarkan produk Anda, Anda belajar untuk mengatasi perasaan penolakan yang tidak nyaman. Tidak semua orang akan menyukai apa yang Anda lakukan, dan Anda hanya harus menghadapinya.

Kernl awalnya dipasarkan melalui pos "Tampilkan Berita Peretas" dan beberapa pos di Reddit. Setelah itu, saya mulai mencari Twitter untuk kata kunci yang relevan dan berinteraksi dengan orang-orang secara langsung. Proses ini sangat manual dan padat karya, tetapi berhasil cukup baik untuk mendapatkan beberapa pelanggan yang membayar.

Terkadang memulai produk membutuhkan sedikit keberuntungan juga. Tepat pada saat itu, saya meluncurkan Kernl pesaing utama saya (Pembaruan WP) dijual dalam beberapa transaksi gelap ke pihak ke-3. Komunitas pengguna mereka kecewa dengan hal ini, dan terlebih lagi ketika layanan mereka turun dan tidak muncul kembali selama beberapa hari. Menyadari kesempatan itu mengetuk pintu saya, saya mulai men-tweet pada semua orang yang mengeluh. Ini adalah arus masuk pelanggan terbaik yang pernah saya terima. Orang-orang ini membutuhkan produk yang dapat mereka andalkan, dan saya bertekad untuk membuat Kernl produk itu.

Saya memang membuat beberapa kesalahan langkah di sepanjang jalan. Saya menjalankan beberapa eksperimen dengan Google Adwords, tetapi sepertinya tidak pernah menghasilkan konversi yang baik. Setelah dua bulan saya berhenti menjalankan iklan dan memutuskan untuk mengejar pilihan lain. Secara realistis, saya pikir pendekatan terbaik untuk memasarkan Kernl adalah melalui pemasaran konten. Ini bisa banyak hal, tapi saya pikir memiliki blog yang bagus dengan banyak artikel khusus pengembang WordPress akan membantu mengarahkan banyak lalu lintas dan pelanggan potensial menuju Kernl.

Dengarkan Pelanggan Anda

Satu hal yang saya pelajari selama bertahun-tahun adalah bahwa bersikap responsif terhadap pelanggan sangat penting. Ketika datang ke Kernl, saya seresponsif mungkin dan tampaknya pelanggan umumnya menghargainya. Saya selalu berusaha menjawab pertanyaan dengan segera meskipun saya tidak memiliki jawaban, sehingga pelanggan tahu bahwa masalah mereka telah diketahui.

Selain berkomunikasi dengan cepat, saya berusaha sesering mungkin untuk memberikan jawaban dan penjelasan rinci kepada pelanggan Kernl. 95% dari waktu saya berkomunikasi dengan sesama pengembang, dan saya tahu bahwa jika situasinya terbalik, saya ingin tahu lebih banyak tentang mengapa sesuatu terjadi dan apa yang sedang dilakukan untuk memperbaikinya. Beberapa orang mungkin menganggapnya sebagai komunikasi yang berlebihan, tetapi saya sangat merasa bahwa komunikasi yang berlebihan lebih baik daripada komunikasi yang kurang.

Salah satu hal terpenting yang saya pelajari dari berbicara dengan pelanggan adalah perlunya stabilitas.

Saya memutuskan untuk mendedikasikan seluruh fase beta peluncuran Kernl untuk stabilitas dan otomatisasi.Tweet

Sejumlah besar basis pelanggan awal Kernl telah bermigrasi dari WP-Updates karena masalah waktu henti yang mereka alami, dan saya tidak ingin mereka mulai melihat Kernl dalam terang itu jika saya tidak dapat mempertahankan layanan. Dengan mengingat hal itu, saya memutuskan untuk mendedikasikan seluruh fase beta peluncuran Kernl untuk stabilitas dan otomatisasi. Tidak ada fitur baru yang ditulis dalam periode 2-3 bulan itu, tetapi pemfaktoran ulang yang berat, pengujian otomatis, dan peningkatan infrastruktur membuat Kernl menjadi produk yang jauh lebih baik daripada versi alfa.

Tetapkan Tujuan Realistis

Ada banyak cara saya mendekati Kernl yang berbeda dari upaya sebelumnya pada produk SaaS. Salah satu yang paling berdampak bagi saya adalah menetapkan tujuan yang realistis. Saya tidak mengatakan "Saya ingin 1000 pelanggan dan pendapatan $50k pada akhir 3 bulan". Saya malah menetapkan tujuan jangka pendek "Saya ingin dapat membawa istri saya keluar untuk makan malam yang menyenangkan sebulan sekali murni dengan uang yang dibuat dari Kernl". Setelah tujuan itu tercapai, saya menetapkan tujuan yang sedikit lebih besar: "Lakukan pembayaran mobil" + tujuan pertama saya.

Tujuan jangka pendek - Lakukan pembayaran mobil

Bagi saya, menetapkan tujuan yang baru saja di luar jangkauan itu penting. Itu memberi saya sesuatu yang saya yakini dapat dicapai untuk diperjuangkan. Tentu saja, ada tujuan lain yang lebih besar yang saya miliki untuk Kernl (menjadikan Kernl sebagai pekerjaan penuh waktu saya), tetapi itu masih jauh. Anda harus memiliki sesuatu untuk diperjuangkan dalam jangka pendek jika Anda ingin tetap termotivasi.

Berpikir ke depan

Pada titik tertentu dalam perjalanan saya dengan Kernl sebagai produk SaaS WordPress, saya merasa seperti menabrak tembok. Mungkin semakin sulit untuk mendapatkan pelanggan, atau mungkin karena saya tidak berusaha cukup keras, tetapi rasanya Kernl membutuhkan sesuatu yang baru agar tetap relevan. Ketika saya mulai merasa seperti itu, saya mulai berpikir lebih jauh ke depan. Saya bertanya, “Apa yang bisa saya bantu perkenalkan ke dalam ekosistem WordPress dengan banyak nilai?” dan “Dapatkah ide ini memperluas Kernl di luar ekosistem WordPress?”.

Tujuan awal Kernl adalah menyediakan pembaruan untuk plugin dan tema WordPress pribadi, tetapi seiring pertumbuhan Kernl, saya pikir saya dapat membantu pengembang memodernisasi alur kerja penerapan mereka. Sejak Kernl diluncurkan, saya telah menambahkan push to deploy (GitHub, BitBucket, GitLab), notifikasi Slack, notifikasi webhook, dan banyak lagi. Tapi saya merasa fitur berikutnya harus lebih besar. Lebih dari baut-on. Sesuatu yang sama sekali berbeda.

Tujuan besar berikutnya yang saya miliki untuk Kernl adalah yang paling tinggi yang pernah saya tetapkan: Gunakan Kernl sebagai platform untuk penandaan fitur. Anda dapat meluncurkan penerapan secara perlahan ke persentase orang, individu, atau semua orang tanpa perlu melakukan penerapan. Semua pekerjaan server dan front-end selesai pada saat ini, jadi saya perlahan-lahan melakukan dogfood produk untuk memastikan skalanya baik dan sangat mudah digunakan. Saya juga menargetkan pengembang baik di dalam maupun di luar ekosistem WordPress, yang akan menjadi tantangan yang menyenangkan.

Memiliki bisnis produk berarti Anda harus selalu bergerak. Saat Anda berhenti berinovasi adalah saat pemain baru datang ke luar angkasa dan membawa pelanggan Anda.