Skip to main content

Organisational Processes (Proses Organisasi) Menurut Ian Sommerville

 Pada bagian sebelumnya, saya mengenalkan suatu model untuk menggambarkan proses rekayasa sistem yang menunjukkan sub-proses yang terlibat dalam pengembangan sistem. Meskipun demikian, pengembangan sistem bukanlah satu-satunya proses yang terlibat dalam rekayasa sistem. Ada interaksi dengan proses pengadaan sistem dan juga proses penggunaan serta operasionalisasi sistem. Ilustrasinya dapat dilihat pada Gambar 1.

Gambar 1

Umumnya, pengadaan sistem terintegrasi ke dalam struktur organisasi yang akan menjadi pengguna dan pembeli sistem (disebut sebagai organisasi klien). Proses pengadaan sistem melibatkan pengambilan keputusan mengenai strategi yang paling optimal bagi organisasi untuk mendapatkan sistem yang dibutuhkan dan menentukan pemasok terbaik yang dapat menyediakan sistem tersebut.

Sistem yang kompleks dan besar umumnya terdiri dari kombinasi komponen yang telah siap pakai dan komponen yang dirancang khusus. Salah satu alasan mengapa penggunaan perangkat lunak semakin banyak dalam sistem ini adalah untuk memungkinkan penggunaan yang lebih luas dari komponen perangkat keras yang sudah ada, di mana perangkat lunak bertindak sebagai penghubung yang menggabungkan komponen perangkat keras ini agar dapat bekerja bersama secara efektif. Keberadaan "glueware" ini diperlukan karena adanya kebutuhan tersebut, dan seringkali penggunaan komponen siap pakai tidak menghasilkan penghematan sebesar yang diharapkan. Saya menjelaskan secara lebih detail tentang sistem COTS (Commercial Off-The-Shelf) ini di pembahasan berikutnya.

Pada Gambar 2 terlihat gambaran proses pengadaan, baik untuk sistem yang telah ada maupun sistem yang perlu dirancang khusus. Ada beberapa poin kunci yang perlu diperhatikan terkait proses yang tergambar dalam diagram ini, antara lain:

  1. Biasanya, komponen siap pakai tidak sepenuhnya sesuai dengan persyaratan yang ada kecuali jika persyaratan tersebut telah dipertimbangkan dengan memperhatikan komponen tersebut. Oleh karena itu, dalam memilih sistem, penting untuk menemukan kesesuaian yang paling dekat antara persyaratan sistem dengan fitur-fitur yang ditawarkan oleh sistem siap pakai tersebut. Dalam beberapa kasus, Anda mungkin perlu melakukan modifikasi pada persyaratan tersebut, dan hal ini dapat berdampak langsung pada sub-sistem lainnya.
  2. Ketika suatu sistem akan dibangun secara khusus, spesifikasi kebutuhan berperan sebagai landasan bagi kontrak pengadaan sistem. Oleh karena itu, dokumen tersebut memiliki karakteristik yang bersifat hukum dan teknis.
  3. Setelah pemilihan kontraktor untuk membangun sistem, terjadi periode negosiasi kontrak di mana Anda mungkin perlu bernegosiasi tentang perubahan persyaratan tambahan dan membahas isu-isu seperti biaya perubahan sistem.

Saya telah menguraikan tahap-tahap utama dari proses pengembangan sistem. Sistem yang kompleks umumnya dikembangkan oleh organisasi yang berbeda, yang disebut sebagai pemasok, dari organisasi yang membutuhkan sistem tersebut. Hal ini disebabkan oleh fakta bahwa dalam bisnis pengadaan, jarang terdapat organisasi yang memiliki kemampuan untuk mengembangkan sistem secara mandiri, terutama dalam kasus sistem yang kompleks. Karyawan dalam organisasi pengadaan biasanya tidak memiliki keterampilan yang diperlukan untuk mengembangkan sistem tersebut. Dalam kenyataannya, hanya sedikit organisasi yang memiliki kemampuan untuk merancang, memproduksi, dan menguji semua komponen sistem yang besar dan kompleks.

