Inilah masalah yang saya hadapi:
Kutipan Dari Manajer Proyek:
Hai Spark, saya menugaskan Anda tugas mengembangkan kerangka kerja yang dapat digunakan untuk banyak aplikasi iOS yang berbeda. Berikut persyaratannya:
- Seharusnya bisa mendeteksi ketebalan ibu jari atau jari yang digunakan untuk memanipulasi UI.
- Dengan informasi ini, semua elemen UI harus diatur & diukur secara otomatis .
- Untuk ibu jari yang lebih besar, elemen harus diatur lebih dekat ke tengah layar.
- Untuk ibu jari yang lebih kecil, elemen harus diatur lebih dekat ke sudut layar.
- Untuk ibu jari yang lebih besar, semua font harus lebih kecil. (Kami mengasumsikan orang dewasa dalam hal ini.)
- Untuk ibu jari yang lebih kecil, semua font harus lebih besar. (Kami mengasumsikan orang yang lebih muda dalam hal ini.)
Ringkasan:
Kerangka kerja ini diperlukan untuk membuat antarmuka pengguna yang ramah pengguna secara terprogram. Kerangka kerja harus dikembangkan sedemikian rupa sehingga kita dapat menggunakan sebanyak mungkin proyek sesuai kebutuhan, sehingga juga harus sangat ramah pengembang.
Saya adalah pengembang yang diberikan tugas ini, jadi pertanyaan saya adalah sebagai berikut:
- Bagaimana saya bisa menjelaskan bahwa persyaratan ini sedikit konyol?
- Bagaimana saya bisa menjelaskan bahwa lebih baik berkonsentrasi pada pengembangan proyek yang sebenarnya?
- Bagaimana saya bisa menjelaskan bahwa bahkan jika ini mungkin, saya tidak akan merekomendasikan mengembangkan hal seperti itu?
- Bagaimana saya mengatakan TIDAK untuk proyek ini dengan sopan, lembut, dan penuh hormat?
- Bagaimana saya bisa menjelaskan bahwa bahkan untuk pengembang dengan pengalaman 3 tahun, ini mungkin tidak mungkin?
project-management
iphone
frameworks
ios
requirements
Sagar R. Kothari
sumber
sumber
How do I say politely, gently & respectfully NO to this?
Saran lain yang harus saya berikan kepada Anda, untuk memiliki kontrol dengan atasan Anda, Anda harus selalu membiarkan mereka sampai pada kesimpulan mereka sendiri. Jika mereka memerintahkan Anda, jangan pernah mengatakan tidak, cukup jelaskan faktanya dan diskusikan masalahnya. Cobalah untuk membuat mereka menyadari betapa bodohnya permintaan mereka, karena mereka mungkin tidak tahu detailnya. Mereka mungkin akan melihat bahwa itu adalah ide yang bodoh dan memberi Anda tugas yang berbeda, dan Anda TIDAK PERNAH harus mengatakan TIDAK. Saya tidak pernah mengatakan TIDAK dan saya mendapatkan persyaratan bodoh sepanjang waktu yang tidak pernah terjadi.Jawaban:
Jika Anda mendapatkan seperangkat persyaratan yang secara fisik tidak mungkin diterapkan karena perangkat tidak mendukung dan tidak dapat mendukung fungsionalitas yang diinginkan, Anda perlu menjelaskan ini kepada orang yang membuat persyaratan.
Anda harus menghormati dan menjelaskan mengapa persyaratan tidak mungkin diterapkan (mis. Layar sentuh tidak dapat membedakan antara ibu jari, jari atau stylus. Ia tidak memiliki resolusi yang cukup untuk mendeteksi lebar jari.) - pertahankan faktual , arahkan ke dokumentasi yang ada jika ada.
Jangan membahas argumen emosional apa pun dan tetap tenang dan profesional. Mengatakan kepada siapa pun bahwa persyaratan mereka konyol tidak pernah menjadi strategi kemenangan.
Lihat apakah Anda bisa mendapatkan pemahaman tentang tujuan sebenarnya untuk fitur - mengapa itu dilihat sebagai persyaratan. Ini dapat mengarahkan Anda ke fitur berbeda yang lebih baik yang akan menyelesaikan kebutuhan. (terima kasih @spoike)
@ DarkStar33 menyarankan dalam komentar untuk melakukan penelitian dan memberikan perkiraan aktual berapa biaya proyek dan berapa lama waktu yang dibutuhkan, dengan asumsi bahwa hasilnya akan terlalu mahal dan panjang untuk sepadan. Dipersenjatai dengan angka dan data untuk mendukungnya tentu dapat membantu kasus Anda, meskipun saya masih akan melihat tujuan bisnis untuk melihat apakah mereka dapat dipenuhi (bahkan sebagian) dengan cara lain.
sumber
"have the project lead explain the actual business goals"
adalah ide bagus, berikan apa yang mereka inginkan, bahkan jika mereka tidak tahu bagaimana memintanya.Persyaratan ini tidak konyol, bodoh, atau konyol. Ini sebenarnya masalah yang sangat penting bagi pengguna layar sentuh, bahwa orang-orang dengan jari yang lebih besar sangat sulit menentukan target, yang sering tidak dipahami oleh jari-jari kecil.
Namun, jika Anda menemukan persyaratan ini mustahil untuk diterapkan karena sensor perangkat tidak dapat mengukur ukuran jari, cukup tulis ini: Sayangnya, perangkat yang saat ini tersedia tidak mendukung fungsi tersebut.
sumber
Saya akan bermain Devil's Advocate di sini sedikit dan mengatakan bahwa saya pikir sebenarnya secara teknis layak untuk mengukur ukuran ibu jari seseorang. IPhone adalah perangkat multitouch. Untuk kalibrasi, Anda dapat menginstruksikan pengguna untuk menempatkan ibu jari atau dua jari mereka di layar berdampingan, dan mengukur jarak antara sentuhan-sentuhan ini.
Tentu saja ini membutuhkan pengujian dan eksperimen untuk melihat seberapa layak intuisi saya. Mungkin ibu jari harus diseret di layar untuk mendapatkan bacaan yang lebih baik.
Yang mengatakan, ada kegunaan serius dan masalah implementasi.
sumber
Apa yang Anda lakukan adalah memperlakukannya dengan serius dan kembali dengan perkiraan berapa lama waktu yang harus dilakukan dan memastikan estimasi tersebut sangat tinggi dan sangat rinci sehingga mereka tidak dapat membantah angka yang tinggi. Setelah Anda menunjukkan itu tidak ekonomis untuk dilakukan mereka akan meninggalkan Anda sendirian. Pastikan untuk menunjukkan bahwa tugas tertentu saat ini tidak didukung oleh perangkat keras dan mungkin atau bahkan tidak mungkin dilakukan. Jangan lupa menambahkan biaya untuk spesialis apa pun, tambahan orang yang mungkin Anda perlukan untuk proyek sebesar ini.
sumber
Orang-orang di Apple sudah sangat memikirkan semua hal ini dan mereka tidak datang dengan antarmuka resizable tergantung pada ukuran ibu jari / jari.
Sebagai pengguna, saya akan benci target bergerak di bawah jari saya.
sumber
Jika Anda khawatir mendapat masalah karena diberi persyaratan yang tidak mungkin, maka pilihan terbaik adalah segera memberi tahu mereka bahwa itu tidak mungkin. Semakin lama Anda membiarkan mereka membangun rencana bisnis pada proyek yang tidak mungkin, semakin besar kemungkinan mereka akan menyalahkan Anda atas kegagalan proyek tersebut.
Di atas semua itu, cobalah untuk tidak khawatir tentang hal-hal yang bukan kesalahan Anda, kita semua harus cukup khawatir bahwa kita memang memiliki kemampuan untuk mengendalikan. Jika seseorang membuat Anda bertanggung jawab atas kegagalan proyek seperti itu maka itu adalah ketidakadilan terhadap Anda. Apakah Anda percaya pada Karma?
sumber
Salah satu cara untuk mengalihkan permintaan yang tidak masuk akal adalah dengan membantu klien memahami sifat masalah yang mereka coba selesaikan. Melalui teknik wawancara perencanaan yang dikenal dengan " popping the why stack ", Anda terus bertanya "mengapa" secara berulang (dengan cara yang sopan dan cerdas tentu saja):
Tujuannya adalah untuk mencapai nilai bisnis inti dari fitur:
(Item dari Mentimun wiki)
Jika fitur ini tidak sesuai dengan salah satu kategori ini, mungkin membantu klien untuk melihat bahwa ada hal-hal yang lebih penting untuk difokuskan, atau melalui proses pemikiran ini Anda mungkin dapat memberi saran kepada mereka tentang cara mengatasi masalah yang mereka hadapi. sedang berusaha memecahkan dengan cara yang lebih bermakna. Seringkali masalah sebenarnya terletak pada tingkat abstraksi yang lebih tinggi daripada masalah yang mereka minta Anda perbaiki.
Untuk menggunakan contoh pemindaian ukuran ibu jari:
sumber
Often the real problem lies at a higher level of abstraction than the problem they've requested you to fix.
Penafian - Saya tidak tahu apakah permintaan Anda memungkinkan, dan jika memungkinkan, Anda perlu menentukan berapa lama waktu yang dibutuhkan dan memberikan umpan balik itu kepada manajer Anda. Tapi saya menulis jawaban ini dengan asumsi itu tidak layak, setidaknya menggunakan kerangka kerja standar - dan saya memperluas jawaban saya ke kasus yang lebih umum ketika Anda benar-benar tidak bisa atau tidak boleh melakukan sesuatu.
Katakan saja tidak.
Ada banyak jawaban 'tidak pernah mengatakan tidak' di utas ini, yang saya percaya adalah sikap yang lembut dan tunduk. Pikirkan seperti ini - saya adalah pakar teknis dalam tim ini, dan anggota tim saya yang lain mencoba melakukan sesuatu yang saya pikir tidak mungkin, terlalu rumit, mungkin tidak mungkin. Adalah tanggung jawab saya untuk mengatakan tidak.
Tentu saja saya dapat & harus mengatakan tidak dengan lembut; Saya dapat "sangat merekomendasikan menentang ini" sambil menawarkan untuk "menyelidiki apakah itu mungkin" sebelum mengatakan tidak. Tetapi pada akhirnya saya akan mengatakan tidak karena itu pekerjaan saya.
Ada begitu banyak analogi dengan ini
Anda dapat meminta semua orang ini untuk melakukan tugas yang mereka tahu konyol, sia-sia, berbahaya atau salah. Dan Anda akan mengharapkan mereka untuk memberi saran terhadap tindakan ini dan akhirnya menolak (setidaknya saya berharap begitu). Jika salah satu dari profesional ini menjawab 'Hmm oke saya kira kita bisa melakukan itu' - tanpa memberi saya jawaban langsung "Ini Ide yang Buruk" - maka sejujurnya saya tidak akan mau mempekerjakan mereka juga.
Kolega Anda akan menghargai dan menghormati kejujuran Anda, dan Anda akan menghemat banyak waktu dan uang bagi semua orang jika Anda memberikan umpan balik yang bermanfaat daripada mengikuti sesuatu yang Anda tahu tidak akan berhasil.
sumber
Seharusnya tidak terlalu sulit untuk memberi tahu klien Anda bahwa Anda tidak dapat mengimplementasikan sesuatu yang tidak diizinkan oleh platform target Anda. Tetapi mundur selangkah dan tanyakan pada diri Anda, apa logika di balik persyaratan yang agak membingungkan ini? Dari apa yang bisa saya baca mereka sangat peduli tentang keramahan pengguna. Kemudian tanyakan kepada mereka, gali sedikit lebih dalam sampai mereka mengatakan hal yang sama kepada Anda: "kami ingin antarmuka yang ramah pengguna". Kemudian membimbing mereka ke dalam apa yang bisa dilakukan dan apa yang tidak. Beri tahu mereka bahwa jika mereka menginginkan antarmuka pengguna yang mudah, ada cara yang mudah (dan lebih murah) seperti membiarkan pengguna mengatur ukuran font / ikon (saya berasumsi bahwa saya mungkin menggunakan IoS). Mungkin Anda dapat membiarkan pengguna mengontrol ukuran font / ukuran ikon dan pengaturan untuk aplikasi melalui tab pengaturan? Itu seharusnya lebih mudah (dan lebih akurat!) Daripada mencoba menebak usia seseorang pada ukuran ibu jari! Hal terakhir yang diinginkan manajer Anda adalah kode yang tidak perlu, membengkak, sulit dipelihara yang mencapai hal yang sama seperti yang sudah disediakan os. Beri tahu klien Anda bahwa pengguna akan lebih suka mengendalikan aplikasi daripada aplikasi yang mengendalikan mereka dengan cara yang dapat membuat mereka marah.
sumber
Tanggapan saya adalah bahwa saya akan mulai mencari ke beberapa teknologi yang belum dicoba ini dan memberi tahu mereka apakah itu mungkin. Berdasarkan penemuan-penemuan itu, rencana pengembangan potensial dapat dimulai.
Saya tidak berpikir Anda bisa membedakan ibu jari dari orang lain, tetapi Anda mungkin bisa mendapatkan dimensi yang cukup dari jari untuk mengetahui kapan mereka menggunakan ibu jari. Masalah sebenarnya adalah karena sudut ibu jari mungkin tidak menyentuh lebih banyak ruang di layar daripada yang lain. Tidak ada yang pernah menggunakan telepon dengan ibu jari mereka dan meletakkannya di layar seolah-olah Anda sedang mengambil cetakan ibu jari Anda.
Tinggalkan perusahaan. Cari tahu bagaimana melakukannya. Jual dengan harga jauh lebih banyak dari yang Anda hasilkan sekarang.
sumber
Ketika datang ke persyaratan saya biasanya melakukannya seperti ini: Saya mencoba memperkirakan berapa lama untuk mewujudkan persyaratan tertentu.
Dalam hal persyaratan yang mungkin tidak mungkin, tanyakan beberapa hari atau waktu apa pun untuk mencari tahu apakah itu mungkin. Dalam kasus Anda, pertanyaannya adalah: "Apakah mungkin untuk menentukan seberapa tebal jari pengguna?"
Sebenarnya pertanyaan ini bahkan sedikit lebih rumit: "Apakah mungkin untuk menentukan seberapa tebal jari pengguna setelah sentuhan pertama dalam waktu kurang dari 200 milidetik untuk memungkinkan interaksi langsung?" (ganti pertama dengan 2 atau ...; dan 200 ms dengan 300 ms atau apa pun ...)
Mungkin bahkan menjawab pertanyaan ini membutuhkan waktu satu bulan. Mungkin bahkan jika ini lebih atau kurang layak, dibutuhkan algoritma yang sangat kompleks yang hanya bekerja dengan baik dalam 80% kasus.
Anda lihat kemana saya pergi?
Orang sering membuat asumsi yang salah tentang kemungkinan karena mereka memiliki keahlian dan pengalaman yang rendah mengenai bidang yang dimaksud. Karena itu Anda tidak dapat berdebat dengan intuisi, tetapi Anda membutuhkan fakta.
Jika pemangku kepentingan lainnya menyadari bahwa fitur ini akan memakan waktu 2 tahun-manusia dan mengharuskan iPhone 10 tiba sebelum 2014, akan segera menurunkan persyaratan mereka.
sumber
Ini terdengar rumit tetapi tidak mustahil sama sekali; titik bahwa layar sentuh tidak dapat membedakan antara ibu jari, jari tengah atau stylus dapat diperdebatkan; pengguna diminta pada inisialisasi (startup sesi, apa pun) untuk menempatkan ibu jari, kemudian jari tengah, dll. untuk mengkalibrasi ukuran (membuat beberapa rata-rata statistik) menggunakan beberapa gerakan, dll.
sumber
Saya akan mempertimbangkan untuk mencoba memecahkan masalah root dengan cara lain sebelum mengatakan itu tidak dapat dilakukan.
Misalnya, jika pengguna sering mencoba mengklik tombol kecil dan meleset, Anda dapat menonton area di sekitar tombol dan menggunakannya untuk mengkalibrasi ulang semua klik lainnya.
Menghadirkan solusi kreatif seperti ini mungkin lebih tepat daripada meminta Anda untuk secara ajaib mengetahui lebar jari (yang dapat Anda informasikan kepada mereka tidak ada dalam API).
Mungkin masih sulit - menempatkan area di sekitar tombol untuk mendeteksi kesalahan - jadi perkirakan lebih banyak waktu.
sumber
Jangan langsung mengatakan tidak karena itu akan melukai perasaannya. Cukup jelaskan bahwa karena kendala teknologi, 60% dari waktu itu akan berfungsi setiap saat.
Dan begitu dia menyadari ketidakpraktisan dan biaya yang terlibat dalam usaha seperti itu, sarankan pendekatan yang lebih praktis dalam anggarannya seperti memiliki pengaturan yang memungkinkan Anda untuk mengubah ukuran teks. Dan Rusia mengambil pensil ke ruang angkasa.
Cobalah untuk membuatnya menyatakan masalah dan persyaratan dan bukan solusi dan desain untuk proyek masa depan.
sumber
Yang ingin saya lakukan adalah mendekati masalah dari sudut pandang tim. Dalam hal ini manajer proyek dan saya perlu mencari solusi. Saya juga suka menunjukkan bahwa saya datang dengan pikiran terbuka. Jika saya mendengar apa yang menurut saya mendengar ketidakmungkinan, ada kemungkinan ada kesalahpahaman antara saya dan manajer proyek. Atau mungkin kita belum mencapai momen aha itu.
Begitu kami memutuskan untuk melakukan lompatan dan melakukan percakapan terbuka, saya merasa paling mudah memperlakukan masalahnya sebagai masalah ekonomi. Dalam teknologi, hampir semua hal mungkin dilakukan mengingat sumber daya yang tak terbatas. Membahas apa yang harus dilakukan, berkali-kali adalah cara termudah untuk dengan hormat "mengatakan tidak". Dan itu akan menjadi cara untuk menghapus kesalahpahaman yang mungkin terjadi. Meskipun, jujur saja, kami tidak mengatakan tidak. Dan, apa tujuan dari mengatakan tidak. Jika pekerjaan itu tidak layak dilakukan, tidak masalah apakah kita ingin melakukannya atau tidak.
sumber