80/20 juga mempengaruhi penjadwalan

Kita semua telah mendengar tentang aturan 80/20, yang mengatakan bahwa 80% dari keberhasilan (akibat) kita hanya berasal dari 20% tindakan (penyebab) kita. Nah, kebenaran universal ini juga memengaruhi pengembangan perangkat lunak, dan dalam artikel ini kita akan membahas sedikit dasar-dasar pernyataan ini.

BPM

Business Process Management, singkatannya dalam bahasa Inggris, adalah disiplin manajemen (antara lain) yang memungkinkan Anda untuk memahami secara visual proses yang harus dilakukan dalam bisnis (atau di banyak tempat lain). Di antara kualitas utamanya adalah kenyataan bahwa ia dapat menganalisis proses yang kompleks dan membuatnya "sederhana".

Ada banyak tool open source yang memungkinkan Anda mengembangkan diagram BPM, salah satu yang saya gunakan untuk artikel ini adalah BonitaSoft. Jika Anda ingin belajar lebih banyak tentang manajemen proses, ada banyak tutorial di internet dan buku-buku tentang subjek tersebut. Sekarang mari kembali ke topik utama.

Proyek perangkat lunak

Saat ini ada banyak metodologi untuk mengembangkan proyek, ada yang gesit, tradisional, campuran, dll. Satu hal yang mereka semua miliki adalah persiapan. Apa yang saya maksud dengan ini? 80% kesuksesan Anda dalam proyek perangkat lunak ini akan didasarkan pada 20% pertama dari keseluruhan proses, persiapan. 

Mempersiapkan proyek

Ini adalah sesuatu yang logis yang pada kenyataannya sangat sedikit diterapkan (seperti banyak hal logis lainnya yang tidak logis dalam praktiknya). Ketika kita berbicara tentang persiapan, kita harus memahami kemampuan untuk memahami masalah, memahami solusinya, dan yang terpenting, proses bahwa solusinya berlaku. Salah satu hal yang paling sedikit ditemukan dalam proyek perangkat lunak yang tidak profesional adalah kurangnya dokumentasi tentang subjek tersebut. Ini biasanya muncul di perusahaan swasta karena keinginan menjual melebihi proses pembuatannya.

Karena banyak dari mereka yang membaca artikel ini bekerja atau terkait dengan teknologi, perlu disebutkan bahwa jika pada titik tertentu dalam kehidupan kerja mereka menemukan perusahaan / pemasok yang tidak memenuhi persiapan yang baik, hampir 80% pasti 😛 bahwa proyek itu itu tidak akan berhasil.

Abstraksi adalah kuncinya

Ini adalah sesuatu yang telah saya pelajari dari waktu saya menggunakan GNU / Linux, dan terbukti berkali-kali menjadi kunci dalam proses pembuatan perangkat lunak. Kapasitas abstrak masalah untuk mengubahnya menjadi hal-hal yang lebih "sederhana" sangat penting untuk dapat menghasilkan kode yang elegan, dan yang terpenting tahan lama. Dan mungkin inilah salah satu perbedaan utama dari proyek profesional besar dan proyek yang tumbuh di luar kendali. Yang pertama berpikir, memahami dan menyusun proses sementara detik mereka tetap bekerja tanpa perlu memahaminya.

Aktor

Ini adalah nama proyek yang dikembangkan oleh pemasang Gentoo, seperti yang dapat Anda bayangkan, ini adalah proses yang cukup rumit, karena mendukung banyak arsitektur. Faktor lain yang perlu dipertimbangkan adalah jumlah konfigurasi yang didukungnya, pada level kernel, sistem init, dll. Dan saya ceritakan semua ini karena ini juga proyek skripsi saya, yang harus saya selesaikan sebelum selesai kuliah. Jelas saya tidak dapat membuat program yang benar-benar mempertimbangkan semua opsi yang mungkin dalam waktu sesingkat itu (hingga Juli tahun depan), tetapi setidaknya saya dapat membuat program yang memungkinkan sistem fungsional dipasang dengan cara yang sangat mendasar.

Memahami proses instalasi

Berkat alat BPM, diagram proses dapat dibuat yang memungkinkan kita untuk memahami langkah-langkah yang diperlukan agar instalasi Gentoo berhasil di komputer.

Proses instalasi Gentoo

Sendiri. Christopher Diaz Riveros

Meskipun mengandung beberapa proses dan subproses, namun jelas telah cukup terangkum dan dapat dilihat bahwa kita mempunyai 18 langkah linier. Ini penting karena aplikasi yang memiliki struktur linier mudah diimplementasikan, dan pada saat yang sama, paralelisme dapat dibuat di satu atau beberapa utas jika perlu.

Faktor penting lainnya adalah memungkinkan kita abstrak kumpulan proses berdasarkan jenis, misalnya, mendefinisikan utas kernel memberi tahu kita bahwa ada tugas khusus di dalamnya yang secara langsung terkait dengan proses pemasangan kernel yang berhasil.

