Eksploracja danych ujawnia, w jaki sposób kodowanie społecznościowe odnosi sukces (i zawodzi)

Proces tworzenia oprogramowania przeszedł ogromną transformację w ciągu ostatniej dekady. Jedną z kluczowych zmian była ewolucja serwisów społecznościowych, takich jak GitHub i BitBucket.





Pozwalają one każdemu na rozpoczęcie wspólnego projektu oprogramowania, do którego inni programiści mogą dobrowolnie wnieść swój wkład. Miliony ludzi korzystały z tych witryn do tworzenia oprogramowania, czasami z niezwykłym sukcesem.

Oczywiście niektóre projekty są bardziej udane niż inne. I to rodzi interesujące pytanie: jakie są różnice między udanymi i nieudanych projektami na tych stronach?

Dzisiaj otrzymujemy odpowiedź od Yuyi Yoshikawy z Instytutu Nauki i Technologii Nara w Japonii oraz kilku kumpli z Laboratoriów NTT, również w Japonii. Ci faceci przeanalizowali cechy ponad 300 000 współpracujących projektów oprogramowania na GitHub, aby odróżnić czynniki, które przyczyniają się do sukcesu. Ich wyniki dostarczają pierwszych wglądów w sukces kodowania społecznościowego z tego rodzaju eksploracji danych.



Projekt kodowania społecznościowego zaczyna się, gdy grupa programistów zarysowuje projekt i rozpoczyna pracę nad nim. Są to wewnętrzni programiści i mogą aktualizować oprogramowanie w procesie znanym jako zatwierdzenie. Liczba zatwierdzeń jest miarą aktywności w projekcie.

Deweloperzy zewnętrzni mogą śledzić postęp projektu, umieszczając go gwiazdką, co jest formą zakładek w serwisie GitHub. Miarą popularności projektu jest liczba gwiazdek. Ci zewnętrzni deweloperzy mogą również żądać zmian, takich jak dodatkowe funkcje itp., w procesie zwanym żądaniem ściągnięcia.

Yoshikawa i spółka zaczynają od pobrania danych związanych z ponad 300 000 projektów ze strony GitHub. Obejmuje to liczbę wewnętrznych programistów, liczbę gwiazdek, które projekt otrzymuje w czasie oraz liczbę otrzymywanych żądań ściągnięcia.



Następnie zespół analizuje skuteczność projektu, obliczając takie czynniki, jak liczba zatwierdzeń na członka zespołu wewnętrznego, popularność projektu w czasie, liczba zrealizowanych żądań ściągnięcia i tak dalej.

Wyniki dostarczają fascynującego wglądu w naturę kodowania społecznego. Yoshikawa i spółka twierdzą, że liczba wewnętrznych programistów w projekcie odgrywa znaczącą rolę w jego sukcesie. Mówią, że projekty z większą liczbą członków wewnętrznych mają większą aktywność, popularność i społeczność.

Jednak duże projekty mają również wadę. Jedną z miar efektywności projektu jest liczba zatwierdzeń na członka zespołu wewnętrznego. Yoshikawa i spółka twierdzą, że dane pokazują, że najbardziej efektywne projekty obejmują pojedynczą osobę pracującą w pojedynkę.



W miarę rozwoju projektu wydajność jest w przybliżeniu stała w projektach liczących od dwóch do 60 członków, ale po tym gwałtownie spada. Doszliśmy do wniosku, że niepożądane jest angażowanie w projekt ponad 60 programistów, jeśli chcemy, aby członkowie projektu pracowali wydajnie, mówią.

Zespół bada również rozkład pracy pomiędzy członków wewnętrznych. Ogólnie rzecz biorąc, zespoły z bardziej równomiernie rozłożoną pracą mają większe szanse na większą aktywność.

A kiedy projekty otrzymują prośby o zmiany od zewnętrznych programistów, te, które wiernie je spełniają, prawdopodobnie będą bardziej popularne.



Mierzyli również rodzaje projektów, które cieszą się większą popularnością. Nic dziwnego, że największą popularnością cieszy się oprogramowanie przeznaczone do działania na różnych produktach Apple.

To ciekawy wgląd w coraz bardziej powszechną formę tworzenia oprogramowania. Sam GitHub twierdzi, że ma 6 milionów zarejestrowanych użytkowników.

Oczywiście, ale ci faceci znaleźli korelacje i ważne pytanie dotyczy związku przyczynowego. Możliwe jest na przykład, że odnalezione przez nich pozytywne korelacje są wynikiem pewnych ukrytych zmiennych, które nie zostały ujawnione w tym badaniu.

Najlepszym sposobem, aby się tego dowiedzieć, jest zastosowanie w praktyce lekcji wyciągniętych z tego badania i sprawdzenie, czy działają. Z pewnością istnieje dobry powód, by sądzić, że wiele z ich wniosków jest związanych z dobrą praktyką.

Do deweloperów!

Nr ref.: arxiv.org/abs/1408.6012 : Współpraca w mediach społecznościowych: analiza udanych projektów dotyczących kodowania społecznościowego

ukryć