WikiTeams
WikiTeams – zespół PJATK prezentuje efekty projektu.
Przyszłość programowania opartego na społecznościach eksperckich.
Już Arystoteles definiował człowieka jako „zwierzę społeczne”. Jedną z bazowych umiejętności dla tej charakterystyki jest zdolność do współpracy i pracy w zespole, uważana obecnie za kluczową dla rozwoju innowacyjnych projektów w gospodarce opartej na wiedzy. Projekt „WikiTeams” prowadzony przez zespół PJATK pod wodzą prof. Adama Wierzbickiego badał współpracę w wirtualnych, emergentnych zespołach, tak charakterystycznych dla współczesnego Internetu, ułatwiając tym samym realizację tego celu.
Prowadzone badania dotyczyły organizacji pracy i zarządzania lub koordynacji wirtualnymi zespołami autorów Wikipedii, czy programistów na platformie GitHub dedykowanej do budowy otwartego oprogramowania (ang. open-source software). Zarówno Wikipedia, jak i GitHub to społeczności twórców, oparte na wiedzy i merytokracji, których sposób działania jest naśladowany przez firmy z nowej gospodarki (co opisał Dan Tapscott w słynnej książce „Wikinomia”) i często określany wspólnym przymiotnikiem „Wiki”.
Specjalizacja poprzez doświadczenie
Ponad 80% programistów, którzy poświęcają swój czas na tworzenie otwartego oprogramowania, ma na celu pozyskanie doświadczenia i doskonalenie swoich umiejętności programistycznych. Wybierają najczęściej platformę GitHub, na której powstało już ponad 30 milionów projektów, nad którymi pracuje ponad 10 milionów programistów.
Proporcja 3 projektów na 1 programistę pokazuje deficyt pracy występujący na tej platformie, gdzie większość projektów jest jednoosobowych. Nieliczne projekty uzyskują ogromną popularność, a nowi programiści wybierają najczęściej najbardziej popularne i aktywne projekty. Prowadzi to do nieefektywnego podziału pracy, a także nie jest z korzyścią dla programistów, których aktywność w bardzo popularnym projekcie będzie znacznie mniej zauważalna.
Badania w projekcie WikiTeams pozwoliły opracować metodę rekomendacji projektów GitHub dla programistów, którzy chcą pracować na tej platformie – mówi prof. Adam Wierzbicki, lider projektu. Metoda ta jest bardziej efektywna od indywidualnego wyboru przez programistów, a jednocześnie sprzyja pozyskiwaniu przez programistę doświadczenia w językach programowania, które preferuje.
Metoda opracowana w ramach badań oparta jest na podobieństwie pomiędzy doświadczeniem programistycznym programisty, a technologiami wymaganymi w aktywnym projekcie. Badania wykazały, że proponowana metoda ma potencjał znacznego zwiększenia efektywności pracy w społeczności programistów GitHub, największej platformy zrzeszającej programistów wokół projektów.
Otwarte Programowanie na rynku
Z punktu widzenia użytkownika, otwarte projekty programistyczne na platformie GitHub przypominają projekty tworzone przez zewnętrzne, komercyjne, firmy programistyczne. Właściciel firmy, który zastanawia się nad wyborem otwartego oprogramowania, które spełnia jego potrzeby, ma alternatywę: może zlecić zewnętrznej firmie (lub własnym pracownikom) wytworzenie oprogramowania o podobnej funkcjonalności, lub kupić takie oprogramowanie, jeżeli już istnieje na rynku.
Jednym z kryteriów wyboru pomiędzy otwartym lub własnym oprogramowaniem jest jakość wsparcia udzielanego w usuwaniu błędów i dodawaniu nowych funkcji oprogramowania. W projekcie WikiTeams opracowano metody oceny wsparcia udzielanego przez zespół programistów OpenSource na platformie GitHub. – podkreśla zespół PJATK odpowiedzialny za projekt.
Opracowane modele pozwalają przewidywać, jak szybko zespół programistów z GitHub będzie likwidował błędy lub dodawał nowe funkcjonalności do oprogramowania. Co więcej, badania wykazały, że jakość wsparcia udzielana przez zespół programistów z GitHub zależy od organizacji i zarządzania zespołem. Zespoły, które mają mniej stałych członków oraz bardziej centralizują pracę, udzielają lepszego wsparcia niż duże i zdecentralizowane zespoły.
Dodatkowo, na jakość wsparcia duży wpływ ma użycie funkcjonalności zarządzania zadaniami udostępnianej przez platformę GitHub.
Badania w projekcie WikiTeams pozwoliły także na stworzenie modelu sieci społecznej dla społeczności autorów Wikipedii. Autorzy, którzy często edytują Wikipedię oraz dyskutują na jej stronach nad artykułami, tworzą sieć znajomości, której struktura ma wpływ na zjawiska społeczne i procesy zachodzące na Wikipedii.
Jednym z przykładów wpływu znajomości jest wybór administratorów na Wikipedii. Sieć znajomości ma także wpływ na jakość artykułów tworzonych na Wikipedii. W modelu Wiki możemy więc pokładać nadzieję na merytoryczny rozwój funkcjonowania Internetu i wymiany wiedzy i doświadczeń.