Memahami System Development Life Cycle (SDLC) untuk Keberhasilan Proyek Teknologi Informasi

Memahami System Development Life Cycle (SDLC) untuk Keberhasilan Proyek Teknologi Informasi - CARI NILAI.
System Development Life Cycle (SDLC)

SDLC atau System Development Life Cycle adalah suatu kerangka kerja dalam pengembangan sebuah sistem, terutama yang melibatkan perangkat lunak atau software. SDLC terdiri dari beberapa fase yang di setiap fasenya memiliki serangkaian aktivitas. Tujuan dari SDLC adalah memastikan bahwa sistem yang dibuat atau dikembangkan dengan kualitas maksimal dan dengan biaya minimum. Selain itu, SDLC juga berperan untuk meminimalisasi risiko melalui perencanaan ke depan sehingga sistem sesuai dengan ekspektasi. Sejalan dengan tujuan SDLC, tim pengembang sistem biasanya menggunakan SDLC sebagai metode untuk efisiensi waktu dan biaya dalam pengembangan suatu sistem yang berkualitas dan memenuhi ekspektasi pemangku kepentingan dari sistem tersebut.

Tulisan ini akan membahas:

URGENSI SDLC

SDLC sangat penting dalam pengembangan sistem berkualitas tinggi karena ia menyediakan framework yang terstruktur dalam pengembangan proyek secara keseluruhan. Berdasarkan Dennis et. al. (2021), AWS (n.d.), dan Opentext (n.d.) terdapat beberapa poin penting yang menunjukkan betapa pentingnya SDLC dalam pengembangan sistem, yaitu SDLC menyediakan (1) perencanaan dan eksekusi yang sistematik, (2) manajemen proyek yang lebih baik, (3) perbaikan berkelanjutan, serta (4) pendekatan bertahap.

PERENCANAAN DAN EKSEKUSI YANG SISTEMATIK (SYSTEMATIC PLANNING AND EXECUTION)

SDLC menyediakan framework dan metodologi yang sistematik untuk suatu proyek pengembangan sistem. Hal ini memungkinkan tim pengembang untuk dapat menganalisis persyaratan, estimasi biaya, dan membuat rencana yang komprehensif sebelum proyek pengembangan sistem dimulai.

MANAJEMEN PROYEK YANG LEBIH BAIK (ENHANCED MANAGEMENT PROJECT)

