En quoi reconnaît-on un bon développeur ? Quelles questions se pose-t-il lorsqu’il démarre le développement d’une fonctionnalité ?
Il s’agit ici d’expliquer ce à quoi le développeur doit penser lorsqu’il reçoit des consignes ou un cahier des charges. Il ne s’agit pas de reproduire simplement ce qui y est indiqué mais de réfléchir à tous les petits détails qui n’ont pas été spécifiés par le commanditaire, que ce soit au niveau du code ou des aspects fonctionnels.
Bien entendu, dans les équipes d’une certaine taille, cela est moins vrai car le développeur travaille avec un chef de projet et parfois aussi avec un assistant chef de projet dont le travail est justement de penser à tous ces détails liés au développement des nouvelles fonctionnalités.
Voici donc 4 questions que se posent un développeur aguerri !
Mon développement va-t-il durer dans le temps ?
La question du développeur en d’autres termes est : est-ce que mon développement fonctionnera toujours dans quelques temps (à moyen ou long terme) ?
On peut prendre par exemple le fait de ne pas avoir penser à intégrer un système de pagination sur une liste de données qui, au moment du développement, est assez courte.
Cela peut être plus subtil comme le fait d’arranger son code pour qu’il soit simple à faire évoluer. Il faut également laisser de la place pour de futures fonctionnalités à ajouter. Par exemple, penser à intégrer les mécanismes pour que tous les textes en dur soit traduisibles sans avoir à éditer le code permettra, dans le futur, que la fonctionnalité fonctionne avec un site multi-langue.
Est-ce que j’ai pensé à tous les cas de figure ? Est-ce que je me suis mis à la place de mon client ?
Les développeurs apprennent dès leurs études qu’il faut se mettre à la place du client (ou de l’utilisateur) et anticiper les erreurs qui pourraient être faites lors de l’utilisation de la fonctionnalité développée.
Le clic sur un bouton de soumission, alors que tous les champs ne sont pas remplis, est l’exemple type auquel tout développeur est vite confronté. Quelles sont les réponses, les éléments à mettre en place pour être sûr que la fonctionnalité est complète? Ce sont tous ces points auquel le développeur doit réfléchir en amont du développement pour réussir et être efficace dans son travail.
Que vais-je devoir mettre en place pour assurer la sécurité des informations traitées ?
Cette question est critique et complexe car les enjeux sont conséquents. Voici quelques exemples qui décrivent en quoi c’est important :
- Protection des données personnelles. Ne pas sécuriser une url intermédiaire peut permettre à une personne mal attentionnée de récupérer les informations personnelles d’un client ou d’un membre du site,
- Sécurité du code. Protéger son code pour éviter que des personnes mal attentionnées analysent le code pour y trouver une faille,
- Sécurité de la sauvegarde des données : permettre la soumission d’un formulaire ou d’une action sans contrôle derrière peut engendrer des erreurs en base de données qui auront un impact sur le reste de la fonctionnalité.
Une méthode de développement permettant d’éviter ces erreurs est l’utilisation de tests unitaires.
Est-ce que j’optimise bien le temps que je passe sur mon développement ?
Dans un monde parfait, il y a de nombreuses choses à prendre en compte et tout ce qui a été dit plus haut peut représenter une charge de travail énorme.
C’est au développeur de savoir juger ce qui doit être fait et ce qui ne peut pas être fait dans les délais. En effet, le développeur se doit d’être professionnel vis à vis du client et cela ne doit pas avoir d’impact sur la livraison du développement au client.
Si toutefois une fonctionnalité parait indispensable au développement mais que son développement impacte les délais de livraison, il en fera part en amont à sa hiérarchie ou au commanditaire pour trouver une solution.
Et vous qu’en pensez-vous ? Quels autres questions vous posez-vous si vous êtes développeur ? Qu’exigez-vous de vos développeurs si vous managez une équipe ?
Dites nous tout dans les commentaires !
Join the conversation