all-star-team
วันนี้ได้อ่านบทความเกี่ยวกับ Modern Software Devlopment
ซึ่งเขียนไว้ตั้งแต่ปี 2006 แล้ว
แต่เมื่อได้อ่านทำให้เห็นว่า
ทีมที่ดีควรเป็นอย่างไรบ้างนะ ?

แน่นอนว่าจะประกอบไปด้วยคน หรือ สมาชิกในทีมที่ดีสิ
แต่ละคนต้องมีความรู้ความสามารถ
แต่ละคนต้องทำงานร่วมกันได้ดี
ตรงนั้นเราไม่พูดถึงก็แล้วกัน
มาดู checklist กันดีกว่า ว่าทีมของเรามีไหม ?

เริ่มจาก checklist ของ The Joel Test: 12 Steps to Better Code

เขียนไว้ตั้งแต่ปี 2000 แล้วแต่ผมว่ายังคงใช้ได้เลยนะ
ประกอบไปด้วย

  1. Do you use source control ?
  2. Can you make a build in one step ?
  3. Do you make daily builds ? (ปัจจุบันต้องเปลี่ยนเป็นทุก ๆ การเปลี่ยนแปลง)
  4. Do you have a bug database ?
  5. Do you fix bugs before writing new code ?
  6. Do you have an up-to-date schedule ?
  7. Do you have a spec ?
  8. Do programmers have quiet working conditions ?
  9. Do you use the best tools money can buy ?
  10. Do you have testers ?
  11. Do new candidates write code during their interview ?
  12. Do you do hallway usability testing ?

ลองกลับไปดูทีมของทุก ๆ คน สิว่า
ยังขาดข้อไหนบ้าง ?
เน้นย้ำว่าทีมพัฒนานะ ที่ทำงานร่วมกันเป็น TEAM

โดยสิ่งที่น่าจะเพิ่มเข้าไปก็คือ เรื่อง Quality Assurance plan

เพื่อช่วยให้ software ที่สร้างมีคุณภาพมากยิ่งขึ้น
ประกอบไปด้วย

  • Unit testing
  • Integration testing
  • System testing
  • Continuous Integration

และมีอีก checklist ที่น่าสนใจไม่แพ้กัน

มันอาจจะแสบ ๆ คัน ๆ นิดหน่อย
ประกอบไปด้วย

  • Do you write unit tests for most of the code?
  • Do you use unit test coverage analyzer?
  • Do you use automated code analyzers?
  • Do you conduct code reviews on the regular basis?
  • Do you use version control for all documentation?
  • Does your development lead/architect write code?
  • Do you refactor existing code?
  • Do you follow a Coding Standard?
  • Does anyone on the team fully understand the problem?

สุดท้ายแล้ว ในความคิดเห็นของคุณ

คิดว่าทีมพัฒนา software ที่ดีเป็นอย่างไร ?
คิดว่าทีมพัฒนา software ที่ดีต้องประกอบไปด้วยอะไรบ้าง ?

Tags: