80/20 juga mempengaruhi penjadualan

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.

Oleh kerana banyak dari mereka yang membaca artikel ini berfungsi atau berkaitan dengan teknologi, perlu disebutkan bahawa jika pada suatu ketika dalam kehidupan kerja mereka menemui syarikat / pembekal yang tidak memenuhi persiapan yang baik, hampir 80% pasti 😛 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.

Proses pemasangan Gentoo

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.

Sub-proses "kernel"

Milik. Christopher Diaz Riveros

Dengan cara ini setiap langkah "kompleks" menjadi "sederhana" secara global, tanpa kehilangan butiran yang diperlukan. Ini memudahkan penglihatan pemasangan tanpa menurunkan tahap spesifikasi yang diperlukan untuk menyelesaikan proses dengan jayanya. Dan kita tidak dapat menafikan bahawa lebih mudah untuk melihat gambar 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 (dalam bentuk apa pun) menjadi lebih mudah, kerana kita menumpukan usaha kita di mana ia benar-benar diperlukan, dan jika bahagian ini dilakukan dengan betul, selebihnya berada di bawah beratnya sendiri. Saya harap ini dapat membantu anda ingin tahu dan memotivasi anda untuk meneliti BPM, algoritma dan siapa tahu, mungkin ini akan mendorong anda untuk membantu saya dalam tesis saya 😛 Terima kasih banyak kerana sampai di sini dan kami akan berjumpa dengan anda tidak lama lagi. Sorakan


Tinggalkan komen anda

Alamat email anda tidak akan disiarkan. Ruangan yang diperlukan ditanda dengan *

*

*

  1. Bertanggungjawab atas data: Miguel Ángel Gatón
  2. Tujuan data: Mengendalikan SPAM, pengurusan komen.
  3. Perundangan: Persetujuan anda
  4. Komunikasi data: Data tidak akan disampaikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Pangkalan data yang dihoskan oleh Occentus Networks (EU)
  6. Hak: Pada bila-bila masa anda boleh menghadkan, memulihkan dan menghapus maklumat anda.

  1.   alexander mayorga munoz kata

    Hai. Terima kasih kerana berkongsi pengetahuan anda. Nampaknya saya adalah subjek yang menarik tetapi memerlukan banyak kajian dan menerapkan konsep untuk mempraktikkannya. Pada mulanya masalah ini membingungkan kerana seseorang cenderung mengaitkannya lebih jauh dari sisi mengenal pasti keperluan untuk sistem dan tidak semestinya dengan proses perniagaan syarikat, iaitu bagaimana syarikat itu berfungsi. Pada akhirnya, saya kira ini lebih berkaitan dengan peranan yang dimainkan oleh pembangun perisian dalam membentuk perniagaan syarikat, agar operasi perniagaan menjadi lebih cekap dan berkesan.

    1.    ChrisADR kata

      Helo Alexander, terima kasih banyak untuk berkongsi. Sejujurnya, adalah subjek yang agak rumit untuk mencuba merangkum semua perkara di ruang yang begitu kecil, tetapi jika saya dapat memberikan sedikit sumbangan untuk keluar dari kekeliruan dengan komen anda 🙂 memang benar bahawa sistem mesti berusaha menyelesaikan keperluan, iaitu adalah fungsi asas yang paling mungkin, dan pada masa itu adalah benar bahawa pemaju harus fokus pada tahap yang lebih tinggi.
      Pengetahuan mengenai proses membolehkan pembangun untuk membentangkan lebih daripada sistem yang mencukupi, pemahaman yang cukup sebagai sesuatu yang memenuhi syarat minimum yang mungkin.
      Keanggunan kod terletak pada kemampuan untuk memahami proses yang lengkap, dan menghasilkannya dengan cara yang lebih mendalam, di mana penyelesaian terbaik dapat digunakan, dan ini hanya mungkin dilakukan dengan benar-benar memahami proses daripada keperluan, seperti yang anda nyatakan sebelumnya 🙂
      Sekiranya kita memodelkannya sekitar FOSS, ini tidak hanya bermaksud mengetahui keperluan perisian, tetapi falsafah di baliknya, dan mengetahui bagaimana ia akan dikekalkan, oleh siapa, dan semua pengetahuan mengenai proses yang tidak hanya menghasilkan penyelesaian yang cekap. , tetapi mungkin dapat dikekalkan dari masa ke masa 🙂
      Terima kasih sekali lagi dan salam.