Bagaimana Anda membuat proses perangkat lunak untuk suatu proyek?

13

Seperti yang saya tulis dalam pertanyaan lain di sini, proyek yang saya kerjakan sekarang tidak memiliki proses perangkat lunak. Itu berarti tidak ada dokumentasi (termasuk persyaratan atau spesifikasi cetak) , tidak ada kontrol sumber , tidak ada bug database , bug "diperbaiki" (semoga) dan kode baru ditambahkan pada saat yang sama, dan tidak ada penguji formal - kita akan gagal dalam Tes Joel sangat buruk, itu bahkan tidak lucu.

Kemarin, manajer saya meminta saya untuk menulis dokumen tentang cara mulai memperbaiki kekurangan ini. Perhatikan bahwa saya hanya magang, di sini selama 6 bulan. Saya akan pergi sekitar Thanksgiving pada bulan November untuk kembali ke sekolah. Namun, saya pikir saya mungkin bisa membuat proyek ini bergerak ke arah yang benar, tetapi saya tidak yakin harus mulai dari mana. Saat ini saya menggunakan CiteSeer dan Wikipedia untuk mencoba menemukan beberapa makalah dan semacamnya yang menggambarkan proses perangkat lunak dan mengimplementasikannya, tetapi saran, pengalaman pribadi, atau tautan ke blog, makalah, artikel wiki, atau apa pun akan sangat dihargai.

Thomas Owens
sumber
Baik-Cepat-Murah-Proses - ketika sebuah proyek tertinggal, pare down proses.
ChuckCottrill
2
Bagaimana hasilnya?
Robert Harvey

Jawaban:

10

Saya menyarankan agar Anda melihat ke pemrograman Agile.

Ada banyak varian, tetapi mereka cenderung memiliki beberapa kesamaan:

  • Tinjauan berkala dan prioritas ulang fitur.
  • Integrasi berkelanjutan dan pengujian unit otomatis.
  • Berfokuslah pada komunikasi daripada dokumentasi (dalam praktiknya ini berarti dokumentasi gaya-wiki saat Anda mempelajari spesifikasi tidak fleksibel yang ditulis di muka).
  • Taksiran fleksibel yang menghasilkan bagan burn-down dan metrik kecepatan.
  • Prototipe reguler yang ditinjau lebih dari 200 spesifikasi halaman dengan sign-off.
  • Kualitas pada sumbernya, atau sedekat mungkin.
  • Tinjauan pemangku kepentingan reguler - perpanjangan pemahaman pelanggan Anda.
  • Dapatkan perangkat lunak ke pasar (dan dapatkan uang) SECEPATNYA.
  • Komunikasi langsung sebanyak mungkin.

Tempat yang baik untuk memulai adalah MSF Agile atau Scrum .

Keith
sumber
7

Mengingat situasinya, Anda hilang dalam 6 bulan dan tim mulai dari tanpa proses apa pun, saya akan membatasi ruang lingkup apa yang Anda perkenalkan pada satu atau dua hal yang dapat diterapkan secara wajar dan bertahan di waktu Anda di sana. Jika itu saya, saya akan melihat alat kontrol sumber dan pelacak bug.

Alasan saya akan mulai dari sana adalah karena mendapatkan alat ini di tempat akan membantu Anda untuk menetapkan garis dasar untuk kinerja tim saat ini dan mungkin mengidentifikasi masalah yang berulang. Perubahan proses memang bagus, tetapi ini adalah item fondasi dasar yang harus ada terlebih dahulu.


sumber
Ya, saya berencana untuk membatasi ruang lingkup dari apa yang saya lakukan, tetapi saya juga ingin meninggalkan mereka dengan peta jalan sehingga mereka tidak akan bertanya-tanya apa yang harus dilakukan selanjutnya, terutama jika semuanya mulai berjalan lebih baik.
Thomas Owens
@ Thomas Owens Saya pikir patut dipuji bahwa Anda ingin meninggalkan peta jalan bagi tim setelah Anda pergi. Namun, kecil kemungkinan bahwa siapa pun akan merujuk kembali ke peta jalan yang dibuat oleh magang. Ini bukan refleksi dari keterampilan dan kemampuan Anda. Karena itu saya akan berusaha semaksimal mungkin untuk mendapatkan langkah pertama di tempat. Jangan meremehkan upaya yang diperlukan untuk mengubah kebiasaan dan proses tim yang ada. Sebenarnya mencoba untuk mendapatkan kontrol sumber dan pelacak bug diimplementasikan dalam enam bulan mungkin lebih dari yang dapat dilakukan secara wajar.
Saya pikir itu bisa dilakukan. Ini adalah tim yang terdiri dari 5 orang, tidak termasuk saya. Dua adalah pengembang penuh waktu, satu adalah pengembang paruh waktu pada proyek ini dan paruh waktu pada proyek lain, satu adalah manajer, dan satu adalah tipe pemasaran. Kedua pengembang penuh waktu berada di papan untuk suatu proses dan manajer ingin melihat peningkatan untuk kinerja tim. Ini tidak seperti dipaksa melawan kehendak mereka.
Thomas Owens
1

Kami menggunakan Prince2 untuk proses manajemen proyek, dan itu bekerja dengan sangat baik. Saya akan menyarankan itu akan tampak berliku untuk sebuah perusahaan tanpa manajemen proyek, meskipun!

ColinYounger
sumber
1

Hanya untuk menggemakan sentimen dari beberapa di atas, tim-tim yang tidak memiliki struktur akan lebih cocok dengan struktur lincah. Dapatkan kontrol sumber hari ini hanya mulai memasukkan perubahan Anda ke SVN dan menunjukkan beberapa pengembang Anda berbeda ketika Anda mencari bug. Mulai menambahkan log revisi. Jika mereka tidak dapat melihat manfaat dan kemudahan penggunaan SVN maka mereka akan hancur.

Johnno Nolan
sumber
0

Lihat artikel ini tentang Integrasi Berkelanjutan untuk pemrograman NET menggunakan MSBuild, CruiseControl.NET, FxCop, NUnit, NCover dan Subversion ...

Dari parit pengembangan perangkat lunak

Zack Peterson
sumber
1
@Zack: Kami tidak menggunakan pemrograman .NET. Saya mencari saran umum yang dapat digunakan pada proyek apa pun menggunakan tumpukan teknologi apa pun. Hal-hal seperti memilih model, mengimplementasikan model itu, dan sebagainya.
Thomas Owens