L'âge d'un projet
Est-ce que cela fait une différence que votre projet date de 2 ou 3 semaines ? Probablement pas. Est-ce que ça fait une différence qu'il ait 3 semaines ou 3 ans ? Probablement plus, oui.
Je parlais récemment à un ami que la façon dont vous travaillez sur un projet doit changer en fonction de l'endroit où se trouve le projet dans son cycle de vie.
Est-il encore jeune, non éprouvé, n'est-il pas adapté au marché des produits et est-il en phase exploratoire ?
Ou avez-vous trouvé vos clients et vous ne pouvez pas répondre à la demande de sorte que vous vous retrouvez maintenant dans une phase de mise à l'échelle ?
Ou peut-être que le pic est déjà passé et que vous êtes maintenant en phase de maintenance ?
Cela compte et devrait affecter votre façon de travailler.
Lorsque vous explorez par définition, vous ne savez pas ce qui va fonctionner, alors c'est bien d'expérimenter, de jouer. Ce qui signifie : vous n'êtes pas obligé de suivre les meilleures pratiques tout le temps. Peut-être avez-vous moins de tests que vous ne le pensez. Peut-être qu'une partie de l'architecture est constituée de bâtons de popsicle et de ruban adhésif. Peut-être que certains codes importants ont un gros:
TODO : à éviter
Dans cette phase, il y a beaucoup de choses que vous ne savez pas encore - quelle partie du projet est importante, quelle est vraiment la partie la plus porteuse, ce qui devra changer le plus souvent, ce qui va casser fréquemment - vous avez donc besoin d’apprendre, le plus vite possible.
Une fois que votre projet aura besoin d'évoluer, vous en apprendrez encore plus : vous découvrirez maintenant où se trouvent les goulots d'étranglement, ce qui se brisera et quand. C'est à ce moment que vous devez rendre les pièces porteuses réellement porteuses. C'est à ce moment-là que vous enveloppez les choses qui ne devraient jamais, jamais se casser à nouveau si solide dans les tests que les régressions deviennent presque impossibles. Il est temps de mettre en place une architecture appropriée (ou d'ajuster tout ce que vous aviez en place) ; une architecture qui représente tout ce que vous avez appris sur la façon dont le système est utilisé et comment il devrait fonctionner.
Une fois que le tout a trouvé un bon rythme, vous êtes dans la phase de maintenance. C'est à ce moment que vous pouvez trier vos fichiers dans des compartiments qui décrivent la fréquence à laquelle ils changent :
ah, ces deux-là, nous n'avons pas eu à les toucher depuis 2 ans ; celui-ci et celui-là, nous devons les changer chaque semaine, car nous devons apporter de légers ajustements à la logique métier ; ces fichiers ici, nous travaillons dessus parce que nous avons réalisé que c'était une source constante de bogues depuis des années…
Si vous ne savez pas où vous en êtes sur l'échelle de temps, vous finissez par faire les bonnes choses au mauvais moment : trop vous soucier des goulots d'étranglement ou des performances lorsque vous n'avez pas encore un seul utilisateur. Pirater des éléments dans une partie très importante. du projet et le casser pour les clients, etc.
Tout cela est, bien sûr, plus facile à dire qu'à faire. C'est même dur. Mon ami et moi avons tous les deux dit que c'est la marque des développeurs "très" expérimentés de pouvoir changer de manière transparente leur mode de travail en fonction du projet sur lequel ils se trouvent.
Surtout dans le monde de la programmation où les meilleures pratiques et modèles sont généralement présentés sans contexte. C'est souvent "dans l'entreprise X, nous faisons Y avec beaucoup de succès", mais ce serait plus précieux si c'était "dans l'entreprise X, sur un projet Z de 4 ans, extrêmement réussi, avec 60 développeurs travaillant dessus, nous avons maintenant découvert que Y est bien mieux que ces 5 autres choses que nous avons essayées il y a des années ".
(J'ai été vraiment impressionné en écoutant Kent Beck expliquer que chez Facebook/Meta, ils sont tellement conscients de ces cycles de vie qu'ils mettent différentes équipes sur des projets en fonction de l'endroit où ils se trouvent dans le cycle de vie, ils appellent ça la courbe 3x.)
Merci de m’avoir lu !
Inscrivez-vous ici si vous souhaitez recevoir ces e-mails chaque semaine.