Software Requirement Specification (SRS) adalah dokumen yang menjelaskan apa yang harus dilakukan sebuah aplikasi, ditulis cukup jelas sehingga pemilik bisnis, desainer, developer, dan penguji memahami hal yang sama.
Apa yang membedakannya dari catatan biasa
Catatan rapat mencatat pembicaraan; SRS mencatat keputusan. Perbedaannya terletak pada kejelasan: setiap pernyataan dalam SRS seharusnya bisa diuji benar atau salahnya setelah aplikasi jadi.
Isi yang biasanya diperlukan
- Tujuan dan ruang lingkup — termasuk apa yang secara sengaja tidak dikerjakan
- Daftar pengguna beserta hak aksesnya
- Kebutuhan fungsional — apa yang bisa dilakukan aplikasi
- Kebutuhan non-fungsional — performa, keamanan, dan keandalan
- Aturan bisnis dan kasus khusus
- Struktur data dan integrasi dengan sistem lain
Seberapa detail sebaiknya?
Cukup detail sampai dua orang berbeda membacanya dan membayangkan hal yang sama. Lebih dari itu biasanya hanya memperlambat, apalagi jika ditulis untuk bagian yang masih mungkin berubah.
Untuk sebagian besar proyek, dokumen Markdown yang ringkas dan mudah diperbarui jauh lebih berguna daripada dokumen formal berpuluh halaman yang tidak pernah dibaca ulang.
SRS yang baik bukan yang paling tebal, melainkan yang paling sedikit menimbulkan pertanyaan saat dibaca.