code-quality
ข้อมูลจากผลแบบสำรวจ State of code quality 2016 โดย Smartbear.com
โดยผู้ทำแบบสำรวจเป็น software developer และ tester กว่า 600 คน
เป้าหมายเพื่อสอบถามว่า
มีความพึงพอใจกับคุณภาพของ code ที่พัฒนาขึ้นมาหรือไม่ ?
และทำการปรับปรุงคุณภาพขึ้นมาได้อย่างไร ?
ซึ่งเป็นสิ่งที่สำคัญอย่างมากในการพัฒนา software

ดังนั้นมาดูผลสรุปที่น่าสนใจกันนิดหน่อย

เริ่มด้วยกว่า 70% ของผู้ทำแบบสอบถามนั้น

พอใจอย่างยิ่งสำหรับคุณภาพของ code ที่พัฒนาขึ้นมา
แสดงผลดังรูป

code-quality-01

ต่อมาจึงเริ่มถามว่า ทีมพัฒนาปรับปรุงคุณภาพของ code กันอย่างไร ?

ถึงทำให้ทีมพัฒนารู้สึกพอใจกับคุณภาพของ code
ซึ่งได้รับคำตอบดังนี้

  • Code review 27%
  • Unit testing 19%
  • Functional testing 13%
  • Continuous Integration 12%
  • Integration testing 9%

แสดงผลดังรูป

code-quality-02

สิ่งที่เราได้รับรู้ก็คือ Code Review และ Unit testing
มันส่งผลอย่างมากต่อคุณภาพของระบบงาน
โดยทั้งสองเรื่องมันไม่ใช่สิ่งแปลกใหม่อะไรเลยในการพัฒนา software
แต่มันทำให้เราเห็นชัดขึ้นว่า
ทีมพัฒนา software เริ่มมีความรู้ความเข้าใจแล้วว่า
ทั้ง Code Review และ Unit testing มันมีความสำคัญอย่างไร !!

ปล. แล้วในประเทศไทยล่ะ เห็นความสำคัญและลงมือทำหรือยัง ?

เมื่อถามลงในรายละเอียดต่อไปอีกว่า Code Review มันมีประโยชน์อะไรบ้าง ?

ได้รับคำตอบกลับมาดังนี้

  • 90% ตอบว่าช่วยปรับปรุงคุณภาพของ code ให้ดียิ่งขึ้น
  • 72% ตอบว่าช่วยแบ่งปันความรู้กันระหว่างทีม
  • 52% ตอบว่าช่วยปรับปรุงการดูแลรักษา code ให้ดีและง่ายขึ้น
  • 56% ตอบว่าทำให้ง่ายต่อการแนะนำและสอน developer ที่มีประสบการณ์น้อย ๆ
  • 49% ตอบว่าทำให้เกิด coding standard ที่ทุกคนยอมรับและปฏิบัติตาม
  • 45% ตอบว่าทำให้การทำงานร่วมกันง่ายขึ้น

แสดงผลดังรูป

code-quality-03

ถามต่อไปอีกว่า ทำ Code Review บ่อยไหม ?

คำตอบที่ได้รับมันน่าสนใจอย่างมากคือ
72% บอกว่าการทำ Code Review เป็นงาน ad-hoc
และ 62% บอกว่าทำ Code Review อย่างน้อยเดือนละ 1 ครั้ง
แสดงผลดังรูป

code-quality-04

โดยรูปแบบในการทำ Code Review นั้นจะมี 2 แบบคือ

  • เป็นรูปแบบเหมือนกับการประชุม
  • นำเครื่องมือต่าง ๆ มาใช้งาน

จาก 2 แบบนี้พบว่า ทีมที่มีการนำเครื่องมือมาช่วย
จะทำ Code Review บ่อยกว่าเป็นอย่างมาก

จะเห็นได้ว่า Code Review มันมีประโยชน์อย่างมากต่อการพัฒนา software
ทั้งเรื่องของคุณภาพ
ทั้งความเข้าใจ
ทั้งการทำงานด้วยกัน
ทำให้ระบบงานที่พัฒนาออกมามีคุณภาพที่ดีขึ้นมาก

แต่ทีมก็ยังพบเจอปัญหาและอุปสรรคสำหรับการทำ Code Review

ประกอบไปด้วย

  • 66% คืองานเยอะล้นมือ
  • 44% คือใกล้ deadline แล้ว
  • 39% คือคนไม่พอ

แสดงผลดังรูป

code-quality-05

ซึ่งถือว่าเป็นอีกหนึ่งความท้าทายขององค์กร และ ทีมพัฒนา ว่า
ถ้าต้องการปรับปรุงคุณภาพของระบบงานแล้ว
คุณก็ต้องพยายามลดปัญหาและอุปสรรคเหล่านี้ลงไป
เพราะว่า ปัญหาและอุปสรรคเหล่านี้ มันไม่ใช่เรื่องแปลกใหม่ในการพัฒนา software เลยนะ

สามารถอ่านเพิ่มเติมได้ที่ State of code quality 2016