Tujuan Pembuatan Software

Alasan perusahaan berinvestasi dalam perangkat lunak adalah untuk membuat pekerjaan lebih mudah – bukan? Lalu mengapa begitu banyak pengguna menertawakan ide itu?

Setelah meninjau proyek besar saya menemukan tujuh alasan mengapa perangkat lunak tidak membuat pekerjaan lebih mudah. Melihat daftar saya menyadari bahwa itu tidak hanya terbatas pada proyek yang satu ini, tetapi umum di banyak organisasi dan di banyak program.

1. Proses dan prosedur tidak ditulis bersama dengan perangkat lunak

Orang yang menulis prosedur tidak memasukkan perangkat lunak spesifik dalam alur. Ini kemudian menghasilkan perangkat lunak yang menjadi hambatan bagi alur kerja.

Dalam proyek yang diselidiki, orang yang menulis prosedur tidak menggunakan perangkat lunak dan tidak mengetahui fitur yang tersedia. Pengujian Perangkat Lunak Sebenarnya apa yang terjadi adalah seseorang berfokus pada prosedur sementara orang lain didelegasikan untuk membuat perangkat lunak melakukan apa yang diperlukan. Pemecahan tanggung jawab ini adalah konsep yang salah.

2. Konfigurasi

Semakin besar paket perangkat lunak, semakin banyak yang perlu dikonfigurasi atau disesuaikan untuk klien. Waktu mengonfigurasi sistem dengan benar adalah investasi dalam keberhasilan proyek.

Sebagai perpanjangan dari poin pertama, ditemukan bahwa perangkat lunak tidak benar-benar dikonfigurasi untuk memenuhi persyaratan pengguna, bisnis, atau pelanggan. Bukannya tidak bisa, tetapi tidak ada yang menginvestasikan waktu untuk sepenuhnya mengatur sistem.

Ketika meluncurkan proyek besar, ada penekanan kuat untuk menjadi “tepat waktu” dan “pada anggaran”. Ketika datang ke “pada kualitas” fokusnya jasa pembuatan software adalah sering pada memastikan perangkat lunak bekerja – yaitu, itu tidak bermasalah. Uji penuh “pada kualitas” perlu diperluas untuk memasukkan yang dikonfigurasi dengan benar.

Aspek besar konfigurasi adalah bahwa hal itu dapat dilakukan dengan relatif mudah. Untuk memperjelas, lebih mudah daripada memodifikasi kode program yang sebenarnya dan melepaskannya. Konfigurasi dimaksudkan sebagai cara untuk mengubah perangkat lunak agar benar-benar memenuhi kebutuhan pengguna.

Yang berarti bahwa ketika program diluncurkan, dan pengguna mulai menggunakannya, program tersebut dapat disesuaikan untuk memenuhi persyaratan yang sebenarnya. Ini berarti bahwa setelah digunakan untuk beberapa waktu dan persyaratan berubah bahwa perangkat lunak dapat beradaptasi dengannya.

Asalkan seseorang melakukannya.

3. Kurang pelatihan

Sekarang ada banyak cara untuk memberikan pengetahuan kepada pengguna. Mereka termasuk:

Perangkat lunak yang ditata dengan benar dengan label yang berarti, dll
Kiat (kotak informasi pop-up dalam perangkat lunak)
Bantuan (F1)
Manual
Wiki
Webinar
Video pelatihan
Pelatihan online
Pelatihan satu lawan satu (atau kelompok kecil)
Pelatihan kelompok
Dengan begitu banyak pilihan yang tersedia, sungguh menakjubkan betapa buruknya pengguna. Sebagian alasannya adalah bahwa ada sejumlah pertanyaan mendasar yang perlu dijawab:

Secara umum, bagaimana Anda menggunakan perangkat lunak?
Khusus untuk tugas atau peran yang diberikan, bagaimana Anda menggunakan perangkat lunak?
Apa yang perlu diketahui pengguna untuk tugas sehari-hari?
Apa yang perlu diketahui pengguna saat terjadi kesalahan, atau untuk tugas yang jarang terjadi?
Apa yang perlu diketahui pengguna lanjut?
Relatif mudah bagi pengembang untuk membuat dokumen tentang apa yang dilakukan oleh program, tetapi mereka tidak dapat menulis manual tentang apa yang harus dilakukan oleh pengguna. Ini kembali ke poin pertama tentang prosedur yang menghubungkan dengan perangkat lunak.

Jadi pelatihan perlu fokus pada proses dan prosedur sebanyak cara menggunakan perangkat lunak.

Perlu juga ada beberapa lapis pelatihan, mulai dari pelatihan sehari-hari hingga pelatihan lanjutan dari staf kunci.

4. Fungsionalitas saja, bukan efisiensi

