J'ai 2 jours pour avoir pris une décision très sérieuse sur les outils et les plates-formes que mon entreprise utilisera pour porter son application WPF à Linux/Android/iOS.
De toute évidence, je peux indiquer mes aînés que 2 jours suffisent à lire sur toutes les options possibles et qu'en est-il d'essayer, de faire des prototypes, etc. Je peux le dire, cela 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 un grain de vérité dans cette approche, sinon je peux me retrouver facilement enterré sous des dizaines de SDK, cadres, API, articles de blogs, etc., etc., etc. Faire des bancs, des échantillons d'exécution et oublier dans le processus ce que tout était pour.
Je crains toujours qu'une mauvaise décision coûterait beaucoup à la société. Alors, que pensez-vous est un processus "idéal" pour faire de telles décisions?
Si tout ce que vous avez est 2 jours et pas de temps pour prototyper ou même lire toutes les alternatives, 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 consacrer les 2 jours à rechercher à travers des blogs et des articles pour glaner suffisamment d'informations pour prendre une décision légèrement améliorée que non informée.
Faites une petite recherche sur toutes les options grand public, puis en choisir un. Parfois, le leadership signifie avoir peur de prendre la mauvaise décision, il est souvent plus important de prendre une décision ferme que de vacillaire.
Vous pouvez vous couvrir en proposant des architectures plus découplés et donc plus faciles à changer - par exemple, un modèle client/serveur vous permettra de remplacer votre technologie d'interface utilisateur avec une autre avec une perturbation minimale.
gBJBAANB fait de très bons points. Je pensais juste que j'ajouterais 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:
Documenter clairement la nature de la situation: envoyer un courrier électronique à votre responsable (s) et cc leurs gestionnaires et les parties prenantes. Expliquez que le problème que vous avez été assigné est un délicat, mais que vous êtes prêt à vous donner votre tout. Mais notez que, compte tenu des contraintes de temps strictes, vous ne pouvez pas garantir votre constatation d'être optimale.
Trouvez un cadre/une plate-forme avec une grande communauté en ligne active. La dernière chose que vous voulez, c'est être bloquée du débogage d'un cadre obscur.
Comme mentionné précédemment par GBJBAANB, atténuer vos douleurs de portage et vos risques en utilisant une architecture couplée lâche. Si tout se passe en forme de poire avec l'un de vos choix de technologie, cela facilitera l'échange.
J'ai déjà été dans votre situation et cela s'est finalement transformé en cauchemar politique. Lorsque le système ne travaillait pas comme par magie, les gens ont commencé à pointer des doigts et que les choses se sont moquées. C'est pourquoi la recommandation n ° 1 est de documenter clairement cela vous avez fait de votre mieux contre les chances impossibles.
Bonne chance :)
Comme ils vous ont effectivement donné de temps à faire plus que de choisir des candidats à partir d'un chapeau, j'adopterais l'approche suivante.
Sélectionnez Technologies qui:
Par définition, cela exclurait toute technologie de bord de saignement, aussi bonne chose que cela peut être.
Aussi, résister à l'envie d'aller avec la technologie X Sans autre analyse simplement parce que Fred Le développeur l'utilise dans le passé. Il est peu probable qu'il soit un ajustement parfait et si Fred passe à des pâturages plus verts, votre expert de domaine passe à votre domaine.
2 jours est une très courte période pour faire ce type de décision, mais puisque vous devez le faire dans 2 jours après la suite,
Maintenant, vous avez besoin de rechercher des alternatives que vous pouvez utiliser pour tous les environnements cible.
Pour chaque alternative, vous trouverez la prise en charge de chacune d'utiliser la connectivité/la sécurité que l'application actuelle utilise.
ensuite, pour chaque composant personnalisé/tiers découvre s'il existe des alternatives faciles à utiliser pour chacun.
Et puis pensez à 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 être capable de couvrir et basé sur les résultats que vous pouvez fournir une solution.
Autant que j'aime apprendre et expérimenter de nouvelles choses, sous contrainte de temps, la meilleure option est toujours d'aller pour tout ce qui est ou se sent plus confortable pour travailler. coller à ce que vous savez.
Même si, à long terme, il devient clair que vous n'avez pas choisi la meilleure option, tout ce que vous avez développé entre-temps continue d'être précieux et enveloppe une sorte de connaissances sur le terrain qui est toujours complètement utilisable et portable. Et c'est exactement parce que le contexte confortable, les outils, la plate-forme que vous avez choisis d'utiliser rester à l'écart et vous faire voir ce qui compte vraiment.
Faites une liste des facteurs qui devraient entrer dans le choix, des choses comme: la sécurité de la sécurité des performances Facilité d'utilisation Capacité à faire X Possibilité de faire une connaissance de la familiarité des développeurs Y au marché, etc.
Cela devrait prendre moins d'une heure (il devrait en fait prendre moins de 15 minutes), puis s'asseoir avec la direction et leur donner la priorité à ces facteurs. (Les chances de leurs priorités et de vos priorités sont identiques à distance, bien que vous puissiez guider quelque peu à des suggestions quant aux priorités.) Vous savez maintenant quoi évaluer la technologie.
Choisissez trois ou quatre solutions communes à votre problème sur la base d'une recherche sur Internet.
Ensuite, lisez assez pour faire une bonne idée de la façon dont chacun des choix correspond à leurs 3-4 priorités. Attribuez une valeur numérique à chaque choix. Faites les mathématiques en multipliant la note de chaque fois de priorité comme valeur définie sur 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 plus numérique que vous aimez). Vous avez maintenant un score numérique pour chaque possibilité. En général, il sera évident qui répond le mieux aux priorités assignées. Encore mieux, vous avez maintenant quelque chose d'analytique pour leur emmener pour prouver votre choix. Ils vont généralement acheter sur votre choix car vous avez les chiffres pour le soutenir. Si les chiffres ne le prennent pas en charge, vous devez vous demander pourquoi vous préférez l'autre et d'aller avec le meilleur numériquement ou revisitez les numéros attribués.
En vous concentrant sur ce que les vrais priroites du choix sont vous pouvez couper beaucoup de temps de recherche. Vous pouvez probablement avoir une estimation dans la journée et ensuite avoir une journée à prendre pour prendre les 2 meilleures possibilités et télécharger des versions d'essai si nécessaire et jouer un peu avec eux.