Penerapan SDLC dapat meningkatkan visibilitas dalam pengembangan suatu sistem bagi seluruh pemangku kepentingan yang dimungkinkan dengan:
  1. Output yang Jelas. Penerapan fase-fase dalam siklus SDLC memastikan setiap tahapan terdefinisi dan terdokumentasi dengan baik dan jelas. Hal ini mempermudah pemangku kepentingan untuk memahami kegiatan yang terjadi dan output yang dihasilkan di setiap tahapan. Pengembangan sistem tanpa menerapkan SDLC juga kerap kali menghadapi kesulitan dalam menangani persyaratan yang rumit. Ashraf (2019) dalam penelitiannya mengemukakan bahwa tim pengembang internal (in-house developer team) mungkin saja akan kehilangan gambaran besar dari keseluruhan sistem dikarenakan fokus terhadap permasalahan-permasalahan yang lebih kecil yang dihadapi dalam proses pengembangan. Hal ini memungkinkan sistem yang dihasilkan menawarkan solusi yang tidak memadai dan gagal dalam memenuhi kebutuhan bisnis yang dikehendaki. Saat SDLC diterapkan dengan baik, tim pengembang dan manajemen dapat berkolaborasi bersama secara efektif untuk menghasilkan solusi yang dikehendaki tersebut.
  2. Dokumentasi yang Komprehensif. Pembuatan dan pemeliharaan dokumentasi sangat ditekankan dalam SDLC. Hal ini termasuk spesifikasi persyaratan, dokumen desain, rencana pengujian, dan panduan pengguna. Dokumentasi yang komprehensif ini memberikan catatan yang transparan mengenai kemajuan dan keputusan proyek sehingga dapat membantu pemangku kepentingan untuk meninjau dan mengetahui kondisi dari proyek pengembangan yang dilakukan. Selain itu, tanpa SDLC, tim pengembang mungkin akan melakukan dokumentasi yang kurang memadai, yang hanya ditujukan untuk membantu program berjalan. Hal ini berpotensi menimbulkan kesulitan dalam reproduksi sistem dan pemecahan masalah karena tidak ada informasi menyeluruh yang dibutuhkan baik untuk pembuatan maupun pemeliharaannya (Ashraf, 2019).
  3. Peninjauan dan Persetujuan yang Reguler dan Berjenjang. SDLC menerapkan proses review dan approval pada setiap tahapannya, seperti review terhadap desain atau approval terhadap source code. Hal ini senantiasa memastikan bahwa para pemangku kepentingan pada setiap jenjang selalu mendapat informasi dan memiliki kesempatan untuk memberikan feedback, serta mengambil keputusan pada tahap-tahap penting sehingga meningkatkan transparansi dan akuntabilitas dalam proses pengembangan.
  4. Penelusuran dan Pelaporan. Penggunaan alat dan metodologi dalam SDLC, seperti project management software atau agile board memungkinkan tim pengembang dan pemangku kepentingan untuk melihat status dari tugas serta meninjau progress tugas tersebut. Penelusuran secara real-time serta pelaporan yang rutin menggunakan alat dan metodologi tadi menyediakan informasi yang up-to-date atas status dari proyek, tugas selanjutnya, dan potensi masalah yang mungkin akan terjadi. Agile Board atau biasa juga disebut dengan Task Board sendiri adalah visual framework yang biasa digunakan pada metodologi agile development seperti SCRUM atau KANBAN.
  5. Peran dan Tanggung Jawab. Model SDLC mendefinisikan secara jelas peran dan tanggung jawab dari setiap anggota tim. Selain itu, model SDLC juga memastikan bahwa setiap orang mengetahui tugas dan konstribusi mereka. Hal ini menjaga akuntabilitas dan memfasilitasi komunikasi dan kolaborasi yang lebih baik di antara anggota tim dan pemangku kepentingan.
  6. Manajemen Risiko. Dengan mengidentifikasi risiko pada tahap perencanaan serta melakukan pemantauan terhadap risiko tersebut, pengelolaan dan mitigasi risiko dimungkinkan untuk dilakukan secara proaktif. Visibilitas ini membantu dalam memastikan bahwa masalah dapat segera diatasi sehingga menjaga kepercayaan dari pemangku kepentingan.

PERBAIKAN BERKELANJUTAN (CONTINOUS IMPROVEMENT)

Dengan SDLC, tim pengembang dapat menguji sistem secara ekstensif terlebih dahulu sebelum kemudian merilis sistem tersebut. Sepanjang siklus SDLC, proses peninjauan kembali dan pengkoreksian pekerjaan yang telah diselesaikan sebelumnya tersebut disebut dengan Gradual Refinement. Hal ini memberikan fondasi untuk menilai efektivitas sistem, mendorong kinerja tinggi dan perbaikan berkelanjutan.

PENDEKATAN BERTAHAP (PHASED APPROACH)

Setiap fase dalam SDLC menguraikan dan menyempurnakan pekerjaan yang telah dilakukan sebelumnya, sehingga menghasilkan output yang terstruktur dengan baik. Fase-fase tersebut memastikan proses pengembangan atas suatu sistem secara sistematis, dimulai dari proses perencanaan hingga implementasi.

FASE SDLC

Seperti yang telah dijelaskan sebelumnya, SDLC terdiri dari beberapa fase. Beberapa literatur menyebutkan fase terdiri dari 7 tahapan, yaitu perencanaan, analisis, desain, pengembangan, pengujian, implementasi dan integrasi, serta pemeliharaan. Di literatur lainnya, menyatakan bahwa SDLC terdiri dari 6 tahapan, yaitu perencanaan, analisis, desain, implementasi dan penerapan, pengujian dan integrasi, serta pemeliharaan. Pada tulisan ini, fase SDLC akan dijabarkan berdasarkan Dennis, et. al. (2021) yang membaginya menjadi 4 tahapan, yaitu (1) perencanaan, (2) analisis, (3) desain, dan (4) implementasi.

