
หากคุณต้องการใช้ตัวชี้วัดเพื่อติดตามชุมชนซอฟต์แวร์เสรี/โอเพนซอร์ส (FOSS) ของคุณ ตอนนี้คุณเผชิญกับคำถามหนึ่ง: ฉันควรติดตามตัวชี้วัดใดบ้าง?
เพื่อตอบคำถามนี้ คุณต้องรู้ว่าคุณต้องการข้อมูลอะไร เช่น คุณอาจต้องการรู้ความยั่งยืนของชุมชนโครงการหนึ่ง ชุมชนตอบสนองต่อปัญหาเร็วแค่ไหน ชุมชนดึงดูด รักษา หรือสูญเสียผู้มอบสิทธิ์อย่างไร เมื่อคุณรู้ว่าต้องการข้อมูลประเภทใด คุณก็สามารถหากิจกรรมชุมชนใดที่สามารถให้เนื้อหาที่คุณต้องการรู้ได้ โชคดีที่ซอฟต์แวร์เสรี/โอเพนซอร์ส (FOSS) ปฏิบัติตามโมเดลการพัฒนาแบบเปิด ทิ้งข้อมูลสาธารณะจำนวนมากไว้ใน repo การพัฒนาซอฟต์แวร์ เราสามารถวิเคราะห์ข้อมูลเหล่านี้ และรวบรวมข้อมูลที่เป็นประโยชน์จากมัน
ในบทความนี้ ฉันจะแนะนำตัวชี้วัดบางตัว เพื่อให้มุมมองการวิเคราะห์หลายด้านสำหรับชุมชนโครงการของคุณ
1. กิจกรรมของชุมชน (Activity)
กิจกรรมโดยรวมของชุมชนและวิธีที่ชุมชนพัฒนาไปตามกาลเวลา เป็นตัวชี้วัดที่มีประโยชน์มากสำหรับวัดคุณภาพของทุกชุมชน กิจกรรมของชุมชนเป็นความประทับใจแรกในการประเมินปริมาณงานของชุมชน และสามารถใช้ติดตามกิจกรรมประเภทต่างๆ เช่น จำนวน commit ให้ความประทับใจแรกว่าเชื่อมโยงกับปริมาณงานพัฒนา ผ่าน ปัญหาที่เปิด เราสามารถรู้คร่าวๆ ว่ามีการส่ง bug กี่ตัวหรือมีการเสนอฟีเจอร์ใหม่กี่อย่าง จำนวนอีเมลใน mailing list หรือจำนวนโพสต์ในฟอรัมสามารถให้เรารู้ว่ามีการอภิปรายแบบเปิดกี่ครั้ง

แดชบอร์ดกิจกรรม OpenStack แสดงกราฟแนวโน้มจำนวน commit โค้ดโครงการและจำนวนการผสานโค้ดหลังการรีวิวโค้ดตามกาลเวลา (ข้อมูลรายสัปดาห์)
2. ขนาดของชุมชน (Size)
ขนาดของชุมชนหมายถึงจำนวนคนที่มีส่วนร่วมในชุมชนนี้ แต่มีความแตกต่างมากขึ้นอยู่กับรูปแบบการมีส่วนร่วม ข่าวดีคือ โดยทั่วไปคุณสนใจเฉพาะผู้มอบสิทธิ์ที่กระตือรือร้น ผู้มอบสิทธิ์ที่กระตือรือร้นจะทิ้งร่องรอยไว้ใน repo ของโครงการ นั่นหมายความว่าคุณสามารถนับจำนวนผู้มอบสิทธิ์โค้ดที่กระตือรือร้นโดยดูที่ฟิลด์ author ในโค้ดที่เก็บไว้ใน git repo หรือนับจำนวนคนที่กระตือรือร้นในการแก้ปัญหา
กิจกรรม (คนบางคนทำบางสิ่งบางอย่าง) สามารถขยายไปได้หลายด้าน วิธีทั่วไปในการติดตามกิจกรรมคือดูว่ามีกี่คนที่ทำงานที่มีปริมาณมาก เช่น โดยทั่วไปผู้มอบสิทธิ์โค้ดโครงการหนึ่งมาจากส่วนน้อยของชุมชนโครงการ การเข้าใจส่วนน้อยนี้ จะให้ความเข้าใจพื้นฐานเกี่ยวกับกลุ่มทำงานหลัก (เช่น คนที่นำชุมชน)

