วันนี้ได้อ่านบทความเกี่ยวกับ Modern Software Devlopment
ซึ่งเขียนไว้ตั้งแต่ปี 2006 แล้ว
แต่เมื่อได้อ่านทำให้เห็นว่า
ทีมที่ดีควรเป็นอย่างไรบ้างนะ ?
แน่นอนว่าจะประกอบไปด้วยคน หรือ สมาชิกในทีมที่ดีสิ
แต่ละคนต้องมีความรู้ความสามารถ
แต่ละคนต้องทำงานร่วมกันได้ดี
ตรงนั้นเราไม่พูดถึงก็แล้วกัน
มาดู checklist กันดีกว่า ว่าทีมของเรามีไหม ?
เริ่มจาก checklist ของ The Joel Test: 12 Steps to Better Code
เขียนไว้ตั้งแต่ปี 2000 แล้วแต่ผมว่ายังคงใช้ได้เลยนะ ประกอบไปด้วย- Do you use source control ?
- Can you make a build in one step ?
- Do you make daily builds ? (ปัจจุบันต้องเปลี่ยนเป็นทุก ๆ การเปลี่ยนแปลง)
- Do you have a bug database ?
- Do you fix bugs before writing new code ?
- Do you have an up-to-date schedule ?
- Do you have a spec ?
- Do programmers have quiet working conditions ?
- Do you use the best tools money can buy ?
- Do you have testers ?
- Do new candidates write code during their interview ?
- Do you do hallway usability testing ?
โดยสิ่งที่น่าจะเพิ่มเข้าไปก็คือ เรื่อง 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?