透過 30 萬筆數據分析,日本人發現了軟體開發的三大成功撇步

軟體開發的過程在過去大約十年間有了巨大的轉變,其中一個關鍵轉變便是社群程式碼網站的進化,如 GitHubBitBucket

這些網站讓任何人都能自己開始一個軟體合作計畫,其他開發者能夠在自願的基礎上提供協助。上百萬的人都利用過這些網站來建立軟體,有時候還會造成意想不到的成功。

有些計劃比起其他都來得成功,而這引來了一個有趣的問題:這些網站上成功與不成功的計畫,差別在哪?

今天,我們可以從日本奈良先端科學技術大學院大學的吉川友也、以及 NTT 都科摩實驗室身上得到答案。這些人分析了超過三十萬筆共同合作軟體計劃的特性,將成功的要素分離出來。從這樣的數據挖掘,他們首次提供了關於社群程式設計成功的見解。

外來開發者如果想要追蹤某個計劃的進度,可以對計畫「標註星號」,這是 GitHub 上類似書籤的功能。某個計劃被標註的星號越多,就代表它越受歡迎。這些外來開發者也可以利用「提出要求」這個過程來要求改變計畫,例如增加功能等等。

吉川跟同事從 GitHub 下載超過三十萬筆案件的資料,開始他們的研究。資料包括內在開發者、收到的星星數以及獲得的要求數。接著分析計畫的效率,包括計算每個計劃團隊的成員、計畫的受歡迎程度、完成他人提出的要求等等。

  • 一項計畫不要超過 60 人

研究結果提供了令人驚豔的、關於社群程式設計生態的見解。吉川與同事說,內在開發者的數量對一個計劃的成敗影響甚大,「內在成員越多的計畫有越高的動力、受歡迎程度與社交力。

然而,大型計劃也有它的缺點。衡量效率的其中一點,是每個內在成員的貢獻多寡。吉川與同事說數據顯示,最有效率的計畫都是單人獨自工作。

當計劃逐漸成長,在兩人與六十人之間效率是差不多的,但當超過六十人後就會急速下滑。「我們的結論是,如果想要計畫有效率,計畫中就不該超過六十個開發者。」

  •  分工要平均,且為蘋果產品設計的軟體最受歡迎

團隊也研究了內在成員的分工。大致來說,計畫團隊分工越平均,計畫越可能活躍。當計劃收到外來開發者的要求改變,越能滿足這些要求的計畫越可能受到歡迎。他們也研究了哪種計劃最容易受到歡迎,毫不意外地,他們說為蘋果產品設計的軟體最受到歡迎。

對這種逐漸普及的軟體開發型態來說,這是一項很有趣的研究。GitHub 說,他們已經有超過六百萬名登記用戶。

這些人已經找出某些端倪,導致今日研究結果的原因也可能是某些研究尚未指出的變因。找出解答最好的辦法是有人把這項研究中的經驗教訓付諸實踐,看看是否真有其事。我們當然可以合理推斷,照著他們的結論就可能做出好的結果。

致所有開發者!

 (資料來源:MIT Technology Review;圖片來源:opensourceway