Le leadership ne voit pas de valeur dans le processus standard pour la configuration de la machine et la nouvelle orientation du développeur


9

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:

  1. 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?

  2. Suis-je un bébé pleurnichard et dois-je comprendre le processus et créer un document par moi-même?


1
Cela dépend en grande partie de la technologie utilisée et d'autres détails. Dans certaines piles technologiques, vous pouvez trouver les dépendances les plus importantes qui doivent être installées dans quelques fichiers de configuration, dans d'autres cas, cela doit être documenté. Je pense que le développeur qui travaille maintenant avec le système devrait savoir le mieux quelles informations sont absolument cruciales.
thorsten müller

2
Et cela devrait être une leçon de vie. Mettre les choses en place est la moitié du travail, s'assurer que tout ne s'effondre pas lorsque vous partez est l'autre moitié.
MrFox

Ça commence à me frustrer, j'essaie d'être proactif, mais il y a des problèmes de configuration qui me manquent. (Je posterai des trucs d'erreur spécifiques en cas de débordement) Visual Source Safe, IIS 7, code d'application ASP.NET.
OpenCoderX

1
Visual Source Safe hein? Si c'est le cas, je soupçonne que ce que le gars précédent a fait n'était pas horriblement brillant. Là encore, au moins, il y a le contrôle de source.
Wyatt Barnett

1
Je suis un GIT die hard. Une fois que j'aurai une version du site exécutée localement, j'utiliserai GIT pour suivre mes modifications, puis j'enregistrerai ma branche principale GIT sur VSS. Contrôle de source dans le contrôle de source.
OpenCoderX

Réponses:


5

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.


Nous avons un administrateur système et leur position est qu'ils configurent la machine avec un accès réseau de base, des droits d'utilisateur (Active Directory) et installent n'importe quel logiciel. Par exemple, j'ai dû travailler avec l'administrateur réseau pour installer Visual Source Safe et Visual Studio, mais après l'installation, c'est là que leurs connaissances s'arrêtent. Il n'a jamais été de leur ressort de faire ces configurations.
OpenCoderX

1
Peut-être que je suis trop gâté _ notre administrateur système peut même exécuter des requêtes sql lors de la publication du projet (sans connaître sql))). Dans ce cas, vous devez absolument avoir la documentation))
superM

Dans de nombreuses entreprises, en particulier les entreprises paranoïaques ou gérées de manière incompétente, la "période de préavis" est le temps qu'il faut pour quitter le bureau des ressources humaines ou du directeur pour se résigner à être escorté sommairement par la porte.
jfrankcarr

Je pense que le responsable qui est parti a donné un préavis de plusieurs semaines, mais je ne sais pas ce qu'il a fait pour nous préparer à son départ. Je pense qu'ils ont surtout formé le remplaçant, qui va bien, mais que la machine qu'ils utilisent a été installée par la personne qui est partie. J'aurais dû mettre un peu plus le nez dans la situation, mais jusqu'à ce que leur programme de départ ne soit pour moi qu'un passe-temps. J'ai été repris lorsque j'ai découvert que notre nouveau développeur en savait autant que moi sur la mise en place d'un nouveau système.
OpenCoderX

Ce sera différent pour différentes entreprises, mais partout où j'ai travaillé, le processus de configuration de la machine a dû être documenté comme une obligation d'entiercement.
JohnL

5

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?

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.

Suis-je un bébé pleurnichard et dois-je comprendre le processus et créer un document par moi-même?

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!


1

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.


1

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).


Je me suis souvent posé la question de faire des VM au lieu de tout configurer sur le PC. Ayez une machine virtuelle agréable et vierge pour le développement et ne vous inquiétez pas que les informaticiens aient forcé une mise à jour pour bousiller votre système de développement.
Joel Rondeau

Une fois, je déboguais un programme C ++ interagissant avec de nombreuses DLL système lors de l'exécution d'une mise à jour antivirus. Il a changé certaines des DLL. Je suppose que je n'allais plus jamais reproduire ce test.
Tim Williscroft

0

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.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.