PERENCANAAN (PLANNING)

Fase perencanaan adalah fase yang fundamental dalam SDLC. Pada fase ini terdapat 2 buah pertanyaan yang harus dapat dijawab dan dipahami, yaitu (1) kenapa sistem informasi tersebut harus dibuat/dikembangkan; dan (2) bagaimana tim pengembang akan mengembangkannya. Secara garis besar, fase perencanaan dibagi menjadi 2 kegiatan, yaitu:
  1. Inisiasi Proyek / Project Initiation
    Pada kegiatan ini tim pengembang melakukan identifikasi business value yang dapat dilakukan dengan:
    • mengidentifikasi bagaimana cara menurunkan biaya;
    • mengidentifikasi bagaimana cara meningkatkan pendapatan;
    Hasil identifikasi tersebut akan menjadi ide untuk sistem yang baru dan dituangkan dalam system request. System request adalah ringkasan singkat terkait kebutuhan bisnis (business needs) yang juga menjelaskan bagaimana suatu sistem akan memenuhi kebutuhan tersebut untuk menghasilkan nilai (business values). Setelah system request dibuat, maka feasibility analysis akan dilakukan. Feasibility analysis adalah analisa yang dilakukan untuk menilai viabilitas atau kelangsungan hidup dari suatu proyek. Analisis ini dilakukan untuk menentukan apakah proyek akan dilanjutkan atau tidak dengan menilai kelayakan proyek secara ekonomi, teknis, dan secara organisasional.
    Secara garis besar, output dari fase perencanaan adalah system request dan laporan feasibility analysis. Kedua output ini kemudian akan diserahkan kepada approval committee atau steering committee untuk mendapatkan persetujuan.
  2. Manajemen Proyek / Project Management
    Kegiatan ini akan dimulai saat proyek telah mendapatkan persetujuan dari approval committee. Saat telah memasuki kegiatan ini, manajer proyek (project manager) akan mulai membuat rencana kerja atau workplan. Workplan adalah dokumen penjadwalan yang bersifat dinamis yang merekam seluruh tugas yang perlu diselesaikan dalam sebuah proyek. Setelah itu tim pengembang akan membuat rencana proyek atau project plan. Project plan adalah dokumen perencanaan yang menjabarkan bagaimana tim pengembang akan melakukan pengembangan sistem yang baru (to-be-system).

ANALISIS (ANALYSIS)

Pada fase ini, tim pengembang menganalisa sistem yang saat ini digunakan (as-is-system) untuk mengidentifikasi peluang peningkatan guna membuat atau mengembangkan konsep untuk sistem yang baru. Selama fase analisis, terdapat 3 pertanyaan yang harus dijawab dan dipahami, yaitu (1) siapa yang akan menggunakan sistem yang baru, (2) apa yang akan dilakukan sistem yang baru, dan (3) kapan dan di mana sistem yang baru akan digunakan. Secara garis besar, fase analisis dibagi menjadi 3 tahapan, yaitu:
  1. Strategi Analisis / Analysis Strategy
    Strategi analisis dikembangkan untuk memandu tim pengembangan dalam menganalisa as-is-system, permasalahan yang dihadapi as-is-system, serta langkah-langkah yang dapat dijalankan untuk mendesain to-be-system.
  2. Pengumpulan Persyaratan / Requirements Gathering
    Pengumpulan persyaratan dilakukan dengan menggunakan tehnik-tehnik pengumpulan peryaratan (requirements gathering techniques) untuk menghasilkan informasi yang dibutuhkan. Setelah itu, tim pengembang membuat system concept yang berasal dari kombinasi (1) informasi hasil pengumpulan persyaratan, (2) input dari project sponsor, dan (3) input dari pihak lain.
    System concept sendiri adalah dasar yang digunakan dalam pengembangan sebuah model analisis bisnis (business analysis models). Sedangkan business analysis models adalah model yang menjabarkan bagaimana bisnis akan beroperasi saat sistem yang baru dikembangkan.
  3. Proposal Sistem / System Proposal
    Proposal sistem adalah dokumen yang merupakan kombinasi dari hasil strategi analisis, konsep sistem, dan model analisis bisnis. Proposal sistem akan dipresentasikan kepada project sponsor dan para pengambil keputusan untuk menentukan apakah proyek akan diteruskan, direvisi, atau dihentikan. Dokumen proposal sistem ini adalah langkah awal untuk mendesain sistem yang baru di mana di dalamnya menjabarkan persyaratan bisnis yang harus dipenuhi oleh sistem yang baru.

