Saya sedang membangun sistem perangkat lunak untuk proyek master saya dan sedang mencari saran tentang metodologi tertentu yang sesuai dengan "tim satu orang" ...
Saya sedang membangun sistem perangkat lunak untuk proyek master saya dan sedang mencari saran tentang metodologi tertentu yang sesuai dengan "tim satu orang" ...
Jawaban:
Saya mencari nafkah sebagai "senjata perangkat lunak untuk disewa" satu orang yang kebanyakan bekerja dari rumah, jadi saya ingin sekali mendengar apa yang orang lain katakan tentang ini.
Berikut adalah beberapa hal yang menurut saya penting:
Teknik saya yang lain telah berkembang selama bertahun-tahun, dan saya men-tweak mereka tergantung pada proyek dan klien. Orang-orang membayar saya untuk kode kerja, tidak bermain-main dengan proses, jadi saya mencoba untuk menjaga proses tetap ringan, dan keluar dari wajah klien saya. Tetapi saya menemukan beberapa teknik Agile bekerja sangat baik untuk saya:
Cara lain untuk bekerja sendiri adalah Anda tidak memiliki siapa pun untuk memberi tahu Anda apa yang harus dilakukan atau kapan, atau jika Anda sudah cukup selesai, atau kapan harus berhenti bekerja karena Anda sudah melakukan cukup - sehingga Anda harus melakukan itu untuk dirimu sendiri. Saya pribadi lebih suka Scrum karena saya dapat melacak bagaimana saya melakukan vis-a-vis tujuan sprint saya. Untuk proyek Kanban, saya bisa melacak berapa banyak waktu yang saya habiskan, tetapi saya tidak suka itu dan juga sesuatu yang lebih berbasis tujuan.
Beberapa teman saya bersumpah oleh Pomodoro sebagai cara untuk membuat mereka tetap fokus pada tugas dan melacak efisiensi pribadi, dan saya berpikir untuk mencobanya.
Saya juga memiliki proses formal untuk merilis kode ke klien saya untuk memastikan apa yang mereka dapatkan "benar", tetapi itu mungkin di luar ruang lingkup dari apa yang Anda tanyakan.
Gunakan SVN di atas yang lain, versi semuanya. Untuk pelacakan, notebook akan digunakan untuk proyek yang lebih sederhana, jika perlu Anda memiliki banyak aplikasi pelacakan tugas / bug gratis (Redmine keren). Agile / XP / Continuous Integration / others akan sedikit berlebihan menurut saya.
Selain Proses Perangkat Lunak Pribadi , saya belum menemukan banyak tentang model proses formal yang dirancang untuk digunakan oleh satu pengembang. PSP cukup berat dalam hal dokumentasi dan dokumen (dalam bentuk mentahnya), tanpa banyak bicara tentang teknik tertentu dalam melakukan pekerjaan (sebaliknya, PSP berfokus pada pengumpulan data untuk menemukan area untuk perbaikan), tetapi ini merupakan permulaan poin untuk mengembangkan proses pribadi yang dapat Anda gunakan pada proyek-proyek kecil hingga menengah.
Saya pikir tindakan terbaik adalah mengikuti beberapa praktik terbaik yang dipilih (berdasarkan kebutuhan dan proyek Anda) yang diterima secara luas dari sejumlah model proses. Lihatlah metode untuk melacak pekerjaan yang dilakukan / pekerjaan yang tersisa, mengelola persyaratan, kontrol versi, pengujian (khususnya pengujian unit dan penerimaan), integrasi berkelanjutan, standar pengkodean, Anda Tidak Akan Perlu, dan sebagainya. Jika belum, saya sarankan membaca Code Complete dan The Pragmatic Programmer dan mempraktikkan tips mereka.
Hal terbesar tentang bekerja secara individu adalah bahwa, selain dari segala pembatasan yang dilakukan pada Anda oleh pasukan luar, semuanya terserah Anda. Anda tidak perlu mengakomodasi orang lain yang bekerja bersama Anda, jadi lebih mudah untuk memilih teknik yang memungkinkan Anda untuk bekerja dengan cara seefisien mungkin. Selama bertahun-tahun, Anda mungkin telah menemukan cara terbaik untuk bekerja, sehingga itu akan menjadi titik awal yang baik. Kemudian terapkan "praktik terbaik" yang dikenal di atas itu untuk meningkatkan kemampuan dan teknik Anda.
Pria itu bertanya tentang metodologi tertentu dan orang-orang menjawab "gunakan perangkat lunak X / Y". BUKAN masalah alat, sebenarnya ada banyak metodologi dan sepertinya belum ada laporan validasi untuk mereka: Agile, Iterative, Spiral, Waterfall, XP, V-Model, TDD.