L'exploration de données révèle comment le codage social réussit (et échoue)

Le processus de développement de logiciels a subi une énorme transformation au cours de la dernière décennie. L'un des principaux changements a été l'évolution des sites Web de codage social, tels que GitHub et BitBucket.





Ceux-ci permettent à quiconque de démarrer un projet logiciel collaboratif auquel d'autres développeurs peuvent contribuer sur une base volontaire. Des millions de personnes ont utilisé ces sites pour créer des logiciels, parfois avec un succès extraordinaire.

Bien sûr, certains projets ont plus de succès que d'autres. Et cela soulève une question intéressante : quelles sont les différences entre les projets réussis et non réussis sur ces sites ?

Aujourd'hui, nous obtenons une réponse de Yuya Yoshikawa de l'Institut des sciences et technologies de Nara au Japon et de quelques amis des laboratoires NTT, également au Japon. Ces gars ont analysé les caractéristiques de plus de 300 000 projets logiciels collaboratifs sur GitHub pour distinguer les facteurs qui contribuent au succès. Leurs résultats fournissent les premières informations sur le succès du codage social à partir de ce type d'exploration de données.



Un projet de codage social commence lorsqu'un groupe de développeurs décrit un projet et commence à travailler dessus. Ce sont les développeurs internes et ont le pouvoir de mettre à jour le logiciel dans un processus connu sous le nom de validation. Le nombre de commits est une mesure de l'activité sur le projet.

Les développeurs externes peuvent suivre l'avancement du projet en le mettant en vedette, une forme de bookmarking sur GitHub. Le nombre d'étoiles est une mesure de la popularité du projet. Ces développeurs externes peuvent également demander des modifications, telles que des fonctionnalités supplémentaires, etc., dans le cadre d'un processus appelé demande d'extraction.

Yoshikawa et co commencent par télécharger les données associées à plus de 300 000 projets depuis le site Web GitHub. Cela inclut le nombre de développeurs internes, le nombre d'étoiles qu'un projet reçoit au fil du temps et le nombre de pull requests qu'il reçoit.



L'équipe analyse ensuite l'efficacité du projet en calculant des facteurs tels que le nombre de commits par membre de l'équipe interne, la popularité du projet au fil du temps, le nombre de pull requests satisfaites, etc.

Les résultats fournissent un aperçu fascinant de la nature du codage social. Yoshikawa et co affirment que le nombre de développeurs internes sur un projet joue un rôle important dans son succès. Les projets avec un plus grand nombre de membres internes ont une activité, une popularité et une socialité plus élevées, disent-ils.

Cependant, il y a aussi un inconvénient aux grands projets. Une mesure de l'efficacité d'un projet est le nombre de validations par membre de l'équipe interne. Yoshikawa et co affirment que les données montrent que les projets les plus efficaces impliquent une seule personne travaillant seule.



Au fur et à mesure qu'un projet grandit, l'efficacité est à peu près constante dans les projets comptant entre deux et 60 membres, mais chute fortement par la suite. Nous concluons qu'il n'est pas souhaitable d'impliquer plus de 60 développeurs dans un projet si nous voulons que les membres du projet travaillent efficacement, disent-ils.

L'équipe étudie également la répartition du travail entre les membres internes. En général, les équipes dont le travail est mieux réparti sont plus susceptibles d'avoir une activité plus élevée.

Et lorsque les projets reçoivent des demandes de modifications de la part de développeurs externes, ceux qui répondent fidèlement à ces demandes sont susceptibles d'être plus populaires.



Ils ont également mesuré les types de projets les plus populaires. Sans surprise, ils disent que les logiciels conçus pour fonctionner sur les différents produits d'Apple ont la plus grande popularité.

C'est un aperçu intéressant d'une forme de plus en plus courante de développement de logiciels. GitHub indique à lui seul qu'il compte 6 millions d'utilisateurs enregistrés.

Bien sûr, mais ces gars-là ont trouvé des corrélations et une question importante est celle de la causalité. Il est possible, par exemple, que les corrélations positives qu'ils ont trouvées soient le résultat de certaines variables cachées qui ne sont pas révélées dans cette étude.

La meilleure façon de le savoir est que quelqu'un mette en pratique les leçons apprises dans cette étude et voit si elles fonctionnent. Il y a certainement de bonnes raisons de penser que bon nombre de leurs conclusions sont liées à de bonnes pratiques.

Place aux développeurs !

Réf : arxiv.org/abs/1408.6012 : Collaboration sur les médias sociaux : analyse de projets réussis sur le codage social

cacher