DESAIN (DESIGN)

Fase desain menekankan tim pengembang untuk dapat menjawab dan memahami pertanyaan bagaimana sistem akan beroperasi terkait (1) hardware, software, dan infrastruktur jaringan, (2) antarmuka pengguna, forms, dan laporan, serta (3) program, database, dan files yang spesifik yang akan dibutuhkan. Pada fase ini, terdapat 4 tahapan, yaitu:
  1. Strategi Desain / Design Strategy
    Design strategy memutuskan bagaimana sistem akan dihadirkan. Berbagai pilihan untuk membuat atau mengembangkan sistem akan diputuskan, yakni (1) dibuat secara mandiri oleh tim pengembang dari perusahaan, (2) membeli sistem yang telah tersedia di pasaran, atau (3) menggunakan jasa pihak eksternal atau outsource dalam pengembangannya.
  2. Desain Arsitektur / Architecture Design dan Desain Antarmuka / Interface Design
    Architecture design menjabarkan hardware, software, dan infrastruktur jaringan yang akan digunakan. Sedangkan interface design menspesifikasikan terkait bagaimana pengguna akan berinteraksi dengan sistem, serta forms dan laporan yang akan digunakan oleh sistem.
  3. Spesifikasi File dan Basis Data / Database and File Specifications
    Database and file specifications mendefinisikan data apa yang akan disimpan dan di mana data tersebut akan disimpan.
  4. Desain Program / Program Design
    Program design mendefinisikan program yang harus dibuat dan apa yang akan dilakukan oleh masing-masing program tersebut.
Keseluruhan output dari tahapan dalam fase desain disebut dengan spesifikasi sistem atau system specification. System specification berisikan strategi desain, desain arsitektur dan desiain antarmuka, spesifikasi file dan basis data, serta desain program yang nantinya akan diserahkan kepada tim pemrograman untuk diimplementasikan.
Di akhir fase design, feasibility analysis dan project plan akan diperiksa kembali dan apabila diperlukan akan direvisi. Berdasarkan hasil tinjauan dan revisi tersebut, tidak jarang keputusan akan dibuat ulang oleh project sponsor dan approval committee terkait keberlangsungan proyek.

IMPLEMENTASI (IMPLEMENTATION)

Fase akhir dari SDLC adalah implementasi. Pada fase ini, sistem akhirnya secara aktual dikembangkan. Fase ini merupakan fase yang paling sering mendapatkan perhatian karena hampir keseluruhan bagian dari pengembangan suatu sistem, biasanya fase ini yang membutuhkan waktu paling lama dan biaya paling besar. Fase ini terdiri dari 3 kegiatan, yaitu:
  1. Konstruksi Sistem / System Construction
    Sistem yang dikembangkan akan diuji untuk memastikan bahwa sistem tersebut berjalan sesuai dengan kinerja yang diinginkan. Pengujian sistem ini menjadi suatu hal yang krusial karena kebanyakan apabila di kemudian hari ditemukan adanya cacat atau bug pada sistem, hal tersebut akan menimbulkan biaya yang cukup besar untuk mengatasinya. Pada sebagian besar praktik pengembangan sistem, perusahaan akan memberikan waktu dan perhatian yang lebih pada proses pengujian daripada proses pembuatan program itu sendiri.
  2. Instalasi Sistem / System Installation dan Perencanaan Pelatihan / Training Plan
    System installation adalah kegiatan mengganti sistem yang lama dengan sistem yang baru. Sistem yang lama akan dihentikan penggunaannya, kemudian sistem yang baru akan mulai digunakan menggantikan sistem yang lama. Training plan juga akan dikembangkan saat proses instalasi akan berlangsung. Ini merupakan salah satu aspek yang juga krusial dalam proses konversi sistem yang lama ke sistem yang baru. Training plan bertujuan untuk melatih para pengguna untuk dapat menggunakan sistem yang baru serta membantu dalam mengelola perubahan yang terjadi karena konversi sistem.
  3. Perencanaan Dukungan / Support Plan
    Support plan biasa terdiri dari tinjauan formal maupun informal yang dilakukan pasca implementasi sistem. Selain itu, support plan juga terdiri dari langkah-langkah sistematik untuk mengidentifikasi perubahan, baik mayor maupun minor, yang diperlukan oleh sistem yang baru.

