Beberapa waktu lalu saya menulis skrip python yang sangat kecil yang secara berkala memeriksa umpan xml untuk entri baru, dan mengingatkan pengguna untuk entri baru saat ada. Saya menulis ini untuk diri saya sendiri, jadi pada dasarnya ini adalah program berbasis konsol yang dapat digunakan oleh siapa pun yang nyaman dengan antarmuka konsol.
Setelah beberapa saat saya memutuskan itu bisa lebih bermanfaat bagi orang lain dan mulai membereskannya, membersihkan input, menghilangkan bug. Terpikir oleh saya bahwa karena saya telah menulis skrip saya tahu cara menggunakannya secara efisien, akurat, dll. Yang lain mungkin tidak, jadi saya mulai menambahkan GUI. Ini dimulai sebagai menu sederhana, dan kemudian diperluas ke GUI yang lebih lengkap dengan menu antarmuka dan opsi. Saya kemudian menambahkan preferensi pengguna yang disimpan dan juga penyimpanan untuk umpan xml yang dicari sebelumnya untuk mempercepat pencarian berulang.
Saya menambahkan logging untuk membantu men-debug aplikasi jika terjadi kesalahan, membawa aplikasi ke basis kode python stabil terbaru yang tersedia untuk platform yang saya pilih dan meningkatkan fitur dialog.
Saya telah memperbaiki bug dan berkomentar kode saya dengan jelas, namun saya masih memiliki hal-hal yang saya pikir dapat dilakukan untuk meningkatkan aplikasi sebelum saya membuatnya tersedia untuk penguji alfa. Ini jauh sekali dari skrip asli 20-30 baris saya. Apa yang saya perkirakan akan membawa saya hanya satu atau dua jam untuk beralih dari pembuktian konsep menjadi program penggunaan yang dapat diterima telah menghabiskan 10-20 kali lipatnya. (Aku masih noob, dan banyak hal butuh waktu lama, tapi masih ....)
Bagaimana Anda tahu kapan harus berhenti menambah / mengubah / memperbaiki hal-hal dan membiarkan bayi Anda merangkak keluar di tempat terbuka?
sumber
3. I allocate work time to myself. The release date is the end of that time.
@Ierre 303, Ketika Anda mengatakan apa yangtime
Anda maksud dengan jam yaitu membangun malam? atau waktu seperti sprint penuh?Buat SRS lalu kode sesuai dengan persyaratan. Ketika Anda telah mencapai semua tujuan yang disebutkan dalam SRS, saatnya untuk berhenti dan menguji produk Anda.
sumber
Dalam jangka pendek, ketika Anda memiliki sesuatu yang bekerja dengan andal dan tidak crash. Bahkan jika itu tidak melakukan segalanya, itu bisa dilakukan jika Anda mengerjakannya tanpa batas. Pengiriman seperti kata pepatah adalah fitur . Reliabilitas dan rangkaian fitur terbatas memberi Anda kesempatan untuk fungsionalitas inti untuk diuji oleh orang-orang nyata di dunia nyata, yang akan menemukan hal-hal yang Anda tidak pernah pikirkan yang memecahkan kode Anda dengan cara yang tidak akan pernah terlintas dalam pikiran Anda. Semakin sedikit fitur yang Anda miliki, pada titik ini, semakin mudah untuk memperbaiki masalah awal tersebut. Karena fungsionalitas inti berfungsi lebih andal, Anda dapat mulai menerapkan hal-hal "baik untuk memiliki" lainnya dengan pengetahuan bahwa kode pusat dan terpenting Anda masih berfungsi dengan baik.
Dalam jangka panjang: Ketika Anda telah menyelesaikan dan mendokumentasikan sistem plug-in yang akan memungkinkan pengguna Anda (dan tentu saja Anda) untuk mengimplementasikan fitur-fitur baru dengan cepat dan mudah jika Anda membutuhkannya. Itu harus menjadi fitur terakhir yang Anda perlu tambahkan setelah itu semua plug-in.
sumber
Ketika Anda yakin tentang stabilitas perangkat lunak Anda, silakan rilis meskipun mungkin ada fitur yang tertunda. Stabilitas lebih penting daripada fitur. Dapatkan umpan balik, gabungkan dengan fitur yang ada dan putuskan apa yang harus disampaikan selanjutnya dan kapan!
sumber
Anda selalu dapat merawat proyek untuk selamanya.
Aturan yang sangat bagus adalah Anda tidak boleh menambahkan hal-hal yang tidak ada dalam kasus penggunaan yang disetujui. Ini memastikan bahwa Anda tidak berakhir dengan banyak hal yang menyenangkan untuk dimiliki, tetapi tidak ada yang menggunakannya. Menyetujui memastikan bahwa orang lain selain Anda setuju bahwa ini diperlukan dalam proyek Anda.
sumber
Itu tergantung pada mengapa Anda menambahkan fitur. Apakah pemilik proyek memintanya? pengguna? QA? Programmer?
Fokus pada tujuan program, dan buat tujuannya terfokus. Permintaan fitur yang memperpanjang tujuannya harus dipertanyakan secara menyeluruh sebelum menjadi pisau tentara swiss.
sumber
Saya tidak berhenti menambahkan fitur lagi. Saya hanya mencoba untuk mendapatkan aplikasi di luar ASAP dan menulis file txt jika saya perlu. Maka saya dapat memutuskan kapan harus berhenti dan kapan harus mengerjakan sesuatu yang berbeda
Ini juga membantu saya suka melakukan min yang mungkin untuk menyelesaikan sesuatu (tanpa menggunakan peretasan).
sumber
Saya sarankan Anda timebox itu. Beri diri Anda satu minggu berkata. Buat daftar pekerjaan yang harus diselesaikan selama minggu itu, dan pastikan jika Anda memiliki fitur yang tidak dapat Anda selesaikan, Anda dapat mendukungnya.
Di akhir minggu rilis saja. Lepaskan lebih awal, sering lepaskan.
sumber
Ketika Anda memiliki sesuatu yang dapat diandalkan dan bermanfaat, lepaskan. Anda tidak harus berhenti menambahkan fitur, tetapi jika ada yang menggunakan apa yang Anda dapatkan di sana Anda akan mendapatkan ide yang lebih baik tentang fitur apa yang diinginkan. Saat ini, Anda menebak.
sumber