Comment convaincre la direction de jeter un prototype?

16

J'adore le prototypage comme moyen efficace et rapide de mettre une interface utilisateur devant un utilisateur.

Bien souvent, la direction se met en travers du chemin et le prototype est traîné à coups de pied et à crier dans le développement du flux principal.

Comment gérez-vous la gestion pour ne pas faire cela?

ozz
la source
11
Ne montrez pas aux enfants un jouet brillant et ils ne pourront pas jouer avec. Sérieusement, rendez-le plus laid, ou quelque chose comme ça, ne leur donnez PAS envie mais montrez toujours ce que vous essayez d'exprimer.
Michael Todd du
7
Accidentellement, perdez le code;)
Pemdas
9
Utilisez votre langage de programmation non traditionnel préféré pour écrire le prototype. Si cela ne fonctionne pas, au moins cela ne vous dérangera pas de le maintenir autant.
Larry Coleman,
3
Ouaip, essayez d'utiliser Napkin Look and Feel napkinlaf.sourceforge.net
Job
1
Eh bien, les prototypes sont appelés comme ça pour une raison. Ils sont censés être jetés. S'ils ne le comprennent pas, je suis d'accord avec Larry Coleman.
sakisk

Réponses:

28

Utilisez un outil comme Microsoft SketchFlow ou créez votre prototype dans un autre langage ou plate-forme, ce qui rend presque impossible l'intégration dans le développement principal.

Il y a aussi un essai de joelonsoftware sur la présentation de captures d'écran et de prototypes, où il fait apparaître les aspects non implémentés et non travaillés comme manifestement cassés / non implémentés, indiquant clairement où le travail doit encore être fait.

Corollaire important deux. Si vous montrez à un non-programmeur un écran qui a une interface utilisateur 100% belle, il pensera que le programme est presque terminé.

...

Que pouvez-vous y faire? Une fois que vous comprenez le secret de l'iceberg, il est facile de travailler avec lui. Sachez que toutes les démos que vous faites dans une pièce sombre avec un projecteur vont être uniquement des pixels. Si vous le pouvez, créez votre interface utilisateur de telle sorte que les pièces inachevées semblent inachevées. Par exemple, utilisez des gribouillis pour les icônes de la barre d'outils jusqu'à ce que la fonctionnalité soit là. Lorsque vous créez votre service Web, vous pouvez envisager de supprimer les fonctionnalités de la page d'accueil jusqu'à ce que ces fonctionnalités soient créées. De cette façon, les gens peuvent regarder la page d'accueil passer de 3 commandes à 20 commandes à mesure que de nouvelles choses sont construites.

Essayez donc de créer vos prototypes dans Photoshop au lieu de Visual Studio, ou quelque chose du genre.

comment s'appelle-t-il
la source
1
ouais, j'aime Balsamiq!
ozz le
+1 SketchFlow adopte une approche brillante à ce problème courant; rendre l'interface utilisateur esquissée. Noir / blanc, terne ... approche fantastique pour résoudre ces types de problèmes. Cela semble simple mais a un effet énorme sur ceux qui voient l'interface utilisateur leur permettant de comprendre qu'il s'agit en fait d'un prototype.
Aaron McIver,
1
Bon point. Si c'est une application qui fonctionne, ce n'est pas un prototype.
JohnFx
1
Vous pouvez essayer Pencil au lieu de SketchFlow. C'est gratuit: Pencil.evolus.vn/en-US/Home.aspx
Brad
-1 le lien principal est rompu
Michael Durrant
12

Ne faites pas de prototype avec du code fonctionnel. Prototype au crayon et papier ou équivalent logiciel .

L'utilisation de maquettes ressemble à du dessin, mais comme c'est numérique, vous pouvez modifier et réorganiser facilement. Les équipes peuvent proposer un design et le parcourir en temps réel au cours d'une réunion.

http://www.balsamiq.com/images/mockups/screenshots/components.png

L'utilisation du papier a l'avantage que les membres de l'équipe peuvent facilement intervenir, et tout le monde comprend que ce n'est qu'une feuille de papier vierge. Cela le rend moins précieux.

