Haruskah saya memasukkan biaya keluar ke dalam memilih solusi

10

Saat ini saya memilih antara dua desain / solusi perangkat lunak yang layak. Solusi 1 mudah diterapkan, tetapi akan mengunci beberapa data dalam format berpemilik, dan akan sulit diubah nantinya. Solusi 2 sulit diterapkan, tetapi akan jauh lebih mudah untuk diubah di kemudian hari.

Haruskah saya menggunakan YAGNI untuk hal ini atau haruskah saya memasukkan biaya keluar dalam pengambilan keputusan? Atau ditanya secara berbeda, apakah biaya keluar merupakan bagian dari TCO?

Saya berpikir untuk kembali ke pelanggan dengan menanyakan apakah menurutnya biaya keluar itu relevan, tetapi saya ingin tahu apa yang dipikirkan masyarakat terlebih dahulu.

PS Apakah biaya keluar adalah istilah yang benar?

dvdvorle
sumber
Bisakah Anda menambahkan mengapa menurut Anda solusi pertama akan mengunci data dan akan sulit diubah nanti?
Jaap
Intinya, bukankah semua format adalah milik, bahkan format yang dianggap 'standar' atau 'terbuka'? Yagni mungkin berlaku jika format 'hak milik' lebih mudah diterapkan, langsung digunakan, dan / atau format defacto untuk pertukaran.
JustinC
Tanpa masuk ke spesifik; menganggapnya sebagai menempatkan lembar Excel (dirancang oleh pelanggan) ke dalam sistem manajemen dokumen (solusi 1), dibandingkan membuat tabel dan GUI yang sesuai dan menghasilkan lembar Excel sesuai permintaan (solusi 2). Kecuali itu bukan Excel.
dvdvorle
Namun ini mungkin tidak menghalangi untuk memperhatikan aspek kepedulian ini dalam menyajikan pilihan dan keputusan kepada sponsor proyek.
JustinC
@JustinC yah akhirnya kita berbicara tentang uang tunai di sini. Apakah lebih murah menggunakan format 'proprietary' dalam jangka panjang atau tidak? Itulah yang menurut saya paling penting bagi sponsor proyek
dvdvorle

Jawaban:

4

Biaya Keluar merupakan bagian dari TCO (yang T tidak berdiri untuk keseluruhan ), tapi sulit untuk memakukan kecuali Anda tahu apriori berapa lama sistem akan lalu. Dengan kata lain, jika Anda tahu sistem akan digunakan tepat satu tahun dan biayanya $ 52.000 untuk menonaktifkannya setahun dari sekarang, Anda bisa cukup percaya diri dalam menambahkan $ 1.000 seminggu ke anggaran operasional untuk menutupinya.

Model itu keluar dari jendela ketika Anda tidak tahu masa pakai sistem. Secara teori sistem dapat tetap digunakan selamanya, yang berarti tidak akan ada uang yang dihabiskan untuk mematikannya. Apa pun yang Anda perhitungkan sekarang adalah dalam dolar hari ini, dan angka-angka itu bisa jadi tidak berarti selama lima tahun dari sekarang karena perubahan dalam tingkat tenaga kerja dan teknologi yang membuat prosesnya lebih mudah (atau lebih sulit).

Sebaiknya Anda memberi pelanggan Anda beberapa gagasan tentang apa yang diperlukan untuk beralih dari sistem dan membiarkan mereka memasukkan faktor itu ke dalam keputusan tentang penggantian ketika saat itu tiba.

(Dan sekarang, setelah menulis jawaban ini, saya dapat memilih untuk menutup ini sebagai topik yang tidak umum.)

Blrfl
sumber
Alternatif untuk biaya keluar menjadi bagian dari TCO dari solusi ini, adalah bahwa itu akan menjadi bagian dari TCO dari solusi selanjutnya. Sekarang saya tahu ini terdengar aneh jika saya mengatakannya begitu saja, tetapi dalam pengalaman saya biaya dekomisioning suatu sistem dijadikan bagian dari rencana proyek / anggaran sistem berikutnya, bukan rencana proyek / anggaran untuk sistem saat ini. Apakah itu masuk akal?
dvdvorle
1
Masuk akal bagi saya, dan itulah kesimpulan saya. Anda tidak dapat benar-benar menghasilkan total yang sebenarnya sampai semuanya selesai dan selesai.
Blrfl
Saya setuju tentang kesulitan memperkirakan secara akurat 'biaya keluar', saya pikir ada nilai dalam menyediakan satu bahkan jika itu dalam uang hari ini. Bandingkan "ini akan sulit dan memakan waktu" dan "ini kemungkinan akan menelan biaya antara $ 25000 dan $ 50000 jika dilakukan besok".
vaughandroid
@ Blrfl, apa yang membuat pertanyaan ini di luar topik?
neontapir
1
@neontapir: Daging pertanyaannya sebenarnya tentang manajemen proyek; fakta bahwa ini tentang suatu program tidak benar-benar membuatnya tentang pemrograman. Hal yang sama dapat diterapkan dengan mudah pada sakelar telepon atau oven pizza.
Blrfl
2

