Je souhaite savoir comment gérer un processus de développement logiciel actuel qui n'a pas été modifié depuis des années et qui finira par entraîner une défaillance du produit et de l'équipe. Oui, probablement la manière la plus simple de résoudre ce problème est de changer d'emploi, mais avec cette économie, c'est plus facile à dire qu'à faire. Cependant, si vous avez des exemples spécifiques et que vous avez vu ou été plusieurs fois dans la même situation et pensez que la meilleure solution pour résoudre ces problèmes est de quitter l'entreprise, veuillez soutenir votre réponse. Le fait est que cette question a vraiment une réponse, surtout si plusieurs experts sur le sujet finissent par indiquer que la meilleure route à suivre est la route A.
Je sais que des tonnes de développeurs ont été ou sont dans des situations similaires. C'est l'une des principales raisons pour lesquelles les entreprises passent de la première place sur leur marché à la dernière voire à la sortie du marché. Espérons que les réponses de cet article aideront d'autres développeurs confrontés à des obstacles similaires. Dans une petite ou une grande équipe de développement, cela se produit généralement:
- Certains développeurs semblent ne pas s'en soucier et décident de suivre le flux et préfèrent laisser le code avec beaucoup d'odeur de code tel qu'il est et le processus de développement tel quel,
- D'autres se lassent de ne pas changer et démissionnent et déménagent dans une autre entreprise,
- D'autres semblent avoir peur de parler et préfèrent rester silencieux,
- Parfois, très peu de développeurs ou un seul essaient de défendre l'amélioration du produit et disent à l'équipe combien il est important de suivre les meilleures pratiques de codage et les avantages de le faire pour les clients, les utilisateurs et l'équipe. Ces types de développeurs décident généralement de rester avec l'équipe pour des raisons telles que la société offre des avantages que très peu de sociétés de logiciels offrent, ou le produit a beaucoup de potentiel, etc.
Le produit de notre équipe n'est qu'une fraction de la source de revenus de la société car elle a un ensemble de produits (cette société n'est pas une société de logiciels / matériel; par conséquent, pas de litige constant en matière de brevets, du moins pour l'instant, ce qui crée des emplois instabilité). Ce que j'ai appris jusqu'à présent au cours de ces années grâce aux expériences d'autres développeurs et mon expérience est que pour vraiment connaître une équipe de développement, cela prend du temps, pas des jours, ni des semaines, mais quelques mois. Pendant le processus d'entrevue, si l'équipe veut vous embaucher ou a besoin de vous; ils font tout sonner bien et ils peuvent vous dire ce que vous voulez entendre. Cependant, la réalité est différente lorsque vous commencez à travailler dans cette équipe et commencez à creuser dans le code et à vous diriger vers le processus SDLC complet. C'est alors qu'en tant que développeur, vous commencez à voir la réalité du travail dans lequel vous vous êtes engagé. Cette réalité fait qu'il est difficile de vouloir passer d'une entreprise à une autre car il est difficile de savoir si l'entreprise dans laquelle vous déménagez sera meilleure ou pire. Oui, vous pouvez lire les avis sur Glassdoor, etc., mais combien de ces avis en ligne sont réels et ne proviennent pas des RH?
Quelle serait la meilleure façon de résoudre les problèmes décrits ci-dessous, étant donné que le gestionnaire, depuis le début, a toujours résisté au changement, et que les développeurs précédents font de même depuis des années?
Manque d'innovation produit depuis des années: Le produit a beaucoup de potentiel et apporte de bons revenus à l'entreprise, mais le produit semble avoir été fabriqué il y a 20 ans. Certains utilisateurs se sont plaints que le produit n'est ni convivial ni intuitif, et d'autres ont mentionné qu'ils sont habitués à des applications comme Gmail et sont frustrés lorsqu'ils utilisent le produit en raison de l'absence de fonctionnalités similaires. Le problème principal ici est que lorsque vous essayez en tant que développeur d'apporter des modifications au produit et commencez à déplacer les principaux éléments du produit à quelques pixels de distance (pour le rendre plus convivial ou intuitif), le gestionnaire panique et vous dit pour le remettre où il était. Si vous essayez d'ajouter une fonctionnalité qui améliorera la productivité des utilisateurs, le gestionnaire vous demande de la supprimer car "les utilisateurs sont habitués à faire le processus tel qu'il est, etc." Je pense que vous avez compris la résistance au changement, à l'amélioration et à l'innovation (le gestionnaire n'est pas ouvert au changement, même lorsque vous, en tant que développeur, fournissez de solides arguments en faveur des avantages). La société a quelques concurrents dans le domaine (les produits de quelques-uns d'entre eux sont bien plus compétitifs), mais d'une manière ou d'une autre, la société a maintenu les clients actuels pendant des années.
Manque de coordination de la gestion de projet: En conséquence, certains projets sont livrés en retard, avec des bogues et certains clients se plaignent (les clients signalent également les bogues), ou le budget est utilisé trop rapidement avant de livrer le projet, etc. Je les ai fournis quelques conseils de coordination de projet et les idées sont maintenant utilisés régulièrement pour suivre l'avancement des projets et des tâches à effectuer.
Mauvaises pratiques de développement de logiciels: l'odeur de code est visible sur la plupart, sinon tous les fichiers, pas de documentation, redondance de code, niveau frontal et principal mélangés sur le même fichier, outils de développement obsolètes, pas de véritable environnement de test ni d'outils de test (il suffit de copier-coller fichiers de l'environnement de développement à la production, puis testez manuellement que les choses semblent bonnes et libérez-les). La plupart des outils de développement que j'utilise pour le développement et les tests sont inconnus de l'équipe, car l'équipe n'utilise que 2 IDE pour le développement de code et le contrôle des sources n'est disponible que pour l'environnement de développement. D'autres développeurs ont essayé d'utiliser les derniers frameworks pour améliorer les problèmes actuels, mais le gestionnaire ne l'aime pas à cause de "que se passe-t-il si vous partez, alors qui va maintenir ce code?, Laissons-le tel qu'il est" Certains de ces développeurs ont déjà quitté et a déménagé dans une autre entreprise.
En résumé, je suis sûr que des situations similaires se produisent pour de nombreux développeurs dans d'autres entreprises, mais en raison de circonstances différentes, un développeur peut préférer rester dans l'équipe plutôt que d'aller dans une autre entreprise pour des raisons telles que (commodité du travail, flexibilité du travail, avantages sociaux ou juste parce qu'une meilleure opportunité n'est pas arrivée). Il n'y a pas d'entreprise parfaite à ma connaissance, mais comment, en tant que développeur, vous comporteriez-vous et aborderiez-vous toutes ces questions afin de garder les choses positives et, finalement, de promouvoir le changement pour l'amélioration du produit et l'amélioration du processus de développement logiciel (si vous en avez plusieurs)? ans d'expérience en développement ou juste quelques-uns)? Je sais que ce message est long, mais j'ai préféré donner des détails supplémentaires pour augmenter les chances d'obtenir des commentaires plus utiles.
Merci beaucoup pour tous vos commentaires et votre temps