Je suppose que la plupart des gens ont été dans cette situation.
La planification initiale du projet commence. Les exigences sont décrites. Après une revue architecturale et un tri via les API / Frameworks, la technologie d'ajustement est choisie. Le développement commence.
Et puis ça commence. Dès que vous devez faire des choses supposées simples, le framework / API commence à se retourner, et au lieu de faire n'importe quel travail, vous finissez par vous battre contre la technologie. Le temps de recherche monte en flèche, les forums sont silencieux, rien ne semble être fait, et même lorsque vous faites fonctionner quelque chose, vous n'êtes pas vraiment sûr que ce soit bien fait.
Comment gérez-vous dans ces situations? Allez-vous faire des hacks, recherchez-vous plus loin, que dites-vous à la direction?
la source
Réponses:
Prototype, Prototype, Prototype !!
Si votre équipe n'est pas familière avec un cadre particulier, créez un prototype pour évaluer où se trouvent les points douloureux.
Matt Raible (type de comparateur de framework Web Java) suggère de travailler avec un framework pendant une semaine si possible.
Le prototypage comprend l'étude du soutien de la communauté derrière un cadre et d'autres facteurs
la source
La gestion des dépendances externes est le fléau de nombreux projets informatiques. Il y a de nombreuses années, les programmeurs expérimentés avec qui j'ai travaillé se sont toujours assurés qu'ils contrôlaient leurs dépendances - généralement en insistant pour que des licences de code source soient achetées.
Personnellement, cela n'a pas été mon approche. J'ai tendance à être sous-promis, à livrer une école de pensée. Il y a des moments où j'ai dû me tendre le cou, mais je fais des recherches privées à l'avance pour être sûr à 99% - généralement en faisant un projet privé souvent à mon propre rythme pour m'assurer que la technologie peut fonctionner. En effet prototype, testez, validez puis promettez.
Il y a des situations où je me fais prendre - et je dois faire marche arrière ou être inventif. Avoir un esprit créatif avec une vaste expérience aide ici, mais il en va de même pour parler à d'autres personnes. - et pas toujours des programmeurs. Parfois, les solutions viennent de lieux vraiment étranges.
Quant à la gestion, la clé est l'honnêteté. Parlez tôt et souvent. Ne laissez pas cela à la dernière minute car laisser tomber les gestionnaires / clients la veille d'une grosse livraison vous fait ressembler à des amateurs. Pouvoir dire 2 mois avant la date limite que les gestionnaires doivent choisir entre abandonner quelques fonctionnalités et / ou retarder la livraison peut ne pas être populaire à l'époque, mais cela permet au reste de l'organisation de faire son travail et de planifier . La clé pour y parvenir est d'avoir un bon système de gestion des tâches qui suit les temps et les estimations des tâches. Le fait d'avoir des preuves solides pour étayer votre point de vue rend beaucoup plus probable votre écoute.
la source
"Comment gérez-vous dans ces situations?". Ce que j'ai vu / vécu:
le point numéro 1 je suis d'accord avec Ptolémée: soyez honnête:
Si c'est vraiment un problème: allez dans cette pièce, dites le problème, asseyez-vous pour attendre la réponse de la colère et ensuite ... travaillez vers un nouveau plan / solution. (le gars n'est pas en colère contre toi personnellement).
Il existe des cours d'informatique qui ne traitent que de cette situation. Vous êtes placé avec des acteurs et ils placent le client en colère qui entend cette nouvelle. Vous obtenez beaucoup de conseils à ce sujet. Cela semble stupide, mais probablement seulement après l'avoir fait, vous en remarquez la valeur. Je suis parti avec une feuille avec 80 points à retenir dans ces situations ... (et pratique).
Cette situation est sans doute encore plus typique aujourd'hui où les budgets sont serrés, les ventes se font sur "l'offre la plus basse", le planning que vous avez donné est découpé 5 fois avant d'être accepté par le client ... (y compris ce prototype car "il embauche" vous parce que vous êtes l'expert et sinon c'est 10 autres qui attendent ") etc ...
- Une autre chose pourrait être la réflexion latérale: si cela ne peut pas être fait de cette manière, essayez de proposer quelque chose de complètement différent qui offre la même valeur pour le client. Si la technologie ne fonctionne pas du tout / est cassée / saute de l'accord / etc ... Si le client achète, il peut livrer la même valeur à la fin. Mais l'apporter est également assez difficile. (pour certains et totalement pas pour d'autres). Vous avez besoin de gars vraiment expérimentés pour cela. Une situation similaire est que la technologie n'est PAS ENCORE à la hauteur ... cela prend quelques mois ... Vous devez donc convaincre le client de replanifier et d'accepter la replanification et l'impact sur son organisation ...
- Une autre «leçon apprise» consiste à invoquer les seniors seniors dès que vous remarquez que cela va dans ce sens. Ils ont souvent traité des projets en difficulté et sont vraiment utiles dans ces situations. Souvent, ils ne voyagent que d'un projet en difficulté à un projet en difficulté.
- Une autre leçon apprise est de laisser vos trucs architecturaux passer par les canaux de vérification, en particulier sur les grands projets. Une signature peut couvrir ton cul. (enregistrez tous vos e-mails LOL)
la source