Datu ieguve atklāj, kā sociālā kodēšana izdodas (un neizdodas)

Programmatūras izstrādes process pēdējo desmit gadu laikā ir piedzīvojis milzīgas pārmaiņas. Viena no galvenajām izmaiņām ir bijusi sociālās kodēšanas vietņu, piemēram, GitHub un BitBucket, attīstība.





Tie ļauj ikvienam uzsākt sadarbības programmatūras projektu, kurā citi izstrādātāji var piedalīties brīvprātīgi. Miljoniem cilvēku ir izmantojuši šīs vietnes, lai izveidotu programmatūru, dažreiz ar neparastiem panākumiem.

Protams, daži projekti ir veiksmīgāki nekā citi. Un tas rada interesantu jautājumu: kādas ir atšķirības starp veiksmīgiem un neveiksmīgiem projektiem šajās vietnēs?

Šodien mēs saņemam atbildi no Yuya Yoshikawa no Naras Zinātnes un tehnoloģijas institūta Japānā un pāris draugiem NTT Laboratories, arī Japānā. Šie puiši ir analizējuši vairāk nekā 300 000 sadarbības programmatūras projektu GitHub vietnē, lai izjauktu faktorus, kas veicina panākumus. Viņu rezultāti sniedz pirmo ieskatu sociālās kodēšanas panākumos no šāda veida datu ieguves.



Sociālās kodēšanas projekts sākas, kad izstrādātāju grupa izklāsta projektu un sāk darbu pie tā. Tie ir iekšējie izstrādātāji, un viņiem ir tiesības atjaunināt programmatūru procesā, kas pazīstams kā apņemšanās. Saistību skaits ir projekta aktivitātes mērs.

Ārējie izstrādātāji var sekot līdzi projekta gaitai, atzīmējot to ar zvaigznīti, kas ir GitHub grāmatzīmju pievienošanas veids. Zvaigžņu skaits ir projekta popularitātes mērs. Šie ārējie izstrādātāji var arī pieprasīt izmaiņas, piemēram, papildu funkcijas un tā tālāk, procesā, kas pazīstams kā vilkšanas pieprasījums.

Yoshikawa un co sāk, lejupielādējot datus, kas saistīti ar vairāk nekā 300 000 projektu no GitHub vietnes. Tas ietver iekšējo izstrādātāju skaitu, zvaigžņu skaitu, ko projekts saņem laika gaitā, un piesaistes pieprasījumu skaitu, ko tas saņem.



Pēc tam komanda analizē projekta efektivitāti, aprēķinot tādus faktorus kā saistību skaits vienam iekšējam komandas dalībniekam, projekta popularitāte laika gaitā, izpildīto piesaistes pieprasījumu skaits un tā tālāk.

Rezultāti sniedz aizraujošu ieskatu sociālās kodēšanas būtībā. Yoshikawa un citi saka, ka projekta iekšējo izstrādātāju skaitam ir nozīmīga loma tā panākumos. Viņi saka, ka projektiem ar lielāku iekšējo dalībnieku skaitu ir lielāka aktivitāte, popularitāte un sabiedriskums.

Tomēr lieliem projektiem ir arī negatīvie aspekti. Viens no projekta efektivitātes rādītājiem ir saistību skaits uz vienu iekšējās komandas locekli. Yoshikawa un co saka, ka dati liecina, ka visefektīvākie projekti ietver vienu personu, kas strādā vienatnē.



Projektam augot, efektivitāte ir aptuveni nemainīga projektos, kuros ir no diviem līdz 60 dalībniekiem, bet pēc tam strauji samazinās. Secinām, ka nav vēlams projektā iesaistīt vairāk nekā 60 izstrādātājus, ja vēlamies, lai projekta dalībnieki strādātu efektīvi, saka viņi.

Komanda arī pēta, kā darbs tiek sadalīts starp iekšējiem dalībniekiem. Kopumā komandām ar vienmērīgāk sadalītu darbu, visticamāk, būs lielāka aktivitāte.

Un, kad projekti saņem izmaiņu pieprasījumus no ārējiem izstrādātājiem, tie, kas šos pieprasījumus izpilda, visticamāk, būs populārāki.



Viņi arī novērtēja populārāko projektu veidus. Nav pārsteidzoši, ka viņi saka, ka programmatūra, kas paredzēta darbam ar dažādiem Apple produktiem, ir vislielākā popularitāte.

Tas ir interesants ieskats arvien izplatītākā programmatūras izstrādes formā. Tikai GitHub saka, ka tam ir 6 miljoni reģistrētu lietotāju.

Protams, bet šie puiši ir atraduši korelācijas, un svarīgs jautājums ir par cēloņsakarību. Piemēram, iespējams, ka viņu atrastās pozitīvās korelācijas ir dažu slēptu mainīgo lielumu rezultāts, kas šajā pētījumā nav atklāti.

Labākais veids, kā to uzzināt, ir praktiski izmantot šajā pētījumā gūtās atziņas un redzēt, vai tās darbojas. Noteikti ir pamats domāt, ka daudzi viņu secinājumi ir saistīti ar labu praksi.

Uz izstrādātājiem!

Atsauce: arxiv.org/abs/1408.6012 : Sadarbība sociālajos medijos: Veiksmīgu sociālās kodēšanas projektu analīze

paslēpties