Dari ide hingga implementasi. Bagian Tiga - Buat TK (Kerangka Acuan)

Danilevsky Kirill

Saya minta maaf kepada pembaca untuk waktu yang lama. Sekarang saya sedang mengerjakan proyek besar, tidak ada cukup waktu untuk apa pun. Jadi, saya menulis sekuel seri artikel "Dari Ide ke Implementasi." Inilah artikel sebelumnya: β€œDari ide hingga implementasi. Bagian Dua - Kelahiran Suatu Ide ”

Hari ini saya ingin berbicara sedikit tentang cara mempersingkat jalan saya dari ide yang telanjang menjadi investasi. Ada dua poin penting di sini. Untuk diri Anda sendiri, Anda perlu memutuskan siapa yang akan bertindak sebagai investor. Jika Anda dapat membiayai diri Anda sendiri, maka ini sangat bagus. Tetapi jika Anda memiliki masalah dengan keuangan, maka Anda tidak dapat melakukannya tanpa tarik-menarik uang dari luar.

Tetapi untuk menarik minat investor, Anda harus memberinya dokumen yang cukup terperinci. Karena berbicara dengan penjelasan, secara kasar, dengan jari, tidak memberi investor kesempatan untuk melihat keseluruhan gambar. Akibatnya, tidak ada pembicaraan tentang uang juga.

Dan tugas utama kami adalah menyiapkan dokumen-dokumen seperti itu yang akan membantu Anda mendapatkan pembiayaan dan akan dapat mengklarifikasi gambar dengan masa depan proyek Anda sendiri.


Hal pertama yang perlu dilakukan adalah mengartikulasikan ide bisnis dengan jelas. Ini seharusnya bukan hanya pemikiran yang menarik, tetapi semacam solusi lengkap dan tertutup yang akan membantu mencapai tujuan Anda. Agar tidak terlibat dalam bertele-tele, kami akan mengambil sebagai contoh contoh tertentu, atas dasar di mana kami akan membangun dokumentasi kami.

Misalnya, ada laboratorium swasta tertentu tempat beberapa karyawan bekerja. Karyawan ini adalah spesialis di bidang fisika, memiliki peralatan sendiri, yang memungkinkan mereka untuk melakukan beberapa eksperimen kompleks dan membuahkan hasil. Semua data sumber dimasukkan ke dalam basis data, dan hasilnya juga disimpan dalam bentuk beberapa jenis data statistik. Ketika melakukan n-jumlah percobaan, model perilaku tertentu terbentuk, berkat itu dimungkinkan untuk memprediksi hasil dengan probabilitas yang cukup tinggi, bahkan tanpa pengalaman laboratorium.

Dan pada titik tertentu, muncul pemahaman bahwa permintaan untuk eksperimen tidak terlalu besar, kapasitas laboratorium terbatas, cukup sulit untuk menerima pesanan dari berbagai negara, setiap kali diperlukan untuk melakukan sejumlah besar negosiasi, menyimpulkan kontrak, dll. Gagasan utama dari masalah ini adalah Anda tidak bisa melompati kepala Anda. Dan "lompatan-lompatan" itu, cukup rumit, tidak mobile dan mahal.

Dan di sini spesialis datang dengan ide yang menarik. Tetapi bagaimana jika semua pengalaman kami dan sejumlah besar data diterapkan dalam suatu program yang akan menjadi semacam kecerdasan buatan. Memiliki program ini akan memungkinkan, dengan tingkat probabilitas yang tinggi, untuk mendapatkan hasil yang benar saat memasukkan parameter Anda. Dengan demikian, program akan menghitung hasil yang benar tanpa melibatkan laboratorium, tetapi hanya berdasarkan pada data percobaan yang telah dilakukan sebelumnya. Ini akan sangat menghemat biaya overhead dan membantu Anda dengan cepat mendapatkan pelanggan baru dari seluruh dunia.

Idenya menarik, sudah kurang lebih sudah terbentuk. Pencarian dimulai untuk investor yang siap berinvestasi dalam ide ini. Tetapi pertanyaan pertama adalah berapa banyak uang yang harus diinvestasikan dalam proyek ini? Dan tidak ada jawaban untuk pertanyaan ini. Dan poin kedua adalah jika investor tidak mengerti fisika, maka dia tidak akan mengerti sama sekali apa yang akan mereka coba jelaskan kepadanya. Dan untuk menginvestasikan uang pada sesuatu yang bahkan tidak bisa dipahami oleh investor, dia tentu tidak akan melakukannya.

Dan kemudian muncul pemahaman tentang bagaimana, dan bagaimana Anda bisa mengevaluasi jumlah keuangan yang diperlukan? Lagipula, spesialis hebat dalam fisika tidak memahami apa pun di bidang TI dan keuangan, programmer hebat tidak memahami apa pun dalam fisika dan keuangan, dan pemodal luar biasa tidak memahami apa pun dalam fisika dan TI. Ternyata lingkaran setan, yang, bagi banyak orang, sering tetap lingkaran setan.