Alex Feinman
la source
1
+1: Ça! Chaque fois que j'ai réussi à prototyper quelque chose en utilisant du code, je l'ai regretté plus tard lorsque les conditions m'ont forcé à utiliser à nouveau ce code dans des situations dépassant la date d'expiration prévue. En d'autres termes ... SI vous utilisez un langage de code de production pour concocter un prototype, ne soyez pas trop surpris s'il se retrouve plus tard dans le code de production.
mummey
+1 pour le lien Balsamiq. Je l'utilise beaucoup et c'est absolument génial.
Ryan Hayes
J'adore Balsamiq, mais même un prototype sommaire comme celui-ci peut devenir trop «précieux» et laisser de côté les développeurs dans le processus. Il est souvent préférable d'utiliser un bon vieux stylo et du papier - et de coller un stylo dans la main de chaque membre de l'équipe!
Alex Feinman
5

Ne compromettez jamais la qualité de votre code.

L'écriture de code indésirable est une fausse économie.

Comme d'autres affiches l'ont suggéré, vous pouvez y parvenir en utilisant des outils spécifiques pour les maquettes.

Cependant, il existe différentes raisons pour construire des prototypes. Parfois, vous pouvez montrer ce dont vous avez besoin sans écrire de code, mais ce n'est souvent pas le cas. Un intervenant peut souhaiter que vous démontriez la faisabilité technique d'une fonctionnalité.

Créez la chose la plus simple possible pour démontrer la fonctionnalité / prouver le concept. Oubliez tout le reste.

Pour une fonctionnalité d'interface utilisateur, assurez-vous de ne rien développer sur le serveur - ne le touchez pas du tout. Développez à nouveau les faux / faux intégrés.

Si vous devez vous efforcer de rendre l'interface utilisateur conforme au style du reste de l'application, ne vous embêtez pas. S'il semble assez bon sans aucun effort, changez les couleurs pour le faire ressortir, ou peut-être même un filigrane pour montrer qu'il s'agit d'un prototype.

J'ai trouvé que les contrevenants les plus susceptibles de transformer des prototypes en code de production sont des vendeurs. Ils vendront votre produit à un nouveau client - sans cette nouvelle fonctionnalité, le client n'aurait pas signé. Vous ne pouvez pas leur en vouloir, ils ont des cibles. Soyez prudent avec eux; assurez-vous qu'ils ne vous obligent pas à retirer les éléments qui indiquent qu'il s'agit d'un prototype. Vous devez tenir tête - ils ne devraient probablement pas induire les clients en erreur de toute façon.

Votre direction peut commencer à vous forcer à transformer un prototype en code de production pièce par pièce, si vous avez suivi mon premier conseil de ne jamais écrire de code merdique, il ne devrait y avoir aucun problème. Petit à petit, vous construisez le logiciel, sans compromis.

Ensuite, si la direction commence à vous forcer à réduire la qualité, vous devez vous demander pourquoi. Sont-ils passifs? faible? désespéré? Aucune de ces choses n'est une bonne raison de rester dans une entreprise.

Dave Hillier
la source
1
J'appuie ceci. Une fois que vous avez atteint un certain niveau d'expérience, il est tout aussi facile de construire un prototype avec du code de qualité de production qu'avec du code indésirable. Et le principal moyen d'atteindre ce niveau d'expérience est de refuser d'écrire du code indésirable.
Amy Blankenship
4

Assez simple vraiment. Dites-leur qu'ils finiraient par perdre leur client préféré s'ils finissaient par mettre ce bazar pour spectacle.

Et oui, demandez-leur de tenter leur chance s'ils savent vraiment mieux.

Enfin: veuillez ne pas dire que le prototype a des bogues spécifiques A, B et C. Ensuite, vous seriez obligé de corriger ce bogue, et la direction prétendra qu'elle a canalisé l'énergie pour préparer la production de logiciels.

Il y a des chances avec ces bonus de performance et les futures attributions d'actions ces jours-ci, ils écouteront.

Fanatic23
la source
1

Éliminez le problème en premier lieu. NE LE TERMINEZ PAS. J'entends par là ne pas le rendre joli ou comme il correspond aux styles existants sur le site. L'objectif est simplement d'en obtenir la version de travail la plus brute possible afin que vous puissiez voir que le flux d'interface utilisateur très basique fonctionne. Si vous y ajoutez un style de site existant ou si vous le polissez excessivement, ils vont supposer que vous pouvez simplement le "brancher". La gestion est comme Pakleds de Star Trek. Ils veulent juste que vous «fassiez ça». Plus vous êtes prêt à le faire paraître, plus ils seront prêts à le croire.