Gambar 2

Kontraktor utama, yang sering disebut sebagai pemasok, memiliki kemampuan untuk mengontrakkan pengembangan sub-sistem yang berbeda kepada sejumlah sub-kontraktor. Dalam kasus sistem yang besar, seperti sistem kontrol lalu lintas udara, sekelompok pemasok dapat membentuk konsorsium untuk bersama-sama mengajukan penawaran kontrak. Konsorsium ini harus melibatkan berbagai kemampuan yang diperlukan untuk jenis sistem tersebut, seperti pemasok perangkat keras komputer, pengembang perangkat lunak, pemasok periferal, dan pemasok peralatan spesialis seperti radar.

Pada proses pengadaan, interaksi dilakukan dengan kontraktor utama daripada subkontraktor, sehingga terdapat satu antarmuka pengadaan/pemasok yang terlibat. Subkontraktor bertanggung jawab merancang dan membangun bagian-bagian sistem sesuai dengan spesifikasi yang telah ditetapkan oleh kontraktor utama. Setelah selesai, kontraktor utama akan mengintegrasikan berbagai komponen ini dan mengirimkannya kepada pelanggan yang membeli sistem tersebut. Tergantung pada kontrak yang ada, pihak pengadaan dapat memberikan keleluasaan kepada kontraktor utama untuk memilih subkontraktor secara bebas atau meminta kontraktor utama untuk memilih subkontraktor dari daftar yang telah disetujui.

Proses operasional melibatkan penggunaan sistem untuk mencapai tujuan yang telah ditetapkan. Sebagai contoh, operator dalam sistem kontrol lalu lintas udara mengikuti prosedur tertentu saat pesawat memasuki dan meninggalkan wilayah udara, mengubah ketinggian atau kecepatan, menghadapi situasi darurat, dan sebagainya. Dalam pengembangan sistem baru, proses operasional ini harus ditentukan dan didokumentasikan dengan jelas. Operator mungkin perlu menjalani pelatihan dan proses kerja yang ada perlu disesuaikan agar dapat menggunakan sistem baru secara efektif. Pada tahap ini, masalah yang tidak terdeteksi dapat muncul karena spesifikasi sistem mungkin mengandung kesalahan atau kekurangan. Meskipun sistem dapat berfungsi sesuai dengan spesifikasi, tetapi mungkin tidak memenuhi kebutuhan operasional yang sebenarnya. Oleh karena itu, operator tidak boleh mengandalkan sistem secara langsung seperti yang direncanakan oleh perancangnya.

Keuntungan utama memiliki individu di dalam suatu sistem adalah kemampuan mereka untuk merespons situasi yang tidak terduga dengan efektif, bahkan jika mereka belum pernah mengalami situasi tersebut secara langsung. Oleh karena itu, saat terjadi kesalahan, operator seringkali dapat mengatasi situasi tersebut, walaupun kadang-kadang ini berarti melanggar prosedur yang telah ditetapkan. Operator juga menggunakan pengetahuan lokal mereka untuk menyesuaikan dan meningkatkan proses. Secara umum, proses operasional yang sebenarnya seringkali berbeda dari apa yang direncanakan oleh perancang sistem.

Hal ini mengindikasikan bahwa perancang harus merancang proses operasional dengan fleksibilitas dan kemampuan beradaptasi. Proses operasional seharusnya tidak terlalu membatasi, tidak mengharuskan operasi dilakukan dalam urutan yang kaku, dan perangkat lunak sistem tidak boleh tergantung pada proses spesifik yang sedang berlangsung. Operator biasanya melakukan penyesuaian terhadap proses karena mereka mengetahui apa yang dapat dan tidak dapat berfungsi dalam situasi nyata.

Tantangan yang mungkin muncul setelah sistem beroperasi adalah integrasi sistem baru dengan sistem yang sudah ada. Hal ini bisa mengakibatkan masalah seperti ketidakcocokan fisik antara sistem-sistem tersebut, atau kesulitan dalam mentransfer data dari satu sistem ke sistem lainnya. Masalah yang lebih kompleks mungkin timbul akibat perbedaan antarmuka pengguna antara sistem-sistem yang berbeda. Pengenalan sistem baru juga dapat meningkatkan tingkat kesalahan operator dalam menggunakan sistem yang sudah ada, karena operator harus beralih antara perintah-perintah pada antarmuka pengguna yang berbeda.