Untuk keluar dari situasi yang sulit ini, Anda membutuhkan seseorang yang akan menjadi perantara antara bisnis dan TI, yang berpengalaman dalam keuangan, proses pengembangan perangkat lunak dan dapat dengan cepat memahami esensi bisnis pelanggan. Sebagai aturan, analis sistem melakukan ini.

Sekarang mari kita beralih ke pekerjaan analis sistem. Ada tugas - untuk memahami prinsip operasi bisnis, untuk membuat dokumentasi yang akan dapat memperkirakan waktu yang dibutuhkan untuk pengembangan perangkat lunak. Estimasi waktu, sebagai suatu peraturan, dapat berupa kasar atau lebih atau kurang terperinci. Dalam kasus pertama, tugas teknis terperinci tidak akan dibuat, tetapi hanya model arsitektur yang akan dibuat. Dalam kasus kedua, Kerangka Acuan rinci akan dikembangkan, yang sudah siap untuk memulai proses pengembangan.

Secara alami, mengetahui jumlah waktu yang diperlukan untuk mengembangkan, mengetahui platform di mana pengembangan akan dilakukan, sudah dimungkinkan untuk lebih atau kurang menghitung jumlah investasi untuk proyek. Dan ketika ada angka yang dihitung dan dibenarkan, maka sudah ada sesuatu untuk dibicarakan dengan investor.

Langkah selanjutnya dalam perhitungan adalah upaya untuk mengevaluasi kemungkinan laba ketika proyek tersebut dimonetisasi. Sebagai aturan, banyak yang tidak. Tetapi bagi investor momen ini juga sangat penting. Karena agar dia memutuskan untuk menginvestasikan uang, dia perlu tahu apa yang bisa dia dapatkan dari ini.

MENCIPTAKAN TK UNTUK PROYEK

Saya tidak akan membahas masalah ini dengan sangat rinci, tetapi saya akan membahas poin-poin utama yang akan membantu untuk memahami apa itu.

1. Gagasan proyek dijelaskan dengan sangat rinci. Ide ini diperdebatkan. Kenapa harus bekerja? Pesaing mana yang sudah ada di pasaran. Apa pangsa pasar mereka? Apakah pasar tertentu jenuh atau kelaparan untuk keputusan seperti itu.

2. Bagaimana monetisasi proyek direncanakan. Item ini juga dapat dikaitkan dengan pilihan platform. Ini akan menjadi aplikasi online atau versi desktop. Analisis versi mana yang lebih baik, lebih fleksibel, dan dapat diskalakan. Bagaimana pembayaran untuk aplikasi akan terjadi. Misalnya, program berbayar dengan kunci individual. Akses online ke program (situs) untuk waktu tertentu (akses terbatas), dll. Ini adalah poin penting dan Anda harus segera memikirkannya. Karena kesalahan dalam hal ini, itu dapat mengakhiri seluruh proyek di masa depan.

3. Setelah menemukan di paragraf kedua platform apa yang akan, Anda sudah dapat membangun arsitektur. Arsitektur perlu dipikirkan dengan sangat hati-hati. Jika Anda membuat kesalahan besar, Anda bisa sampai pada kesimpulan bahwa membangun fungsionalitas lebih lanjut tidak mungkin dilakukan. Jadi semua waktu dan uang terbuang sia-sia. Arsitekturnya harus semodel mungkin dengan komponen yang digabungkan secara longgar. Ini akan membantu dengan mudah menambahkan fungsionalitas baru dan mengubah yang lama.

4. Kita perlu berpikir tentang bagaimana data akan disimpan dalam database. Untuk memikirkan tabel untuk data dan komunikasi mereka. Jika proyek ini besar, Anda harus segera berpikir bukan tentang satu basis data, tetapi tentang jumlah yang lebih besar, di mana dan bagaimana menempatkannya (di server yang berbeda). Dan bagaimana mereka akan terhubung dalam satu proyek. Seringkali saya menjumpai gambar sedemikian rupa sehingga pangkalan-pangkalan itu digembungkan menjadi terabyte, dan untuk melakukan apa pun dengan mereka tidak realistis.

5. Jika diasumsikan bahwa akan ada banyak proyek berbeda berdasarkan pada satu platform, maka Anda perlu memikirkan cara kerjanya yang terbaik. Jangan sorong semua fungsi menjadi satu situs raksasa. Lebih baik mendistribusikan semuanya di server yang berbeda. Tetapi kemudian Anda harus membuat server perantara, di mana otorisasi akan terjadi, dll.

6. Anda harus segera menyediakan untuk apa yang mungkin tidak Anda butuhkan sekarang. Sejak saat Anda membutuhkannya, Anda akan menghabiskan keuangan sepuluh kali lebih banyak! Maksud saya bukan segera menciptakan fungsional, tetapi secara kasar, membangun fondasi untuk fungsional yang mungkin. Sebagai aturan, yayasan tersebut adalah IPA sendiri, berkat itu, Anda dapat melakukan berbagai hal. Misalnya, untuk menghubungkan peralatan laboratorium yang akan mencatat hasil eksperimen segera di database proyek. Atau, misalnya, akan dimungkinkan untuk menjual akses ke data Anda untuk mitra yang berbeda.