YAGNI adalah aturan yang bagus di tempatnya, tapi saya tidak yakin itu harus berlaku dalam kasus ini. Anda memperkirakan biaya masa depan di sini, suatu kegiatan yang harus melibatkan beberapa pertimbangan perubahan persyaratan di masa depan. Jika Anda menulis implementasinya, itu akan menjadi cerita yang berbeda!

Saya sarankan Anda melakukan penetapan biaya, tetapi pastikan bahwa pelanggan mengerti mengapa Anda melakukannya. Jika mereka tidak terlalu teknis jangan heran jika mereka mengatakan sesuatu dengan efek "itu tidak bisa menjadi solusi yang baik jika Anda sudah berpikir untuk menggunakan sesuatu yang lain!"

Mungkin ada beberapa aspek yang lebih halus untuk dipertimbangkan ketika Anda melakukan / menyajikan perkiraan biaya Anda:

  • Seberapa besar kemungkinan data akan dimigrasikan ke sistem lain di masa mendatang?
  • Apakah mungkin vendor solusi akan mengubah format data mereka sendiri sehingga akan lebih mudah / sulit untuk memigrasikan data di masa mendatang? Jika demikian, apakah ini akan memengaruhi solusi Anda?
  • Bahkan jika Anda tidak ingin mengubah data nanti, apakah ada kemungkinan Anda ingin mempresentasikan / mengaksesnya dengan cara yang berbeda? Pengalaman saya adalah ini sangat umum!
vaughandroid
sumber
1

Bekerja dari komentar Anda tentang situasi file Excel, saya melihatnya sebagai:

  • tidak mengubah format saat ini (solusi 1)
  • versus parsing format sekarang, dan menyimpannya dalam format yang berbeda (mungkin / mudah-mudahan lebih cocok / siap di masa depan) (solusi 1 + langkah penguraian, alias solusi 2)

Saya percaya YAGNI berlaku untuk langkah parsing itu; pastikan Anda menyimpan pengetahuan tentang struktur saat ini, tetapi belum mengimplementasikan parsing.

Selain itu, struktur data parsing mungkin tidak sefleksibel yang Anda kira; persyaratan juga dapat digunakan untuk menyimpan berbagai informasi / file, yang berarti Anda harus memperbarui / memperluas tabel Anda.

Jaap
sumber
Untuk menjadi jelas, saat ini tidak ada solusi (solusi 0 jika Anda mau). Mereka saat ini menyimpan semua informasi dalam file kertas. Saya sepenuh hati setuju dengan jawaban ini jika mereka sudah menggunakan file "Excel" dalam sistem manajemen dokumen, tetapi masih ada pilihan di sini.
dvdvorle
Atau menurut Anda itu tidak relevan karena implementasi solusi 1 murah?
dvdvorle
Maksud saya adalah saya percaya bahwa jika solusi 2 dapat dianggap sebagai peningkatan solusi 1, tetapi peningkatan itu tidak sepenuhnya diperlukan sekarang, YAGNI berlaku.
Jaap
Saya mengerti apa yang kamu maksud. Ini sesuatu untuk dipikirkan. Meskipun saya pikir sudah waktunya untuk pergi ke pelanggan sekarang, lihat apa yang dia pikirkan sebagai peningkatan dan yang lainnya.
dvdvorle
0

Jika Anda tidak yakin 95% itu akan berubah di masa mendatang - Solusi 1 - YAGNI =)

Tentunya itu tergantung pada pelanggan Anda, dan pada pengalaman Anda memprogram sesuatu untuk pelanggan ini .

MikroDel
sumber
2
Jadi Anda mengatakan bahwa setiap biaya yang terkait dengan peluang 5% solusi akan berubah tidak relevan?
dvdvorle
Maksud saya ini semacam perasaan ... Anda tahu sendiri apa artinya "YAGNI" - sisanya adalah perasaan =)
MikroDel
0

Dalam pengalaman saya, roda yang diciptakan kembali membutuhkan waktu lebih lama untuk diciptakan kembali dari yang Anda kira, dan roda eksternal cenderung lebih mudah untuk diganti. Kedua jenis roda cenderung terlihat lebih buruk setelah dibeli daripada ketika Anda membuat keputusan.

Jika Anda benar-benar berpikir bahwa # 1 mudah diterapkan, dan mempertanyakan berapa lama # 2 akan memakan waktu, saya akan mendengarkan pertanyaan itu. Terapkan # 1 sekarang, dan pikirkan desain yang lebih besar saat Anda menggunakannya. Itu akan membantu Anda jika nanti Anda ingin menemukannya kembali.

Sebaliknya jika # 1 tidak lagi terlihat semudah yang Anda kira, lompat ke # 2.

btilly
sumber