J'ai donc commencé à travailler pour un grand corp., L'un de ceux avec 3 lettres dans le nom, et ils essaient de devenir Agile, mais ont des tonnes de processus, que je ne pense pas être Agile.
Celui qui m'a le plus enroulé sont les revues de code. Mon dernier emploi était avec une startup qui, je dirais, est l'équipe de développement la plus agile que j'ai vue, sur laquelle et / ou jamais entendu parler.
Quoi qu'il en soit, mon argument est que les revues de code sont une perte de temps dans le développement itératif ou Agile où l'UX / UI est extrême / intense (pensez à la perfection Apple / Steve Jobs). Peut-être que quelqu'un ici peut aider à comprendre avant de me virer?
Voici mon processus de développement et celui de ma dernière startup ... très Agile.
Nous effectuons les premières fonctionnalités pour trier les tâches / tâches de développement. Nous simulerions quelques versions et les présenterions aux utilisateurs, à l'équipe et au marketing pour obtenir des commentaires. Nous faisons ensuite une autre itération de maquette pour obtenir un tour des mêmes intervenants ci-dessus. Ensuite, nous divisons le travail et commençons. Nous avons des jalons et des dates à respecter, mais nous continuons de brancher. Nous n'avons aucun examen de code pendant tout cela. Plusieurs fois au cours des semaines de notre développement, nous tenons à nouveau des sessions avec les parties prenantes pour voir si elles conviennent toujours que les fonctionnalités / fonctions / UX / UI sont toujours adaptées et conformes à l'objectif.
À l'approche de la fin du cycle d'itération de 8 semaines, le contrôle qualité commence les tests, puis il passe aux utilisateurs alpha et enfin aux utilisateurs bêta. Mais pendant l'alpha et la bêta, les développeurs passent en revue les nouvelles fonctionnalités et les anciennes fonctionnalités en apportant des changements itératifs quotidiens ou horaires à l'interface utilisateur pour améliorer l'expérience utilisateur. Une fonctionnalité en cours de développement dans cette version pourrait donc être modifiée 3 fois de plus au cours des quatre dernières semaines pour l'améliorer et la perfectionner ou ajouter quelques petites fonctionnalités (par exemple, rendre le composant un peu plus lisse ou plus intelligent). Parfois, les changements peuvent être superficiels, ce qui signifie qu'aucune opération CRUD n'est changée ou modifiée, mais toutes les modifications de l'interface utilisateur uniquement.
Donc, avec ce type de processus de développement, extrême Agile, les revues de code ne seraient-elles pas une perte de temps? Ce qui signifie que si un autre développeur ou deux examinaient mon code, mais que ce code change encore 3 fois avant de sortir, à cause de toutes les améliorations UI / UX, ne perdons-nous pas notre temps les 3 premières fois, ils l'ont examiné code comme ce code / composant / UI a été mis au rebut?
Nous n'avons jamais eu beaucoup de problèmes de qualité avec ce processus et oui si un développeur quittait toutes les connaissances, mais nous avons toujours trouvé des développeurs intelligents pour les récupérer et les reprendre.
Et oui, nous avons beaucoup de testeurs car ils peuvent avoir à retester les choses 3 ou 4 fois. Aussi, s'il vous plaît, ne vous attardez pas à demander pourquoi tous les changements UI / UX ... c'est juste comment les choses se font ... été alors c'est pourquoi l'application gagne des tonnes de prix pour UI / UX et les utilisateurs tueront pour le app. Le processus de réflexion est de savoir si je peux améliorer encore quelque chose de 2% parce que j'ai une heure supplémentaire, alors faites-le. Les utilisateurs seront plus heureux, ce qui signifie plus de $ ou d'utilisateurs. Et oui, nos utilisateurs sont d'accord avec le fait que l'application change continuellement parce que c'est ainsi que cela a été fait depuis le premier jour, donc ils ne la voient pas comme mauvaise ou négative.
J'espère que ce message ne sera pas aussi pompeux, mais je ne vois pas comment les critiques de code ne sont pas du gaspillage. Peut-être que 2% de tout notre code dans le code examiné contient des bogues. Chaque version, nous pourrions trouver 3 bogues via la révision du code. Donc, cela finit par être 40 heures de révision de code par développeur et par version (4 x 40 = 160 heures) pour trouver 3 à 5 bogues? Les chances sont de 50% que ces 3 à 5 bogues auraient été détectés par le QA de toute façon. Ne serait-il pas préférable de consacrer ces 40 heures par développeur à ajouter une nouvelle fonctionnalité ou à améliorer celles existantes?