Si cela ne résout pas votre problème, obtenez un emploi dans au moins une entreprise avec une marque bien connue pendant un an. Mettez votre e-mail et votre numéro sur un CV en ligne et vous combattrez les recruteurs avec un bâton, ce qui vous permettra de leur dire "absolument pas" avec la confiance d'un développeur qui sait ce qu'il fait et peut obtenir un nouvel emploi demain où, espérons-le, votre expertise en la matière sera prise plus au sérieux.

Je travaille actuellement sur une base de code qui n'en a pas deux mais un triple stack de Rails, .NET et Java. La raison pour laquelle nous avons fait clouer les Rails, c'est parce qu'un prototype a été fait dans Rails et que le meilleur chien de la société a dit "fais-le." Nous devons parfois dire non. Tant que nous ne le faisons pas tout le temps, ils devraient nous prendre au sérieux.

Mais oui, quoi que vous fassiez avec un prototype, assurez-vous qu'il démarre vraiment moche.

Erik Reppen
la source
1

Ne vous en faites pas.

Si vous vous asseyez et lancez des contrôles d'interface utilisateur pour un "prototype", il n'y a aucune raison pour que vous jetiez automatiquement cette conception. Si c'était assez bon pour montrer la gestion, alors c'est un bon endroit pour commencer quand coder le "vrai" programme.

Passer d'un prototype à une interface utilisateur plus «raffinée» ne devrait être rien d'autre qu'une série d'étapes entièrement justifiables. Vous deviez ajouter un deuxième bouton. Vous avez reçu des commentaires d'utilisateurs qui ont trouvé la commande déroutante. Le groupe des normes de votre organisation a dicté un changement mineur. Vous avez dû modifier la taille d'une zone de texte pour l'internationalisation.

Pas une seule de ces raisons n'est "eh bien, c'était juste un prototype". Dans la conception de l'interface utilisateur ou dans le code ou par écrit, TOUT peut finir par vivre à jamais. Et ceux qui ne sont pas tous devraient avoir de très bonnes raisons de les tuer.

Et la direction s'en fiche probablement.

De façon réaliste, si la raison pour laquelle vous n'avez pas simplement déposé votre interface utilisateur dans le code existant était "j'ai dû le réécrire dans notre cadre correct", cela devrait être une raison suffisante. Et si ce n'était pas le cas, vous devriez probablement avoir une discussion sur le cadre d'interface utilisateur lui-même, mais c'est une autre question.

DougM
la source
0

J'avais ce problème jusqu'à ce que je réalise que ce n'était pas un problème mais un moyen de me libérer des normes de développement plutôt obsolètes imposées à la plupart des magasins.

Vous dites donc à votre direction que vous écrivez un prototype, vous choisissez les technologies qui vous conviennent le mieux, pour ce domaine problématique, puis vous écrivez le logiciel en sachant qu'il ira en production.

Vous échappez à l'ennui des «applications doivent être en java 1.6 en utilisant le Web (insérer le moteur J2EE coûteux du choix de gestion)» et des normes de nommage inutiles, etc.

Mes prototypes actuels de langages de choix sont "php" (qui s'adapte totalement aux environnements de production lourds - il suffit de demander à Facebook) et la combinaison très élégante de Groovy / Java avec Tomcat ou Jetty.

La combinaison groovy / java est idéale pour un développement rapide. Groovy est agréable à utiliser, rapide à développer, mais fonctionne comme un escargot gériatrique, mais il est très facile de re-factoriser les sections critiques des performances en Java pur. Marier l'application à Tomcat ou Jetty signifie ne plus jamais avoir à faire face aux EJB et autres horreurs J2EE.

Le principal avantage d'avoir un prototype fonctionnel par opposition à un croquis tel que proposé par plusieurs affiches est la rétroaction des utilisateurs. Les prototypes sont un excellent moyen d'impliquer réellement l'entreprise dans la conception. Une fois qu'ils ont réalisé qu'ils peuvent dire des choses comme "ce champ ne devrait-il pas être sur l'écran principal" et hé hop! là, c'est sur l'écran principal à la prochaine démo qu'ils s'ouvrent et s'impliquent dans la conception apportant des années d'expérience commerciale précieuse au projet.

James Anderson
la source
"Groovy est agréable à utiliser, rapide à développer, mais fonctionne comme un escargot gériatrique, mais il est trivialement facile de re-factoriser les sections critiques de performances en Java pur." Vous devez vraiment refactoriser l'intégralité du prototype en Java si vous utilisez Groovy pour construire un prototype.
Vorg van Geir