Sebagian besar pengembangan proyek hanya berfokus pada memastikan sesuatu dapat dicapai. Ada sedikit atau tidak ada fokus pada efisiensi operasional atau efisiensi database.

Ada tinjauan berkala terhadap aspek-aspek sistem yang berkinerja sangat buruk, tetapi hanya ada sedikit pertimbangan tentang seberapa efisien suatu tugas dapat dicapai.

Dasar dari perangkat lunak yang baik adalah konsep “ia harus membuat hidup lebih mudah”. Ini dimulai dengan spesifikasi, tetapi perlu mengalir melalui tahap desain, pengujian dan rilis. Perangkat lunak perlu beradaptasi untuk memastikan bahwa itu tetap mudah digunakan.

Saya pribadi merekomendasikan agar para pengembang dipaksa untuk duduk secara anonim di belakang pelatihan sementara pengguna baru diperlihatkan cara menggunakan perangkat lunak. Pengembang tidak diperbolehkan untuk berkomunikasi dengan pengguna dengan cara apa pun, tetapi hanya harus menonton. Para pengguna akan tersandung mencoba mencapai sesuatu, mereka akan menekan tombol yang salah, pergi ke layar yang salah, dan seringkali pada akhirnya akan menyerah. Atau mereka akan bersumpah betapa berbahayanya itu. Pengembang akan meninggalkan ruangan dengan ide-ide bagus tentang bagaimana membuat sistem lebih cepat dan lebih mudah digunakan, atau akan mengeluh tentang betapa bodohnya pengguna. Anda sekarang tahu pengembang mana yang Anda simpan, dan pengembang mana yang ingin Anda lepas.

5. Pengembangan fokus proyek

Untuk proyek yang sedang ditinjau, pengembangan terutama disponsori melalui kontrak baru yang dimenangkan oleh bisnis.

Fitur-fitur baru diintegrasikan ke dalam fitur yang ada jika memungkinkan, atau dirancang sedemikian rupa sehingga kontrak lain akan mendapat manfaat darinya sehingga terjadi peningkatan secara keseluruhan. Namun masalah terbesar adalah bahwa kontrak yang ada tidak memiliki manfaat dari perbaikan berkelanjutan.

Pertanyaannya biasanya “bagaimana kita bisa mematuhi ini” daripada “bagaimana kita bisa menjalankan bisnis kita lebih baik”.

6. Penerimaan dengan yang terbaik kedua

Pengguna terus-menerus diberitahu untuk bertahan dengan kinerja yang buruk, serta tidak meminta perubahan. Ada sejumlah alasan untuk ini termasuk:

banyak perangkat lunak yang mereka gunakan benar-benar di luar kemampuan perusahaan untuk memperbaikinya (mis. pengolah kata dan spreadsheet favorit semua orang).
secara historis jika sesuatu tidak berhasil solusinya adalah mengatur ulang komputer dan kembali lagi nanti.
akibatnya komputer terkenal karena masalah yang datang dan pergi secara ajaib dan tidak dapat diperbaiki
bahkan jika suatu masalah dapat diperbaiki, orang yang harus memperbaikinya terlalu sibuk atau masalahnya tidak cukup penting
Ini adalah konsekuensi langsung dari sikap sikap yang disebutkan sebelumnya tentang “bagaimana kita bisa mematuhi kontrak ini” daripada “bagaimana kita bisa menjalankan bisnis kita lebih baik”. Pengguna terus-menerus diberi tahu bahwa perubahan tidak dimungkinkan karena itu bukan prioritas.

Hasil akhirnya adalah bahwa pengguna akhirnya berhenti mengeluh. Kedengarannya seperti kemenangan untuk bisnis (“jumlah permintaan perubahan sekarang telah turun hampir tidak ada”) tetapi kenyataannya adalah bahwa pengguna, dan akibatnya bisnis, sekarang memasang yang terbaik kedua.

7. Kehilangan kelincahan

Apa yang membuat proyek sangat sukses sejak awal adalah kemampuannya untuk dengan cepat menyesuaikan perangkat lunak dengan persyaratan pengguna. Seiring berjalannya waktu, sikap menjadi “bisnis harus terbiasa menunggu enam bulan untuk perubahan dan tidak bisa hanya berharap itu terjadi”.

Hasil akhirnya adalah binatang lamban lamban yang membuat pengguna frustasi dan tidak lagi memenuhi kebutuhan bisnis.

Enam poin pertama bukanlah daftar periksa sekali saja, tetapi merupakan kebutuhan yang berkelanjutan. Bisnis perlu beradaptasi untuk bertahan hidup, yang berarti perangkat lunak perlu beradaptasi. Kemampuan perusahaan untuk menggabungkan ide-ide ini dengan cepat adalah bagian inti dari bisnis yang dapat beradaptasi dengan cepat.