7. Setelah banyak dokumen tentang fisika telah dipelajari, esensi proyek dipahami dan berdasarkan model database ini dibuat, maka sekarang saatnya untuk berpikir tentang bagaimana data ini akan ditulis ke dalam database dan bagaimana mereka akan diperoleh dari database. Jadi, Anda perlu memikirkan melalui antarmuka di mana data akan dimasukkan. Sekarang tentang statistik, atas dasar hasil perhitungan akan dikorelasikan.

8. Penting untuk mempertimbangkan sistem modular independen untuk formula yang akan menghasilkan perhitungan. Rumus harus tidak terkait satu sama lain dan sepenuhnya independen. Dan sudah ada dalam proyek itu sendiri, kapan dan di mana diperlukan, kemudian beralih ke rumus, berikan data dan dapatkan hasilnya. Ini akan memungkinkan Anda, jika ada perubahan, untuk membuat perubahan hanya dalam modul kecil dan terpisah. Selain itu, tidak ada hal lain yang akan menderita dan tidak akan memengaruhi pekerjaan proyek itu sendiri.

9. Untuk proyek yang sedemikian kompleks, sistem diagnosa diri sangat diperlukan. Itu harus dibagi menjadi dua bagian. Yang pertama adalah diagnosis basis data, tentang kebenaran data. Bagaimanapun, kita berbicara tentang perhitungan matematika yang rumit. Jadi, bahkan kesalahan kecil (misalnya, koefisien tertentu dalam database bukan 0,5, tetapi 0,6) dapat mengakibatkan konsekuensi fatal. Untuk melakukan ini, Anda perlu memiliki beberapa data referensi yang akan diverifikasi dengan yang asli di database. Dan jika data nyata melampaui ambang yang diizinkan, maka administrator harus mengetahui ini dan memutuskan sendiri apa yang harus dilakukan dengannya. Hal yang sama berlaku untuk rumus bersama dengan parameter input. Parameter hanya boleh berada dalam margin of error.

10. Antarmuka pengguna. Pertanyaan ini juga sangat penting. Sistem harus intuitif, mudah digunakan dan jelas.

11. Sistem perlindungan data dan resistansi pencurian umum. Anda tidak boleh melupakan momen ini juga. Jika beberapa peretas dapat merusak server Anda atau mencuri data Anda, maka tidak ada urusan untuk dibicarakan.

12. Sistem pembayaran dan akses otomatis ke sistem. Proses ini harus sepenuhnya otomatis. Laporan yang jelas dan terperinci harus dibuat. Kami membutuhkan sistem untuk menganalisis data pembayaran (seperti laporan keuangan). Pemberitahuan otomatis kepada pengguna dan administrator.

13. Sistem analisis pengguna yang terperinci. Perhitungan dan tindakan mereka dalam sistem. Ini akan membantu Anda menemukan hambatan dalam proyek dan meningkatkan kualitas aplikasi Anda.

14. Lisensi. Perlindungan hak cipta. Nah, di sini tanpa komentar. Jika Anda ingin mendapatkan klien korporat yang serius, maka Anda harus memastikan bahwa solusi perangkat lunak Anda memiliki lisensi internasional yang dapat Anda percayai.

Tentu saja, ini tidak semua poin. Tetapi untuk memahami prosesnya, ini sudah cukup. Masing-masing item ini dibagi menjadi tugas yang lebih kecil. Mereka pada gilirannya juga terfragmentasi. Hasilnya adalah pohon proses besar (daun di pohon). Dan setiap proses kecil (tugas) sudah dapat dihitung secara akurat sesuai dengan biaya waktu.

Juga, pada saat ini, Anda perlu menambahkan biaya kapasitas produksi, iklan dan promosi, dan banyak lagi faktor berbeda yang tidak dapat segera dihitung, tetapi yang pasti akan muncul.

Pada tugas akhir, kerja keras dan melelahkan ini, paket dokumentasi yang layak akan muncul, dari mana Anda dapat menilai tingkat kerumitan proyek, ambisius, skala, dan biaya akhir implementasi. Dan kadang-kadang terjadi bahwa seseorang yang datang dengan ide yang menarik berpikir bahwa itu akan membutuhkan beberapa ribu dolar untuk mewujudkannya, tetapi pada kenyataannya dapat menghabiskan biaya ratusan ribu, atau bahkan jutaan dolar.

Secara alami, apa yang saya katakan di atas menyangkut pendekatan yang murni profesional. Jika Anda melakukan ini secara singkat, seperti "itu akan dilakukan," kami mendapatkan gambaran tentang mengapa sebagian besar Internet adalah tempat sampah, dan bukan karya teknologi.

Terima kasih semuanya dan sampai jumpa lagi.

Source: https://habr.com/ru/post/id393645/


All Articles