Bagaimana seseorang menerapkan konsep proses Agile sebagai pengembang solo? Agile tampaknya bermanfaat untuk mengembangkan aplikasi dengan kecepatan lebih cepat, tetapi juga tampaknya sangat berorientasi pada tim ...
agile
solo-development
kelleystar
sumber
sumber
Jawaban:
Saya ingat pernah membaca tesis tentang Cowboy Development, yang penting Agile untuk pengembang solo, tapi saya tidak ingat di mana saya menemukannya.
sumber
Lebih jauh ke jawaban dari klez (semua saran bagus), saya sarankan yang berikut ini:
produk pada dasarnya adalah daftar semua item yang ingin Anda selesaikan pada tahap tertentu untuk produk ini.
A burndown lari dimulai dengan daftar semua tugas Anda memutuskan untuk menyelesaikan sprint ini (bagian dari backlog produk Anda akan selesai selama periode waktu tertentu - misalnya 2 minggu) bersama dengan estimasi pekerjaan yang dibutuhkan. Ketika Anda menandai sesuatu, Anda menandainya sebagai selesai; dengan demikian mengurangi (atau membakar) pekerjaan yang tersisa untuk sprint itu.
Demikian pula, pembakaran produk melacak pekerjaan yang tersisa untuk seluruh simpanan produk
Estimasi relatif adalah teknik estimasi yang menggunakan tugas-tugas lain (atau cerita) sebagai panduan. Misalnya, jika Anda tahu tugas A lebih mudah daripada tugas B dan sekitar dua kali lebih kompleks dari tugas C, Anda akan memastikan bahwa "poin" untuk tugas A benar relatif terhadap harapan itu.
Penekanannya bukan pada menebak dengan benar jumlah pekerjaan yang dibutuhkan, tetapi menjaga estimasi konsisten satu sama lain.
Velocity adalah ukuran dari berapa banyak "poin" yang Anda lakukan dalam sprint. Jika estimasi relatif Anda memastikan konsistensi, kecepatan ini dapat digunakan untuk memperkirakan tugas mana yang kemungkinan akan Anda selesaikan dalam sprint mendatang. Perhatikan bahwa kecepatan harus terus direvisi.
sumber
Hal-hal ini mungkin berlaku untuk situasi solo dan tim kecil (2 atau 3 pengembang).
TAMBAH: beberapa saat setelah saya menulis jawaban ini, saya menemukan ceramah konferensi ini dan sangat terkesan: Personal Kanban: Mengoptimalkan Individual Coder
sumber
Pada akhirnya, saya mendefinisikan Agile benar-benar sebagai "melakukan apa yang masuk akal bagi tim dan pelanggan Anda dan tidak mematuhi praktik lama karena kebetulan terlihat seperti mereka bekerja di masa lalu."
sumber
Agile bekerja dengan baik bagi individu maupun bagi tim. Ini tentang menemukan proses yang bekerja untuk Anda, dan memungkinkan Anda untuk beradaptasi dengan keadaan yang berubah begitu proyek Anda sudah dimulai. Ini juga tentang memberikan nilai kepada pelanggan Anda secara teratur, terlepas dari apakah perangkat lunak itu benar-benar "selesai" atau tidak.
Proses lincah sangat berulang. Pekerjaan dilakukan dalam TimeBoxes / sprints / cycles / iterations singkat. Beberapa pekerjaan desain mungkin diperlukan di muka, tetapi dapat di refactored saat Anda mempelajari lebih lanjut tentang apa yang Anda butuhkan dari sebuah sistem. Pengujian unit adalah tulang punggung dari hampir semua metode pengembangan Agile, memberi Anda indikasi apakah perangkat lunak Anda berfungsi, dan apakah penambahan / perubahan pada perangkat lunak Anda akan merusak basis kode yang ada.
Jika Anda mematuhi BDD / TDD, biarkan persyaratan Anda berubah dengan angin dan dapat menyesuaikan prioritas fitur Anda sesuai, jika Anda membangun seluruh sistem Anda dan menjalankan semua tes sering, dan jika Anda memberikan kode kerja pada akhir setiap sprint , Anda sudah tangkas.
sumber
Wow. Saya akan mencoba untuk menjaga teman di hook yang bisa saya hubungi ketika saya dalam kesulitan - dan berbicara melalui masalah pengkodean. Anda tahu apa yang saya maksud ... hanya tindakan menjelaskan masalah dengan keras membawa solusi ke pikiran saya 90% dari waktu.
sumber