Il y a environ 3 mois, notre développeur et concepteur Web principal (la même personne) a quitté l'entreprise, des pâturages plus verts étaient la raison du départ. Bon pour eux je dis. Mon problème est que son service était complètement sans papiers. Les choses ont été difficiles depuis le départ, il y a beaucoup de connaissances à la fois des connaissances théoriques que nous utilisons pour citer de nouveaux projets et des connaissances techniques / de mise en œuvre de nos produits existants que nous avons perdues à la suite de son départ. Mon rôle normal est en tant que chef de produit (pour nos produits eux-mêmes) et en tant qu'analyste commercial pour certains de nos travaux de conseil basés sur des projets. Je me suis appris à coder au cours de la dernière année et dans un effort pour continuer à avancer, je ' ai pris la tâche de configurer mon ordinateur portable en tant que machine de développement dans l'espoir de mettre en œuvre certaines des demandes de fonctionnalités les plus faciles et de corriger certains des bugs évidents qui sont soumis dans notre système de billetterie. Mais personne ne sait comment prendre une nouvelle machine Windows et la configurer pour fonctionner de manière transparente avec nos applications de production.
J'ai demandé à mon patron, qui est toujours en contact avec le développeur qui est parti, de lui demander de documenter et de créer un processus pour intégrer un nouveau développeur, l'installation du logiciel, les packages requis, le processus à déployer sur les serveurs d'applications de production, etc. cela existe, et je fais tourner mes roues en essayant de faire fonctionner mon ordinateur comme une machine de développement fonctionnel. Mais elle ne semble pas comprendre la nécessité d'un tel processus. Apparemment, le nouveau développeur qui a remplacé celui qui est parti utilisait une machine préconfigurée pour notre environnement, donc même le nouveau développeur ne pourrait pas configurer une nouvelle machine si nous ajoutions un autre développeur.
Ma question est en deux parties:
Ai-je tort de supposer qu'un processus d'intégration et de configuration d'un nouvel ordinateur pour faire partie de notre écosystème de développement devrait exister?
Suis-je un bébé pleurnichard et dois-je comprendre le processus et créer un document par moi-même?
la source
Réponses:
Tout d'abord, il est étrange qu'un développeur doive configurer l'environnement de travail. Cette tâche est généralement destinée aux administrateurs système. Donc, compte tenu du fait que ce n'est pas quelque chose que vous devriez faire du tout, vous avez le droit de vous attendre à ce que quelqu'un d'autre le fasse pour vous.
Dans la plupart (sinon la totalité) des entreprises, il y a un délai de préavis. Cela varie généralement d'une semaine à un mois. Mais de toute façon, ce temps suffit à la personne qui part pour aider l'entreprise _ à faire de la documentation, à ajouter des commentaires au code, à documenter l'architecture, etc. J'ai bien peur qu'il soit trop tard pour le faire maintenant, mais ne l'oubliez pas la prochaine fois que quelqu'un partira.
Vous avez tout à fait raison de vous attendre à ce qu'il y ait un processus de mise en place d'un nouvel environnement. En fait, si votre entreprise se développe et que vous avez plus de développeurs, vous serez confronté au même problème - cela pourrait être un argument lourd pour convaincre votre patron. Vous pouvez même utiliser l'argument pour convaincre la direction d'embaucher un administrateur système pour de telles tâches (je présume que vous n'en avez pas car vous êtes confronté au problème). En plus de définir l'environnement de développement, si vous avez une nouvelle machine, elle doit être intégrée au réseau local, etc.
la source
Non. Avoir ces processus évitera les problèmes que vous avez déjà rencontrés. Dans certaines grandes organisations, il existe une image disque standard de ce à quoi devrait ressembler la machine d'un développeur. Lorsqu'un nouveau développeur est embauché, un ordinateur disponible avec les bonnes spécifications matérielles est effacé et réimagé à l'aide de cette image de disque "développeur". Une liste de contrôle standard (comprenant parfois l'installation de logiciels de post-imagerie pour certains outils non inclus dans l'image) est suivie par les techniciens qui le font pour s'assurer que toutes les machines de développement démarrent de la même manière (les utilisateurs peuvent les ajuster et les modifier après avoir obtenu eux - à leurs risques et périls!).
De même, certaines applications avec une configuration notoirement complexe ont des documents expliquant aux nouveaux développeurs comment extraire le code, configurer le serveur, construire et déployer l'application localement. Une application a même un script de configuration uniquement pour les postes de travail pour faciliter ce processus.
Vous l'êtes, mais seulement un petit peu. C'est une chose de dire que tout cela aurait dû être documenté depuis longtemps, et le développeur qui a quitté aurait dû effectuer un transfert complet des connaissances vers leurs jours de remplacement (ou semaines si possible) avant leur départ. Il semble que rien de tout cela ne se soit produit, et c'est maintenant du passé.
Et maintenant? Je doute que le développeur qui est parti sera d'une grande aide. Ils ont déjà un nouvel emploi de jour et qui sait avec quoi ils sont occupés dans leur propre vie. Je doute qu'il y ait des motifs légaux que votre manager pourrait utiliser pour les forcer à aider. Ce serait bien s'ils prenaient quelques heures de leur temps pour répondre à certaines questions, mais ne comptez pas là-dessus. Il semble que vous soyez coincé à en découvrir la plupart par vous-même. Cela vous donne la possibilité de documenter le processus approprié de manière approfondie et de bien faire les choses. Ceux qui vous suivent vous en remercieront! Bonne chance!
la source
Tout d'abord, vous devez quitter Visual SourceSafe. Je pense que cela doit être dit. Passez au moins à TFS. Et il existe également d'autres options.
Maintenant que c'est à l'écart. Je pense que c'est un cas de «si vous voulez que les choses soient bien faites». exécuter le raccourci d'application) et avoir une application qui fonctionne.
Une option consiste à créer un environnement de travail à partir de zéro et à l'utiliser comme image de développeur de base. Lorsqu'un développeur embarque, tout ce que vous avez à faire est de déployer cette image sur sa machine et cela devrait fonctionner.
Il existe des livres sur la façon de déplacer votre environnement vers un état plus informel. J'aime moi-même la livraison continue et l' intégration continue de la série Fowler, mais il existe d'autres options.
la source
Lorsque j'ai commencé mon travail actuel, nous avions une procédure documentée pour configurer un PC développeur.
J'ai suivi la procédure par moi-même, en évitant résolument l'aide de l'équipe existante.
(Les connaissances doivent être incorporées dans le document, pas le développeur qui a été le plus longtemps.)
J'ai marqué la procédure avec des changements de ligne rouge là où elle était erronée ou incomplète, et une semaine plus tard, j'avais deux choses, une procédure qui fonctionnait et un PC de développement fonctionnel.
Après une panne de disque dur un an plus tard, il a fallu 2 jours pour reconstruire.
Dites à votre patron: si le disque dur tombe en panne sur ce PC, aucun développement ne se produira!
J'ai décidé que 2 jours étaient une perte de deux jours ....
Nous utilisons maintenant des machines virtuelles avec des images disque pour chaque projet de développement.
Le programme d'installation consiste à copier l'image de la machine virtuelle sur le PC cible et à la démarrer. Il y a une icône appelée "runme" sur laquelle vous cliquez, elle vous demande votre nom d'utilisateur puis change le nom d'utilisateur utilisé pour accéder au code source en votre propre. Il modifie également le champ d'auteur du document vierge de l'EDI en votre nom.
(J'ai écrit runme dans environ 2 heures, nous sommes des développeurs, nous programmons nos problèmes)
Nos PC de développement sont des machines standard à l'exception d'un serveur VM.
Nous utilisons virtualbox, ce qui n'est pas cher.
L'utilisation de machines virtuelles permet de remplacer une machine en 20 minutes . Cette tâche serait plus rapide si nous avions un Gigabit Ethernet pour copier la VM.
Pleine discrétion: je suis le chef d'équipe où je travaille et ma direction me laisse libre cours (-ish).
la source
Il devrait y avoir une documentation indiquant quel logiciel est nécessaire pour compiler et exécuter l'application.
Il devrait également y avoir une documentation décrivant ce dont une boîte client a besoin pour exécuter l'application.
Ce n'est pas la même liste.
Si votre entreprise devait embaucher un nouveau développeur, combien de temps devrait-on s'attendre à ce qu'elle commence à coder? Un jour? Une semaine? Sans savoir quel logiciel est nécessaire pour compiler le code, cela peut être un processus d'essai et d'erreur qui peut prendre un certain temps. Mais, cela ne devrait être que quelque chose qui doit être fait une fois.
Ma question est, que fait le nouveau développeur? Ce devrait être son travail, pas le vôtre. Il est le remplaçant de l'autre gars. Oui, ça craint qu'il soit entré dans un environnement sans documentation, mais ce devrait être sa tâche de documenter les choses. Demandez-lui de s'asseoir et de comprendre ce qu'est l'environnement de développement et de le documenter. Demandez-lui de comprendre et de documenter ce qui est nécessaire pour exécuter l'application sur une boîte client.
Quant à contacter l'ancien développeur, je ne le ferais pas. À mon humble avis, si un développeur quitte une entreprise sans documentation ni transfert de connaissances, il espère être appelé à effectuer certains travaux à un rythme de consultation. Il n'est pas professionnel et ne devrait pas être récompensé. Oui, cela peut prendre un peu plus de temps pour le découvrir par vous-même, mais vous / l'équipe apprendrez quelque chose au cours du processus et la documentation produite sera à jour et à jour.
la source