Voici le problème auquel je suis confronté:
Citation du chef de projet:
Hey Spark, je vous charge de développer un framework pouvant être utilisé pour différentes applications iOS. Voici les exigences:
- Il devrait être capable de détecter l'épaisseur du pouce ou des doigts servant à manipuler l'interface utilisateur.
- Avec cette information, tous les éléments de l'interface utilisateur doivent être arrangés et dimensionnés automatiquement .
- Pour un pouce plus grand, les éléments doivent être disposés plus près du centre de l'écran.
- Pour un pouce plus petit, les éléments doivent être disposés plus près des coins de l'écran.
- Pour un pouce plus grand, toutes les polices doivent être plus petites. (Nous supposons un adulte dans ce cas.)
- Pour un pouce plus petit, toutes les polices doivent être plus grandes. (Nous supposons une personne plus jeune dans ce cas.)
Sommaire:
Ce cadre est requis pour créer par programmation des interfaces utilisateur conviviales. Le cadre doit être développé de manière à pouvoir être utilisé pour autant de projets que nécessaire, il doit donc également être très convivial pour les développeurs.
Je suis le développeur chargé de cette tâche; mes questions sont donc les suivantes:
- Comment puis-je expliquer que ces exigences sont un peu ridicules?
- Comment puis-je expliquer qu'il serait préférable de se concentrer sur le développement de projets concrets?
- Comment puis-je expliquer que même si cela était possible, je ne recommanderais pas de développer une telle chose?
- Comment puis-je dire NON à ce projet poliment, gentiment et respectueusement?
- Comment puis-je expliquer que même pour un développeur ayant 3 ans d'expérience, cela pourrait ne pas être possible?
project-management
iphone
frameworks
ios
requirements
Sagar R. Kothari
la source
la source
How do I say politely, gently & respectfully NO to this?
Un autre conseil que je devrais vous donner, pour avoir un peu de contrôle avec vos patrons, vous devriez toujours les laisser tirer leurs propres conclusions. S'ils vous ordonnent, ne dites jamais non, expliquez simplement les faits et discutez des problèmes. Essayez de leur faire comprendre à quel point leurs demandes sont stupides, car ils risquent de ne pas connaître les détails. Ils verront probablement que c'est une idée stupide et vous donneront une tâche différente, et vous n'avez JAMAIS eu à dire NON. Je ne dis jamais NON et j'obtiens tout le temps des exigences stupides qui ne se produisent jamais.Réponses:
Si vous obtenez un ensemble d'exigences qui sont physiquement impossibles à mettre en œuvre car le périphérique ne prend pas en charge et ne peut pas prendre en charge la fonctionnalité souhaitée, vous devez l'expliquer à la personne qui crée les exigences.
Vous devez être respectueux et expliquer pourquoi les exigences ne sont pas possibles à mettre en œuvre ( par exemple l'écran tactile ne peut pas distinguer entre un pouce, le doigt ou le stylet Il ne dispose pas d'une résolution suffisante pour détecter la largeur des doigts..) - garder les choses factuelles , montrant documentation existante s'il y en a.
Ne vous lancez pas dans des discussions émotionnelles et restez calme et professionnel. Dire à quiconque que ses exigences sont ridicules n’est jamais une stratégie gagnante.
Voyez si vous pouvez comprendre les objectifs réels de la fonctionnalité - pourquoi elle est considérée comme une exigence. Cela pourrait vous conduire à une fonctionnalité différente, meilleure, qui résoudra le besoin. (merci @spoike)
@ DarkStar33 suggère dans les commentaires d'effectuer la recherche et de fournir une estimation réelle du coût et de la durée du projet, en supposant que le résultat sera trop coûteux et trop long pour en valoir la peine. Être armé de chiffres et de données pour les sauvegarder peut certainement aider votre cas, même si je regarderais quand même les objectifs de l'entreprise pour voir s'ils peuvent être atteints (même partiellement) d'une autre manière.
la source
"have the project lead explain the actual business goals"
est une excellente idée, donnez-leur ce qu'ils veulent, même s'ils ne savent pas comment le demander.Ces exigences ne sont pas stupides, stupides ou ridicules. Il s’agit en fait d’un problème très important pour les utilisateurs d’écrans tactiles, car les personnes aux doigts plus gros ont beaucoup de difficulté à localiser la cible, ce qui est souvent mal compris par les petits doigtiers.
Toutefois, si vous estimez que cette exigence est impossible à mettre en œuvre car les capteurs de l'appareil ne sont pas en mesure de mesurer la taille du doigt, écrivez simplement ceci ainsi: Malheureusement, les appareils actuellement disponibles ne prennent pas en charge une telle fonctionnalité.
la source
Je vais jouer un peu ici à Devil's Advocate et dire que j'estime qu'il est techniquement possible de mesurer la taille du pouce d'une personne. L'iPhone est un appareil multitouch. Pour le calibrage, vous pouvez demander à l'utilisateur de placer côte à côte son pouce ou ses deux doigts sur l'écran et de mesurer la distance entre ces contacts.
Bien sûr, cela nécessiterait des tests et des expérimentations pour voir dans quelle mesure mon intuition est réalisable. Peut-être faudrait-il faire glisser les pouces sur l’écran pour obtenir une meilleure lecture.
Cela dit, il existe de sérieux problèmes d’utilisation et de mise en œuvre.
la source
Ce que vous faites est de le traiter sérieusement et de revenir avec une estimation du temps que cela prendrait et de vous assurer que l'estimation est très élevée et très détaillée afin qu'ils ne puissent pas contester les chiffres élevés. Une fois que vous avez montré qu'il ne serait pas économique de le faire, ils vous laisseront seuls. Assurez-vous de préciser quelles tâches spécifiques ne sont pas actuellement prises en charge par le matériel et peuvent ou non être réalisables. N'oubliez pas d'ajouter des coûts supplémentaires pour tout type de spécialistes dont vous pourriez avoir besoin pour un projet de cette ampleur.
la source
Chez Apple, les gens pensaient déjà à toutes ces choses et ils n’ont pas imaginé d’interface redimensionnable en fonction de la taille de leurs doigts.
En tant qu'utilisateur, je détesterais déplacer des cibles sous mes doigts.
la source
Si vous craignez de vous faire avoir des ennuis parce que des exigences impossibles vous sont données, le meilleur choix est de leur dire immédiatement que c'est impossible. Plus vous les laissez élaborer un plan d'affaires pour un projet impossible, plus ils risquent de vous accuser de l'échec du projet.
Surtout, essayez de ne pas vous inquiéter de choses qui ne sont pas de votre faute, nous en avons tous assez pour nous inquiéter de ce que nous avons la capacité de contrôler. Si quelqu'un vous tenait pour responsable d'un tel échec, alors ce serait une injustice contre vous. Tu crois au Karma?
la source
Un moyen de détourner la demande déraisonnable consiste à aider le client à comprendre la nature du problème qu'il tente de résoudre. Grâce à une technique d’entretien de planification connue sous le nom de "faire sauter la pile pourquoi ", vous continuez à demander "pourquoi" de manière récursive (de manière bien sûr intelligente et polie):
L’objectif est d’atteindre la valeur métier essentielle de la fonctionnalité:
(Articles du wiki Concombre )
Si la fonctionnalité ne correspond pas à l'une de ces catégories, cela peut aider le client à se rendre compte qu'il est plus important de se concentrer sur ce qui est important, ou grâce à ce processus de réflexion, vous pourrez peut-être le conseiller sur la façon de résoudre le problème auquel il est confronté. essayez de résoudre d’une manière plus significative. Souvent, le véritable problème réside dans un niveau d'abstraction supérieur au problème qu'ils vous ont demandé de résoudre.
Pour utiliser votre exemple d'analyse des tailles de pouce:
la source
Often the real problem lies at a higher level of abstraction than the problem they've requested you to fix.
Clause de non-responsabilité - Je ne sais pas si votre demande est possible, et si c'est possible, vous devez déterminer combien de temps cela prendrait et fournir ce retour à votre responsable. Mais j'écris cette réponse en partant du principe que ce n'est pas faisable, du moins en utilisant le cadre standard - et j'élargis ma réponse au cas plus général où vous ne pouvez vraiment pas ou ne devriez pas faire quelque chose.
Dis juste non.
Il y a beaucoup de réponses "ne jamais dire non" dans ce fil, ce qui, à mon avis, est une attitude douce et soumise. Pensez-y de cette façon: je suis l'expert technique de cette équipe et les autres membres de mon équipe essaient de faire quelque chose que je pense irréalisable, trop compliqué, voire impossible. C'est ma responsabilité de dire non.
Bien sûr je peux & devrais dire non doucement; Je peux "fortement recommander contre cela" tout en offrant de "rechercher si c'est possible" avant de dire non. Mais je vais finalement dire non parce que c'est mon travail.
Il y a tellement d'analogies à cette
Vous pouvez demander à toutes ces personnes d’exécuter des tâches qu’elles sauront bêtes, inutiles, dangereuses ou mauvaises. Et vous vous attendriez à ce que tous déconseillent ces actions et finissent par les refuser (du moins, je l'espère). Si l'un de ces professionnels me répondait: «Heu ok, je suppose que nous pouvons le faire», sans me donner de suite une question «C'est une mauvaise idée», alors, franchement, je ne voudrais pas les engager de toute façon.
Vos collègues apprécieront et respecteront votre honnêteté, et vous épargnerez à tout le monde beaucoup de temps et d’argent si vous fournissez des commentaires utiles au lieu d’accepter quelque chose qui ne fonctionnera pas.
la source
Il ne devrait pas être trop difficile de dire à votre client que vous ne pouvez pas mettre en œuvre quelque chose que votre plate-forme cible ne vous permet pas. Mais prenez un peu de recul et demandez-vous quelle est la logique derrière ces exigences plutôt absurdes? D'après ce que je peux lire, ils sont très préoccupés par la convivialité. Puis, demandez-leur un peu plus de profondeur jusqu'à ce qu'ils vous disent la même chose: "nous voulons une interface conviviale". Puis guidez-les dans ce qui est faisable et ce qui ne l’est pas. Dites-leur que s'ils souhaitent une interface utilisateur simple, il existe des moyens simples (et moins coûteux), tels que permettre à l'utilisateur de définir la taille de la police / de l'icône (je suppose que c'est possible avec l'IoS). Peut-être pouvez-vous laisser l’utilisateur contrôler la taille de la police / la taille de la police et la disposition de l’application via un onglet de paramètres? Cela devrait être plus facile (et plus précis!) Que d'essayer de deviner l'âge d'une personne sur la taille du pouce! La dernière chose que votre responsable voudrait, c’est un code inutile, saturé et difficile à gérer, qui produit les mêmes résultats que ceux fournis par le système d’exploitation. Dites à votre client que les utilisateurs préféreraient contrôler l'application plutôt que l'application qui les contrôlait de manière à les rendre furieux.
la source
Ma réponse serait que je commencerais à examiner certaines de ces technologies non essayées et à leur faire savoir si c'est même possible. Sur la base de ces découvertes, un plan de développement potentiel peut être démarré.
Je ne pense pas que vous serez capable de distinguer le pouce d'une personne de quelqu'un d'autre, mais vous pourrez peut-être obtenir suffisamment de dimensions des doigts pour savoir quand elles utilisent le pouce. Le vrai problème est que l'angle du pouce ne doit pas toucher plus d'espace que d'autres sur l'écran. Personne n'utilise jamais un téléphone avec son pouce et ne le place à plat sur l'écran comme si vous preniez l'empreinte de votre pouce.
Quitter l'entreprise. Découvrez comment le faire. Vendez-le pour beaucoup plus d'argent que ce que vous gagnez maintenant.
la source
Pour ce qui est des besoins, je le fais habituellement comme ceci: j’essaie d’estimer le temps qu’il faudrait pour réaliser un besoin spécifique.
En cas de besoins impossibles, demandez quelques jours ou le temps qu'il faut pour savoir si c'est possible. Dans votre cas, la question est: "Est-il possible de déterminer l'épaisseur du doigt de l'utilisateur?"
En fait, cette question est encore un peu plus complexe: "Est-il possible de déterminer l'épaisseur du doigt de l'utilisateur après le premier toucher en moins de 200 millisecondes pour permettre une interaction immédiate?" (remplacez d' abord par 2e ou ...; et 200 ms par 300 ms ou autre chose ...)
Peut-être même que répondre à cette question prend un mois. Même si cela est plus ou moins faisable, il faut un algorithme très complexe qui ne fonctionne bien que dans 80% des cas.
Vous voyez où je vais?
Les gens font souvent des hypothèses erronées sur les possibilités du fait de leur faible expertise et expérience du domaine en question. Par conséquent, vous ne pouvez pas argumenter avec l'intuition, mais vous avez besoin de faits.
Si les autres parties prenantes se rendent compte que cette fonctionnalité prend 2 ans / homme et nécessite l'arrivée de l'iPhone 10 avant 2014, leurs exigences seront rapidement réduites.
la source
Cela semble complexe mais pas impossible du tout; le point où l'écran tactile ne peut pas distinguer entre le pouce, le majeur et le stylet est sans objet; À l’initialisation (démarrage de la session, peu importe), il est demandé à l’utilisateur de placer son pouce, puis son majeur, etc. pour calibrer les tailles (établir des moyennes statistiques) en utilisant plusieurs mouvements, etc.
la source
J'essaierais d'essayer de résoudre le problème fondamental d'une autre manière avant de dire que cela ne peut pas être fait.
Par exemple, si l'utilisateur essaie souvent de cliquer sur un petit bouton et rate le résultat, vous pouvez regarder la zone située autour du bouton et l'utiliser pour recalibrer tous les autres clics.
Présenter une solution créative comme celle-ci est probablement ce qu'ils recherchent davantage que vous demander de déterminer par magie la largeur d'un doigt (vous pouvez leur dire que ce n'est pas dans l'API).
Il peut encore être difficile - de placer une zone autour des boutons pour détecter les ratés - alors estimez plus d'heures.
la source
Ne pas carrément dire non, cela le blesserait. Précisez simplement qu'en raison de contraintes technologiques, cela fonctionnera à chaque fois dans 60% des cas.
Et une fois qu'il s'est rendu compte de l'impraticabilité et des coûts inhérents à une telle entreprise, suggérez une approche plus pratique dans le cadre de son budget, comme disposer d'un paramètre permettant de modifier la taille du texte. Et les Russes ont pris un crayon dans l'espace.
Essayez de lui faire exposer le problème et les exigences et non la solution et la conception de projets futurs.
la source
Ce que j'aime faire, c'est d'aborder le problème du point de vue de l'équipe. Dans ce cas, le chef de projet et moi-même devons trouver une solution. J'aime aussi montrer que je viens l'esprit ouvert. Si j'entends des impossibilités, je pense, il y a un risque de malentendu entre moi et le chef de projet. Ou peut-être que nous n'avons pas atteint ce moment aha.
Une fois que nous décidons de faire un saut et d'avoir une conversation ouverte, je trouve plus facile de traiter le problème comme un problème économique. En technologie, presque tout est possible avec une quantité infinie de ressources. Discuter de ce qu'il faudrait faire à plusieurs reprises est le moyen le plus simple de «dire non» avec respect. Et ce serait le moyen de dissiper tout malentendu possible. Bien que, pour être honnête, nous ne disons pas tout à fait non. Et, quel est le but de dire non de toute façon? Si le travail ne vaut pas la peine d'être fait, peu importe si nous voulons le faire ou non.
la source