Source: Sommerville, Ian. 2007. Software Engineering Eight Edition. s.l. : Addison-. Wisley, 2007.

Comments

Popular posts from this blog

Proses Perangkat Lunak Menurut Roger S. Pressman

Suatu proses adalah gabungan dari beberapa kegiatan, aksi, dan pekerjaan yang dikerjakan saat akan membuat beberapa produk. Setiap kegiatan memiliki tujuan yang luas (seperti komunikasi dengan pemangku kepentingan) dan diterapkan secara universal, tidak peduli pada domain aplikasi, ukuran proyek, kompleksitas usaha, atau tingkat ketelitian rekayasa perangkat lunak yang digunakan. Aksi (contohnya, desain arsitektur) mencakup rangkaian tugas yang menghasilkan produk utama (sebagai contoh, model desain arsitektural). Sebuah tugas berfokus pada tujuan yang kecil namun terdefinisi dengan baik (seperti melakukan pengujian unit) yang menghasilkan hasil yang konkret. Dalam dunia rekayasa perangkat lunak, suatu proses tidaklah berarti resep yang kaku untuk membuat perangkat lunak. Sebaliknya, proses ini merupakan pendekatan yang dapat disesuaikan yang memungkinkan tim pengembang perangkat lunak untuk memilih dan mengeksekusi serangkaian tindakan dan tugas yang sesuai. Tujuannya adalah untuk sel...

Extreme Programming (XP) Menurut Roger S. Pressman

 Untuk memberikan gambaran yang lebih rinci tentang proses agile, saya akan memaparkan Extreme Programming (XP), suatu pendekatan yang banyak digunakan dalam pengembangan perangkat lunak agile. Meskipun ide dan metode yang terkait dengan XP telah muncul pada akhir 1980-an, Kent Beck telah menulis secara ekstensif mengenai topik ini. Baru-baru ini, sebuah varian XP yang disebut Industrial XP (IXP) telah diajukan. IXP telah menyempurnakan XP dan dirancang untuk digunakan khusus dalam organisasi besar dengan proses yang lebih fleksibel. 1.1 XP Values Sebuah seperangkat lima nilai yang menjadi dasar bagi seluruh pekerjaan yang dilakukan dalam XP telah didefinisikan oleh Beck. Nilai-nilai ini mencakup communication, simplicity, feedback, courage, dan respect, dan masing-masing nilai ini digunakan sebagai motivasi dalam aktivitas, tindakan, dan tugas XP yang spesifik. XP menekankan pada kolaborasi yang erat namun tidak formal secara verbal untuk mencapai komunikasi yang efektif anta...

Other Agile Process Models (Model Process Agile Lainnya) Menurut Roger S. Pressman

 Sejarah pengembangan perangkat lunak telah dicatat dengan banyak deskripsi dan metodologi proses yang telah usang, alat-alat, dan teknologi, serta notasi pemodelan. Semua hal tersebut telah mencapai popularitasnya masing-masing sebelum akhirnya digantikan oleh yang baru dan lebih baik. Dalam upaya mencapai penerimaan di komunitas pengembangan perangkat lunak, berbagai agile process model telah diperkenalkan dan bersaing satu sama lain, mengikuti pola yang sama dengan gerakan sebelumnya. Sudah saya sampaikan pada bagian terakhir bahwa Extreme Programming (XP) merupakan agile process models yang paling sering digunakan. Meskipun demikian, terdapat banyak agile process models lain yang telah diusulkan dan diterapkan dalam berbagai industri. Beberapa model yang paling umum meliputi: Adaptive Software Development (ASD) Scrum Dynamic Systems Development Method (DSDM) Crystal Feature Drive Development (FDD) Lean Software Development (LSD) Agile Modeling (AM) Agile Unified Process (AUP) P...