Sub-proses "kernel"

Sendiri. Christopher Diaz Riveros

Dengan cara ini, setiap langkah "kompleks" menjadi langkah "sederhana" secara global, tanpa kehilangan detail yang diperlukan. Ini memfasilitasi visibilitas perakitan tanpa menurunkan tingkat spesifikasi yang diperlukan untuk memenuhi proses dengan sukses. Dan kami tidak dapat menyangkal bahwa lebih mudah untuk melihat gambar daripada membaca seluruh Buku Pegangan sekaligus 🙂

Menghemat waktu

Keuntungan lain yang jelas adalah bahwa dengan tidak memiliki bahasa pemrograman yang terhubung langsung, dimungkinkan untuk melakukan analisis logika tanpa harus membuang waktu untuk mengimplementasikan bahasa tersebut. Ini merupakan keunggulan dibandingkan dengan jumlah waktu yang dapat dihabiskan untuk mengimplementasikan fitur hanya untuk mengetahui bahwa fitur tersebut akan dibuang karena ada solusi yang lebih efisien. Seperti apa solusi dalam pseudo-code (sesuatu yang juga diabaikan oleh banyak "pengembang" tetapi seharusnya tidak demikian).

Mengarahkan proyek menjadi mudah

Dengan mempertimbangkan konsep-konsep ini, manajemen proyek (dalam bentuk apa pun) menjadi lebih mudah, karena kami memfokuskan upaya kami di tempat yang benar-benar diperlukan, dan jika bagian ini dilakukan dengan benar, sisanya berada di bawah bobotnya sendiri. Semoga membantu keingintahuan kalian dan memotivasi kalian untuk meneliti tentang BPM, algoritmik dan siapa tahu, mungkin itu akan mendorong kalian untuk membantu saya dengan tesis saya 😛 Terima kasih banyak sudah sampai disini dan kita akan segera bertemu. salam


tinggalkan Komentar Anda

Alamat email Anda tidak akan dipublikasikan. Bidang yang harus diisi ditandai dengan *

*

*

  1. Penanggung jawab data: Miguel Ángel Gatón
  2. Tujuan data: Mengontrol SPAM, manajemen komentar.
  3. Legitimasi: Persetujuan Anda
  4. Komunikasi data: Data tidak akan dikomunikasikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Basis data dihosting oleh Occentus Networks (UE)
  6. Hak: Anda dapat membatasi, memulihkan, dan menghapus informasi Anda kapan saja.

  1.   alexander mayorga munoz dijo

    Hai. Terima kasih telah membagikan pengetahuan Anda. Bagi saya ini adalah subjek yang menarik tetapi membutuhkan banyak penelitian dan mempraktikkan konsep-konsep untuk dapat menginternalisasinya. Pada awalnya masalah ini membingungkan karena orang cenderung mengaitkannya lebih pada mengidentifikasi persyaratan untuk suatu sistem dan tidak harus dengan proses bisnis perusahaan, yaitu bagaimana perusahaan bekerja. Pada akhirnya, saya pikir ini lebih tentang peran yang dimainkan oleh pengembang perangkat lunak dalam pemodelan bisnis perusahaan, untuk membuat operasi bisnis lebih efisien dan efektif.

    1.    ChrisADR dijo

      Hai Alexander, terima kasih banyak telah berbagi. Sejujurnya, ini adalah topik yang agak rumit untuk mencoba meringkas semuanya dalam ruang sekecil itu, tetapi jika saya dapat berkontribusi sedikit untuk keluar dari kebingungan dengan komentar Anda 🙂 memang benar bahwa sistem harus mencoba menyelesaikan persyaratan, itu adalah fungsionalitas dasar yang paling mungkin, dan pada saat itu memang benar bahwa pengembang harus fokus pada level yang lebih tinggi.
      Pengetahuan tentang proses memungkinkan pengembang untuk menyajikan lebih dari cukup sistem, cukup memahami sebagai sesuatu yang memenuhi persyaratan minimum yang mungkin.
      Keanggunan kode terletak pada kemampuan untuk memahami proses lengkap, dan menghasilkannya dengan cara yang lebih dalam, di mana solusi terbaik diterapkan, dan ini hanya mungkin dengan benar-benar memahami proses daripada persyaratan, seperti yang Anda sebutkan dengan baik. 🙂
      Jika kita memodelkannya sedikit di sekitar FOSS, ini menyiratkan tidak hanya mengetahui persyaratan perangkat lunak, tetapi juga filosofi di baliknya, dan mengetahui bagaimana hal itu akan dipertahankan, oleh siapa, dan semua pengetahuan tentang proses yang tidak hanya menghasilkan solusi yang efisien. ., tetapi akan memungkinkan untuk dipertahankan seiring waktu 🙂
      Sekali lagi terima kasih dan salam.