Pertama-tama, saya minta maaf karena saya tidak tahu bagaimana membuat utas komunitas; jadi tolong bantu seseorang.
Sebagai pengembang, melintasi banyak platform, teknologi, dan bahkan pada tingkat infrastruktur; Saya selalu bertanya, kapan saya melakukan TERLALU banyak?!?
Ini merupakan proses pembelajaran yang tidak pernah berakhir, sejak saya mulai. Satu (1) hal yang saya pelajari adalah bahwa persyaratan hampir tidak valid untuk jangka waktu yang lama, dan dengan demikian sedikit tinjauan ke masa depan dapat berjalan jauh.
Tapi di mana keseimbangannya, dan bagaimana Anda tahu kapan Anda kehilangan waktu, bukan mendapatkannya ?!
development-process
scalability
Theofanis Pantelides
sumber
sumber
Jawaban:
Anda melakukan terlalu banyak ketika pengembang rata-rata tidak dapat memahami apa yang Anda lakukan dengan membaca kode Anda.
Saya melawan semua "arsitek" CV didorong saya temui. Saya berharap kubah itu ada! ;)
Saya percaya dunia membuang banyak uang yang bisa kita gunakan untuk meningkatkan kehidupan (programmer) kita.
sumber
Ketika proses menyalip hasilnya.
Sudah terlalu sering kita melihat bahwa jika pengembang lebih fokus pada proses daripada hasil (seperti dalam kualitas, membuat tenggat waktu, dll.) Hal-hal buruk dimulai.
Inilah sebabnya mengapa tidak boleh dilupakan bahwa tujuan tinjauan kode, pola desain, dll. Adalah untuk membuat kode lebih baik, tetapi mereka bukan target itu sendiri.
sumber
Bagi saya, saya suka pendekatan yang Kent Beck kemukakan di XP (tidak yakin apakah itu ide "miliknya" atau milik orang lain tetapi di situlah saya pertama kali mendengarnya):
Cukup sulit untuk menyelesaikan masalah hari ini tanpa berusaha mencari tahu apa masalah hari esok dan menyelesaikannya juga.
Pengembang dapat menghabiskan banyak waktu pada solusi untuk persyaratan yang tidak ada, kasus tepi yang tidak akan pernah terjadi atau bahkan masalah asli di mana dampak dari masalah secara signifikan lebih kecil daripada biaya pencegahannya.
Ini adalah waktu yang dapat dimasukkan ke dalam hal-hal yang benar-benar diinginkan dan digunakan oleh pengguna, hal-hal yang akan memberi mereka manfaat yang secara besar-besaran akan melebihi bahkan ketidaknyamanan yang akan disebabkan oleh kejadian yang tidak mungkin terjadi jika salah satu dari hal-hal ini benar-benar terjadi.
Di luar hasil yang tidak optimal ini bagi pengguna, dampaknya terhadap pengembang rekayasa berlebih dengan cara ini cenderung lebih dari kode kompleks yang lebih sulit untuk didukung dan lebih sulit untuk ditingkatkan.
Jadi bagi saya jika Anda tahu, atau dapat cukup yakin, bahwa sesuatu adalah persyaratan atau akan menyebabkan masalah maka atasi itu, jika tidak maka jangan lakukan.
Anda mungkin harus kembali dan memperbaikinya ketika ternyata ada persyaratan yang lebih luas daripada yang Anda implementasikan sebelumnya, tetapi umumnya upaya total yang Anda lakukan di seluruh proyek masih akan lebih rendah karena dalam kebanyakan kasus itu tidak akan terjadi.
sumber
Pertanyaan Anda cukup terbuka, jadi saya akan menafsirkannya sebagai "melakukan terlalu banyak pada satu bagian dari proyek":
Bagi saya, mudah untuk menghabiskan terlalu banyak waktu untuk sesuatu yang tidak benar-benar memberikan banyak keuntungan bagi pelanggan. Seringkali, itu adalah hal-hal kecil seperti "Ya, itu bekerja, tetapi tidak sepenuhnya seperti yang saya inginkan juga" di mana pelanggan mungkin tidak akan peduli apakah itu bekerja dengan cara ini atau yang lain.
Ketika itu terjadi, saya harus menghentikannya dan menghabiskan waktu untuk hal-hal yang lebih penting. Lebih baik bahwa produk bekerja secara keseluruhan daripada tidak tetapi Anda memiliki bagian-bagian yang lebih kecil ini yang bekerja dengan sempurna.
Menulis kode pelacak (dari Kode Selesai ) mungkin merupakan ide yang baik untuk menghindari hal ini: Anda memulai proyek Anda dengan menulis kode yang menghubungkan seluruh kode - dari GUI (atau dekat dengan itu) sampai ke backend lalu kembali. Dengan begitu Anda selalu memiliki sesuatu yang berfungsi dan Anda tidak menghabiskan waktu menyempurnakan hal-hal kecil sampai semuanya berjalan.
Tapi tetap saja, ini masalah disiplin dan memprioritaskan.
sumber
Ketika saya menjawab tidak untuk "apakah saya akan menjadi gila saya tidak melakukan ini nanti dan itu menggigit saya ..
IRL Sumber daya dan kendala waktu biasanya membuat saya sebelum saya harus mengajukan pertanyaan ini banyak. Pada titik itu Anda hanya fokus pada bit yang paling penting / dapat dicapai dan berharap yang terbaik.
sumber
memang proses belajar yang tidak pernah berakhir! ... dan saya pikir itu tetap seperti itu! Keseimbangannya adalah ketika segala sesuatunya cukup efisien dan Anda punya waktu untuk melakukan hal lain selain pemrograman. Saya akan setuju dengan gablin "masalah disiplin dan memprioritaskan" dan Jim Hopkins yang menjadi insting setelah beberapa saat. Saya tahu bahwa menyempurnakan bagian-bagian kecil adalah apa yang membuat kita bahagia, tetapi pada akhirnya itu semua tentang apa yang membuat pengguna akhir bahagia. jadi saya katakan keseimbangannya (atau mungkin kompromi) adalah membuat pengguna akhir / pelanggan / klien bahagia terlebih dahulu (yang seharusnya rencana A) dan kemudian jika ada waktu bekerja pada penyempurnaan - membuat "bagian kecil" Anda lebih efisien dan / atau apapun yang Anda inginkan. Pada titik tertentu Anda harus mengatakan "cukup" meskipun :) kalau tidak ya, itu akan menjadi berlebihan!
skenario terburuk tentu saja adalah ketika pengguna akhir / pelanggan / klien adalah Anda! :)
sumber