Kita semua telah mendengar tentang peraturan 80/20, yang mengatakan bahawa 80% kejayaan (kesan) kita datang dari hanya 20% tindakan (sebab) kita. Sebenarnya kebenaran sejagat ini juga mempengaruhi pengembangan perisian, dan dalam artikel ini kita akan melepaskan sedikit asas pernyataan ini.
BPM
Pengurusan Proses Perniagaan, dengan singkatannya dalam bahasa Inggeris, adalah disiplin pengurusan (antara lain) yang membolehkan anda memahami secara visual proses yang mesti dijalankan dalam perniagaan (atau di banyak tempat lain). Di antara kualiti utamanya adalah hakikat bahawa ia dapat menganalisis proses yang kompleks dan menjadikannya "sederhana."
Terdapat banyak alat sumber terbuka yang membolehkan anda membuat gambarajah BPM, yang telah saya gunakan untuk artikel ini ialah BonitaSoft. Sekiranya anda ingin belajar lebih banyak mengenai pengurusan proses terdapat banyak tutorial di internet dan buku mengenai perkara tersebut. Sekarang mari kita kembali ke topik utama.
Projek perisian
Hari ini terdapat banyak metodologi untuk membangunkan projek, ada tangkas, tradisional, campuran, dan lain-lain. Satu titik kesamaan mereka semua adalah penyediaan. Apa yang saya maksudkan dengan ini? 80% kejayaan anda dalam projek perisian ini akan berdasarkan 20% pertama dari keseluruhan proses, persiapan.
Menyiapkan projek
Ini adalah sesuatu yang logik yang pada hakikatnya sangat sedikit yang diterapkan (seperti banyak perkara logik lain yang tidak logik dalam praktiknya). Apabila kita bercakap mengenai persiapan, kita mesti memahami kemampuan memahami masalah, memahami jalan keluar dan yang paling penting, prosesnya bahawa penyelesaian itu berlaku. Salah satu perkara yang paling tidak dijumpai dalam projek perisian yang tidak profesional adalah kurangnya dokumentasi mengenai perkara ini. Ini biasanya muncul di syarikat swasta kerana keinginan untuk menjual melebihi proses pembuatan.
Memandangkan ramai daripada mereka yang membaca artikel ini bekerja atau berkaitan dengan teknologi, adalah wajar disebutkan bahawa jika pada bila-bila masa dalam kehidupan kerja mereka mereka menghadapi syarikat/pembekal yang tidak mematuhi penyediaan yang baik, ia adalah hampir 80% selamat bahawa projek itu ia tidak akan berjaya.
Abstraksi adalah kuncinya
Ini adalah sesuatu yang telah saya pelajari dari masa saya menggunakan GNU / Linux, dan ini membuktikan berulang kali menjadi kunci dalam proses pembuatan perisian. Kapasiti abstrak masalah untuk mengubahnya menjadi perkara yang lebih "sederhana" sangat penting untuk dapat menghasilkan kod yang elegan, dan yang paling penting tahan lama. Dan mungkin ini adalah salah satu perbezaan utama projek dan projek profesional besar yang tumbuh di luar kawalan. Yang pertama berfikir, memahami dan struktur prosesnya sementara detik mereka terus bekerja tanpa perlu memahaminya.
pentas
Ini adalah nama projek yang dibangunkan oleh pemasang Gentoo, seperti yang anda bayangkan, ini adalah proses yang cukup kompleks, kerana ia menyokong sebilangan besar seni bina. Faktor lain yang perlu dipertimbangkan adalah bilangan konfigurasi yang disokongnya, di peringkat kernel, sistem init, dll. Dan saya memberitahu anda semua ini kerana ini juga merupakan projek tesis saya, yang mesti saya selesaikan sebelum menamatkan pengajian. Jelas sekali saya tidak dapat membuat program yang mempertimbangkan semua pilihan yang mungkin dalam masa yang singkat (sehingga Julai tahun depan), tetapi sekurang-kurangnya saya dapat menghasilkan satu yang membolehkan sistem berfungsi dipasang dengan cara yang sangat asas.
Memahami proses pemasangan
Terima kasih kepada alat BPM, gambarajah proses dapat dihasilkan yang membolehkan kami memahami langkah-langkah yang diperlukan untuk kejayaan pemasangan Gentoo di komputer.
Milik. Christopher Diaz Riveros
Walaupun mengandungi beberapa proses dan sub-proses, jelas telah diringkaskan dan dapat dilihat bahawa kita mempunyai 18 langkah linear. Ini penting kerana aplikasi yang mempunyai struktur linier mudah dilaksanakan, dan pada masa yang sama paralelisme dapat dihasilkan dalam satu atau lebih utas jika perlu.
Faktor penting lain ialah ia membolehkan kita abstrak set proses mengikut jenis, misalnya, mendefinisikan utas kernel memungkinkan kita mengetahui bahawa ada tugas khusus di dalamnya yang secara langsung berkaitan dengan proses berjaya memasang kernel.
Milik. Christopher Diaz Riveros
Dengan cara ini setiap langkah "kompleks" menjadi langkah "mudah" secara global, tanpa kehilangan butiran yang diperlukan. Ini memudahkan keterlihatan pemasangan tanpa mengurangkan tahap spesifikasi yang diperlukan untuk berjaya menyelesaikan proses. Dan kita tidak boleh menafikan bahawa lebih mudah untuk melihat imej daripada membaca keseluruhan Buku Panduan sekaligus 
Menjimatkan masa
Kelebihan lain yang jelas ialah dengan tidak mempunyai bahasa pengaturcaraan yang terhubung secara langsung, adalah mungkin untuk melakukan analisis logik tanpa perlu membuang masa untuk melaksanakan bahasa tersebut. Ini adalah kelebihan jika dibandingkan dengan jumlah masa yang dapat dihabiskan untuk melaksanakan fitur hanya untuk mengetahui bahawa ia akan dibuang kerana terdapat penyelesaian yang lebih efisien. Seperti apa yang akan menjadi penyelesaian dalam pseudo-code (sesuatu yang juga diabaikan oleh banyak "pembangun" tetapi tidak seharusnya).
Mengarahkan projek menjadi mudah
Dengan mengambil kira konsep-konsep ini, pengurusan projek (apa-apa jenis) menjadi lebih mudah, kerana kami menumpukan usaha di mana ia benar-benar perlu, dan jika bahagian ini dilakukan dengan betul, selebihnya berada di bawah beratnya sendiri. Saya harap ia membantu rasa ingin tahu anda dan mendorong anda untuk menyelidik BPM, algoritma dan siapa tahu, mungkin ia akan menggalakkan anda untuk membantu saya dengan tesis saya  Terima kasih banyak kerana datang sejauh ini dan kita akan berjumpa dengan anda tidak lama lagi. salam