Bagaimana menangani desain antarmuka pengguna dan masing-masing dukungan fitur dalam pengembangan Agile?

11

Dalam proses pengembangan Agile biasanya fokus utama adalah pada cerita Pengguna, tetapi kadang-kadang persyaratan tunggal dapat menjangkau beberapa cerita pengguna.

Misalnya, klien dapat meminta halaman pencarian untuk semua pengguna di forum, dan ada beberapa tindakan yang dapat terjadi pada setiap pengguna seperti mencekal pengguna, menghapus pengguna, mengatur ulang kata sandi, dll.

Kami dapat membagi fitur ini menjadi setidaknya 4 cerita pengguna:

  1. Cari pengguna
  2. Larang pengguna
  3. Hapus pengguna
  4. Setel ulang kata sandi

Bagaimana perancang antarmuka pengguna mengimplementasikan antarmuka pengguna seperti itu? Haruskah dia mengerjakan cerita pengguna pertama dan kemudian mulai menambahkan lebih banyak fitur ke UI? Namun, saya pikir UI final akan kacau!

Jika ia memutuskan untuk bekerja pada seluruh fitur (pencarian + tindakan), bagaimana jika tindakan di mana prioritas rendah dan akan diimplementasikan beberapa iterasi setelah fungsi pencarian dilakukan?

Songo
sumber
6
Ini menyoroti ide keliru yang dimiliki oleh beberapa orang yang gesit, betapapun Anda mendefinisikannya, adalah sesuatu selain alat manajemen proyek. Anda masih membutuhkan seseorang untuk melihat keseluruhan produk dari sudut pandang arsitektur dan memastikan semua cerita Anda menambah sesuatu yang masuk akal.
Blrfl
akankah pemilih pemilih menjelaskan mengapa? !!
Songo
@Songo: Tidak, pemilih biasa biasanya tidak menjelaskan, ini terlalu banyak usaha. :-(
Giorgio

Jawaban:

13

Ambillah secara iteratif. Anda bekerja langsung dengan pengguna, bukan? Jadi seharusnya tidak pernah benar-benar berantakan.

Pertama lakukan pencarian halaman. Anda dan pengguna harus ingat bahwa mereka ingin dapat melakukan tindakan pada hasilnya. Apakah pengguna menyukainya? OKE, Anda dapat pencarian Anda.

Sekarang tambahkan "Ubah Kata Sandi" (atau apa pun yang menjadi prioritas berikutnya). Ups, kita perlu sedikit mengubah halaman pencarian - yah, perubahan sering merupakan bagian dari permainan. Apakah pengguna suka dengan hasilnya? Baik.

Sekarang tambahkan item berikutnya, dan selanjutnya ...

Pendekatan gesit mengatakan Anda selalu memiliki umpan balik segera, jadi Anda harus baik.

Karena itu, tidak ada alasan nyata mengapa Anda mungkin tidak dapat menyerang 2 cerita ini dalam iterasi yang sama (menambahkan pengguna hapus DAN larang pengguna). Kuncinya adalah selalu bekerja dengan pelanggan untuk memastikan itu benar.

Anda sering (selalu?) Akan berakhir dengan pengguna memikirkan hal lain yang ingin mereka lakukan dari layar pencarian setelah "desain" asli Anda selesai dan diimplementasikan. Jadi, Anda akhirnya akan mengubahnya di beberapa titik . Cukup dekati semuanya dengan harapan itu dan Anda harus menjadi baik.

Matthew Flynn
sumber
8

Saya merasa seperti saya sering mengatakan ini. Agile bukan berarti Anda harus mengenakan penutup mata untuk mengabaikan masa depan dan merancang diri Anda sendiri. Agile adalah tentang bagaimana Anda memberikan fungsionalitas, dan sangat sedikit hubungannya dengan bagaimana Anda mendesain fungsionalitas.

Dengan kata lain, tidak apa-apa untuk melihat sejauh yang Anda inginkan saat membuat desain Anda, asalkan tidak menunda pengiriman fungsionalitas dalam jangka pendek.

Apa artinya itu dalam contoh spesifik Anda adalah bahwa Anda melanjutkan dan mendesain antarmuka pengguna sehingga akan mudah untuk menambahkan tindakan nanti. Namun, jika bekerja untuk mendapatkan desain tindakan yang tepat akan menunda pengiriman pencarian pengguna dasar dengan iterasi, lebih baik untuk melakukan desain tanpa tindakan terlebih dahulu, dengan asumsi pencarian tanpa tindakan apa pun memiliki nilai bagi pelanggan.

Pertanyaan yang ingin Anda tanyakan pada diri sendiri adalah, "Apakah desain ini menunda pengiriman pertama saya?" Sebagian besar waktu, jawabannya adalah tidak. Anda harus tetap melakukan desain, yang Anda ubah hanyalah beberapa kriteria desain.

Karl Bielefeldt
sumber
+1: Jawaban yang sangat bagus: "Agile adalah tentang bagaimana Anda memberikan fungsionalitas, dan sangat sedikit hubungannya dengan bagaimana Anda merancang fungsionalitas." Saya pikir terlalu sering gesit digunakan sebagai alasan untuk membenarkan tidak adanya desain dimuka (misalnya jika pengembang tidak mau atau tidak mampu melakukannya.). Sebagai gantinya, seseorang harus menjadwalkan kegiatan (cerita pengguna dan sprint) setelah rencana keseluruhan dan arsitektur telah disiapkan (tentu saja Anda mungkin perlu menyesuaikan arsitektur saat Anda melanjutkan proyek).
Giorgio
1

Kisah pengguna pertama dapat berupa desain seluruh antarmuka - mereka tidak perlu mendesain satu bagian saja. Ini adalah desain secara keseluruhan yang menambah nilai bisnis.

Yang sedang berkata, saya melihat setidaknya dua fitur berbeda di sini: kemampuan untuk mencari pengguna, dan kemampuan untuk melakukan fungsi pada satu atau lebih pengguna. Perancang dapat menangani masing-masing dengan searah jika itu lebih masuk akal.

Ingat: tujuannya adalah untuk memberikan perangkat lunak yang berkualitas, itu bukan untuk secara membabi buta mengikuti beberapa metodologi. Tanyakan kepada diri Anda sendiri apakah memecah desain menjadi potongan membantu atau menghalangi tujuan itu. Tidak ada polisi scrum, hanya pelanggan yang senang atau tidak puas.

Bryan Oakley
sumber
1

Saya berkesempatan magang di pabrik pemrograman Agile / Extreme. Mereka menggunakan kartu cerita untuk mendorong proses pengembangan berulang. Setiap kartu cerita mendorong implementasi atau perubahan. Kuncinya adalah interaksi pengguna. Bagaimana seseorang bisa berhasil merancang antarmuka yang dimaksudkan untuk pengguna tanpa berinteraksi dengan pengguna perangkat lunak?

Skenario yang memungkinkan adalah memulai dengan interaksi pengguna untuk memutuskan apa yang diinginkan pengguna terlebih dahulu. Kemudian, secara iteratif, rancang UI berdasarkan peningkatan umpan balik, prioritas pengguna, dan apa yang harus dimiliki pengguna.

Kisah-kisah pengguna ada untuk mendorong bagaimana pengguna akan berinteraksi, pada tingkat apa, dan dengan cara apa. Tetapi mereka hanya perkiraan sampai berinteraksi dengan pengguna. Jika ada banyak pengguna yang semuanya menginginkan sesuatu yang spesifik, maka survei kecil orang mungkin untuk mendefinisikan beberapa garis dasar untuk UI.

Lembek
sumber