แดชบอร์ดพัฒนาโครงการ Xen แสดงแนวโน้มจำนวนผู้เขียนและจำนวนผู้ commit ใน mailing list ของโครงการตามกาลเวลา (ข้อมูลรายเดือน)
3. ประสิทธิภาพของชุมชน (Performance)
จนถึงตอนนี้ จุดโฟกัสส่วนใหญ่อยู่ที่การนับจำนวนกิจกรรมและจำนวนผู้มอบสิทธิ์ คุณยังสามารถวิเคราะห์กระบวนการและประสิทธิภาพของผู้ใช้ได้ เช่น คุณสามารถวัดว่ากระบวนการหนึ่งใช้เวลานานเท่าไหร่จึงจะดำเนินการเสร็จ เวลาในการแก้ไขหรือปิดปัญหาสามารถแสดงว่าโครงการที่ต้องการการตอบสนองทันทีตอบสนองต่อข้อมูลใหม่อย่างไร เช่น แก้ bug ที่รายงานมาหรือ implement ความต้องการใหม่ เวลาที่ใช้ในการรีวิวโค้ด คือเวลาตั้งแต่การส่งการแก้ไขโค้ดจนถึงการอนุมัติ สามารถแสดงว่าใช้เวลานานเท่าไหร่ในการอัปเดตการเปลี่ยนแปลงที่เสนอให้ถึงมาตรฐานที่ชุมชนคาดหวัง
ตัวชี้วัดอื่นๆ ส่วนใหญ่เกี่ยวข้องกับประสิทธิภาพของโครงการในการจัดการงานที่ค้างอยู่ เช่น อัตราส่วนของปัญหาใหม่และปัญหาที่ปิด หรือคิวการรีวิวโค้ดที่ยังไม่เสร็จ พารามิเตอร์เหล่านี้สามารถบอกเราข้อมูลเช่น ทรัพยากรที่ใช้ในการแก้ปัญหาเหล่านี้เพียงพอหรือไม่

ในรายงานการพัฒนา OpenStack ไตรมาส 3 ปี 2015 แสดงอัตราส่วนของปัญหาที่ปิดต่อเปิดในแต่ละไตรมาส อัตราส่วนของการยอมรับต่อการละทิ้งของข้อเสนอการเปลี่ยนแปลงต่อข้อเสนอการเปลี่ยนแปลงล่าสุด
4. ลักษณะประชากรของชุมชน (Demographics)
ชุมชนเปลี่ยนแปลงไปเรื่อยๆ เมื่อผู้มอบสิทธิ์เข้าร่วมหรือออกจากชุมชน เมื่อผู้คนเข้าร่วมและออกจากชุมชน อายุสมาชิกของชุมชน (นับจากเวลาที่สมาชิกชุมชนเข้าร่วม) ก็แตกต่างกัน กราฟสถิติอายุชุมชน แสดงการเปลี่ยนแปลงเหล่านี้ตามกาลเวลาได้อย่างชัดเจน กราฟประกอบด้วยแถบแนวนอนหลายชุด ทุกสองแถบแนวนอนแทนรุ่นหนึ่งที่เข้าร่วมชุมชน สำหรับแต่ละรุ่น แถบ การดึงดูด แสดงว่ามีกี่คนเข้าร่วมชุมชนในช่วงเวลานั้น แถบ การรักษา แสดงว่ามีกี่คนยังคงกระตือรือร้นในชุมชน
ความสัมพันธ์ระหว่างแถบแนวนอนสองแถบที่แทนรุ่นหนึ่งคืออัตราส่วนการรักษา: ส่วนหนึ่งของรุ่นนั้นที่ยังคงอยู่ในโครงการ ชุดของแถบ การดึงดูด ทั้งหมดแสดงว่าโครงการได้รับความนิยมมากแค่ไหนในอดีต ชุดของแถบ การรักษา ทั้งหมดแสดงโครงสร้างอายุของชุมชนในปัจจุบัน

แดชบอร์ดพัฒนา Eclipse แสดงกราฟอายุชุมชนของชุมชน Eclipse กำหนดทุกหกเดือน
5. ความหลากหลายของชุมชน (Diversity)
ความหลากหลายเป็นปัจจัยสำคัญสำหรับชุมชนที่จะรักษาความยืดหยุ่น โดยทั่วไป ชุมชนที่มีความหลากหลายมากขึ้น (คนหรือองค์กรที่มีส่วนร่วมหลากหลาย) จะมีความยืดหยุ่นมากขึ้น เช่น หากบริษัทหนึ่งตัดสินใจออกจากชุมชนโอเพนซอร์สหนึ่ง พนักงานของบริษัทนั้นมอบสิทธิ์ 5% จะมีปัญหาที่อาจเกิดขึ้นน้อยกว่าการมอบสิทธิ์ 85% มาก
ปัจจัยม้าน้อย เป็นคำที่ Daniel Gruno กำหนดสำหรับปรากฏการณ์ที่ “นักพัฒนาน้อยที่สุดมอบสิทธิ์ 50% ของจำนวน commit โค้ด” จากปัจจัยม้าน้อย ปัจจัยช้าง หมายถึงจำนวนบริษัทที่น้อยที่สุดที่พนักงานของพวกเขามอบสิทธิ์ 50% ของจำนวน commit โค้ด ข้อมูลทั้งสองนี้ให้ตัวชี้วัดว่าชุมชนพึ่งพาคนหรือบริษัทกี่คน/กี่บริษัท

สถิติสถานะคลาวด์พัฒนาปี 2015 แสดงปัจจัยม้าและปัจจัยช้างของโครงการชุมชนโอเพนซอร์สหลายโครงการในด้านคลาวด์คอมพิวติ้ง
ยังมีตัวชี้วัดอื่นๆ อีกมากมายในการวัดชุมชนหนึ่ง เมื่อตัดสินใจว่าจะเก็บตัวชี้วัดใด ให้พิจารณาเป้าหมายของชุมชน และตัวชี้วัดใดที่จะช่วยคุณได้
โปรดระบุแหล่งที่มา: ความสัมพันธ์นักพัฒนา »