REFERENSI

  1. Ashraf, S.N. (2019). Impact of the Software Development Life Cycle on Software Development. International Journal of Computer Applications, 178(18), 38-46.
  2. AWS. (n.d.). What is SDLC (Software Development Lifecycle)?. Retrieved June 12, 2024.
  3. Dennis, A., Wixom, B. H., & Tegarden, D. (2021). System Analysis & Design: An Object-Oriented Approach with UML (6th ed.). Hoboken, NJ: Wiley.
  4. OpenText. (2024). What is the SDLC?. Retrieved June 12, 2024.
Memahami System Development Life Cycle (SDLC) untuk Keberhasilan Proyek Teknologi Informasi Memahami System Development Life Cycle (SDLC) untuk Keberhasilan Proyek Teknologi Informasi Reviewed by Author on Juni 13, 2024 Rating: 5

3 komentar:

  1. Kenapa fase implementasi membutuhkan banyak perhatian dan waktu?

    BalasHapus
    Balasan
    1. Secara garis besar, fase implementasi membutuhkan perhatian dan waktu yang sangat besar karena:
      1. Critical Point dalam Fungsionalitas Sistem
      - Membangun Sistem Aktual. Fase ini adalah titik krusial di mana desain konseptual diubah menjadi sistem yang berfungsi. Oleh karena itu, sangat penting untuk memastikan semua komponen bekerja dengan baik.
      - Pengujian Ekstensif. Untuk memastikan sistem berfungsi sebagaimana mestinya, dibutuhkan pengujian yang menyeluruh, termasuk pengujian unit, integrasi, dan sistem untuk mendeteksi bug dan memastikan kualitas.

      2. Manajemen Risiko
      - Identifikasi dan Mitigasi Risiko: Potensi bug atau kesalahan yang muncul di kemudian hari dapat menyebabkan biaya perbaikan yang tinggi dan gangguan operasional yang signifikan. Oleh karena itu, risiko-risiko ini harus diidentifikasi dan diminimalkan sejak awal.
      - Biaya dan Efisiensi. Mengidentifikasi dan memperbaiki masalah selama fase implementasi lebih efisien dan ekonomis dibandingkan memperbaiki masalah setelah sistem diluncurkan.

      3. Kepuasan User
      - User Training dan Support. End user harus dapat menggunakan sistem dengan mudah dan efektif. Oleh karena itu, fase ini melibatkan penyusunan rencana pelatihan dan dukungan untuk memastikan user dapat mengoperasikan sistem dengan baik dan masalah mereka dapat diselesaikan dengan cepat.
      - Penyampaian Nilai. Sistem yang berhasil tidak hanya memenuhi kebutuhan teknis tetapi juga memberikan nilai tambah bagi user, meningkatkan kepuasan dan adopsi user.

      Itulah beberapa sudut pandang yang menyebabkan perhatian perusahaan cukup tinggi pada fase ini dan kenapa fase ini membutuhkan waktu yang cukup panjang.

      Hapus
    2. Ini ada tulisan yang sedikit banyak memuat pentingnya implementasi dalam SDLC jika berminat :).

      https://www.linkedin.com/pulse/why-implementation-so-important-software-development-process-echon

      Hapus

Diberdayakan oleh Blogger.