Je dispose de deux jours pour prendre une décision très sérieuse au sujet des outils et des plates-formes que mon entreprise va utiliser afin de porter son application WPF sous Linux / Android / iOS, etc.
Évidemment, je peux dire à mes aînés que 2 jours suffisent à peine pour lire toutes les options possibles, et que dire des essais, de la réalisation de prototypes, etc. Je peux le dire, ça ne m'aidera pas un peu, j'ai 2 jours, et après 2 jours la décision serait prise. Période.
D'un côté, je suis frustré, de l'autre côté, je pense qu'il y a une part de vérité dans cette approche, sinon je peux facilement me retrouver enseveli sous des dizaines de SDK, de frameworks, d'API, d'articles de blogues, etc. téléchargés et en oubliant dans le processus à quoi tout cela était destiné.
Je crains toujours qu'une mauvaise décision ne coûte cher à l'entreprise. Alors, quel est selon vous le processus "idéal" pour prendre de telles décisions?
Réponses:
Si tout ce que vous avez est de 2 jours et pas le temps de prototyper ou même de lire toutes les alternatives, alors il n'y a vraiment que 2 options:
demandez à quelqu'un qui sait et suivez leurs conseils. Cela ne signifie peut-être pas nécessairement demander à une personne, mais passer 2 jours à chercher dans des blogs et des articles pour obtenir suffisamment d'informations pour prendre une décision légèrement meilleure que mal informée.
Faites une petite recherche sur toutes les options classiques, puis choisissez-en une. Parfois, le leadership signifie ne pas avoir peur de prendre la mauvaise décision, il est souvent plus important de prendre une décision ferme que de vaciller.
Vous pouvez vous couvrir en proposant des architectures plus découplées et donc plus faciles à modifier - par exemple, un modèle client / serveur vous permettra de remplacer votre technologie d'interface utilisateur par une autre avec un minimum de perturbations.
la source
Il peut sembler que je vais à contre-courant, mais j'ai récemment lu le livre Creativity, Inc. par Ed Catmull et il y avait un très bon paragraphe traitant de cette situation:
Je suis sûr que cela peut également s'appliquer à votre situation. Vous pouvez peut-être prendre la décision aujourd'hui en en choisissant un et commencer à y travailler. Si cela fonctionne, alors vous aurez quelque chose de prêt dans ces deux jours et vous direz: "J'ai choisi ceci et je peux vous montrer ce que nous pouvons en faire parce que j'ai fait peu de tests ...". Si, au cours d'une journée, vous remarquez que la solution choisie ne vaut absolument pas la peine, vous pouvez en choisir une autre et l'utiliser avec celle du lendemain. Le pire des scénarios est que vous utilisiez les deux jours pour tester deux plates-formes, en découvrant que ni l'une ni l'autre ne fonctionnait, mais c'est finalement la bonne réponse, n'est-ce pas? Éliminez les mauvaises herbes, éliminez les mauvais choix possibles, de sorte que toute décision suivante sera bien meilleure que la précédente. Le meilleur scénario est que vous
Évidemment, vous ne maîtriserez aucune plate-forme en deux jours, mais en choisir un dès que possible vous donnera certainement une meilleure perspective sur la façon dont cela fonctionne (beaucoup plus que simplement lire à ce sujet) et vous mènera à une meilleure réponse.
la source
gbjbaanb fait de très bons arguments. Je pensais juste ajouter un peu.
Il est évident que vous n’avez pas assez de temps pour prendre une décision parfaitement éclairée. Votre seule option est d'essayer de prendre une décision qui minimisera la douleur future. Je suggérerais:
Documentez clairement la nature de la situation: envoyez un courrier électronique à votre (vos) responsable (s) et à CC, à leurs responsables et aux parties prenantes. Expliquez que le problème qui vous a été attribué est délicat, mais que vous êtes prêt à tout donner. Notez cependant que, compte tenu des contraintes de temps strictes, vous ne pouvez pas garantir que vos résultats sont optimaux.
Trouvez un cadre / une plateforme avec une grande et active communauté en ligne. La dernière chose que vous voulez, c'est être bloqué pour déboguer un cadre obscur seul.
Comme mentionné précédemment par gbjbaanb, atténuez les risques de port et de portage en utilisant une architecture à couplage lâche. Si tout est en forme de poire avec l'un de vos choix technologiques, cela facilitera son échange.
Je suis dans votre situation auparavant et cela a fini par devenir un cauchemar politique. Comme le système ne fonctionnait pas comme par magie, les gens ont commencé à pointer du doigt et les choses sont devenues laides. C'est pourquoi ma recommandation n ° 1 est de documenter clairement que vous avez fait de votre mieux contre des chances impossibles .
Bonne chance :)
la source
Puisqu'ils vous ont effectivement donné peu de temps pour faire plus que choisir des candidats à partir d'un chapeau, je choisirais l'approche suivante.
Sélectionnez les technologies qui:
Par définition, cela exclurait toute technologie de pointe, aussi bonne soit-elle.
En outre, résistez à la tentation d'utiliser la technologie X sans autre analyse, simplement parce que Fred, le développeur, l'a utilisée par le passé. Il est peu probable que cela convienne parfaitement, et si Fred passe à des pâturages plus verts, votre expert en la matière s'en va.
la source
2 jours est une très courte période pour prendre ce genre de décision, mais comme vous devez le faire dans la liste de 2 jours suivante,
Maintenant, vous devez trouver des alternatives que vous pouvez utiliser pour tous les environnements cibles.
Pour chacune des alternatives, recherchez le support pour chacune d’elles pour utiliser la connectivité / sécurité utilisée par l’application actuelle.
puis, pour chaque composant personnalisé / tiers, déterminez s’il existe des alternatives faciles à utiliser pour chacun.
Et ensuite, réfléchissez à la manière dont la distribution peut être effectuée pour chaque alternative que vous avez trouvée.
Je pense que pendant 2 jours, cela devrait être la portée que vous devriez pouvoir couvrir et, en fonction des résultats, vous pouvez fournir une solution.
la source
Bien que j'aime apprendre et expérimenter de nouvelles choses, sous la contrainte de temps, la meilleure option est toujours de choisir ce qui est le plus confortable ou le plus confortable. Tiens-toi à ce que tu sais.
Même si, à long terme, il est clair que vous n’avez pas choisi la meilleure option, tout ce que vous avez développé entre-temps continue d’avoir de la valeur et enveloppe une sorte de connaissance du terrain qui est toujours parfaitement utilisable et portable. Et c’est précisément parce que le contexte confortable, les outils et la plate-forme que vous avez choisis restent à l’écart et vous permettent de voir ce qui compte vraiment.
la source
Dressez une liste des facteurs à prendre en compte lors du choix, par exemple: performances, sécurité, coûts, facilité d'utilisation, capacité de X, familiarité avec les développeurs, mise à disposition sur le marché, etc.
Cela devrait prendre moins d'une heure (en fait, cela devrait prendre moins de 15 minutes), puis asseyez-vous avec la direction et demandez-leur de hiérarchiser ces facteurs. (Les chances que leurs priorités soient identiques et les vôtres identiques sont faibles, bien que vous puissiez orienter leur choix avec des suggestions quant aux priorités.) Vous savez maintenant quoi évaluer à propos de la technologie.
Choisissez trois ou quatre solutions communes à votre problème en vous basant sur une recherche sur Internet.
Ensuite, lisez suffisamment pour bien deviner à quel point chacun de ces choix correspond à leurs priorités 3-4. Attribuez une valeur numérique à chaque choix. Faites le calcul en multipliant la notation de chaque temps de priorité en tant que valeur définie pour cette priorité (10 pour le numéro 1, 8 pour le numéro 2, 6 pour le numéro 3 4 pour le numéro 4 ou le nombre que vous préférez, numérique). Maintenant, vous avez un score numérique pour chaque possibilité. En règle générale, on saura clairement lequel correspond le mieux aux priorités assignées. Encore mieux, vous avez maintenant quelque chose d’analytique à prendre pour prouver votre choix. Ils achèteront généralement votre choix car vous avez les chiffres pour le supporter. Si les chiffres ne le supportent pas, vous devez vous demander pourquoi vous préférez l’autre et choisir le meilleur numéro ou revoir les numéros attribués.
En vous concentrant sur les choix réels des candidats, vous pouvez réduire votre temps de recherche. Vous pouvez probablement deviner dans la journée, puis il vous reste une journée pour saisir les 2 meilleures possibilités et télécharger des versions d’essai si besoin est et jouer un peu avec elles.
la source