จากหนังสือ Programming Beyond Practices (Be more than just a code monkey)
ได้แนะนำขั้นตอนการ review code ที่น่าสนใจดังนั้น
ลองคิดดูสิว่า ถ้าเราเป็นลูกค้า หรือ ผู้ว่าจ้าง
โดยที่รู้ด้วยว่าการเปลี่ยนแปลง code ต่าง ๆ จะเกิดผลกระทบ หรือ มีความเสี่ยงอะไรบ้าง ?
เราน่าจะลดขั้นตอนการ review ต่าง ๆ ลงไป
แล้วมาพยายามส่งมอบระบบงานให้ได้บ่อย ๆ ดีกว่าไหม ?
เป้าหมายคือลดขั้นตอนการ review code ลง
ทั้งวิธีการเขียน code ทั้งโครงสร้างของ code ทั้งชุดการทดสอบ ทั้งเรื่องของเอกสารต่าง ๆ สุดท้ายคือ ไม่มีสิ่งต่าง ๆ เหล่านี้เลย !! คำถามคือเริ่มอย่างไรดีล่ะ ?เริ่มต้นด้วย Production Testing
มันคือสิ่งที่สำคัญมาก ๆ และเป็นสิ่งแรกเลย นั่นคือการสร้าง code ที่สามารถทำงานบน production environment หรือคล้าย ให้ได้เร็วที่สุด เพราะว่าสิ่งที่ต้องการคือ feedback ที่เหมือนจริง ไม่ใช่พัฒนาด้วยระบบหนึ่ง แต่พอตอนส่งมอบก็ออกระบบหนึ่ง !! มันจะทำให้เราเห็นว่า สิ่งที่คิด สิ่งที่ออกแบบ สิ่งที่สร้าง มันสามารถทำงานบน environment จริง ๆ ได้หรือไม่ ? หรือว่ามันเหมาะสมหรือไม่ ?ผลที่ได้รับคือ เรากล้าที่จะเปลี่ยนแปลงและแก้ไข feature ต่าง ๆ อีกด้วย รวมทั้งรู้ความเสี่ยงต่าง ๆ อีกด้วย เช่นจากการ deploy ระบบเป็นต้น
สิ่งที่ต้องเน้นคือ Product มากกว่าการ review code
ดังนั้นสิ่งที่ต้องพูดคุยกันก่อนจะมาดู issue ต่าง ๆ ของ code คือ คุณภาพของ product และความสามารถต่าง ๆ เช่น- การเปลี่ยนแปลงนี้มันแก้ไขปัญหาของลูกค้าจริง ๆ ใช่ไหม ?
- วิธีการนี้มันเสถียรและครอบคลุมแล้วใช่ไหม ?
- ปัญหาที่จะตามมาจากการแก้ไขคืออะไรบ้าง ?
- ต้องทำการ migrate ระบบกันอย่างไรบ้าง ?
- สามารถ rollback การเปลี่ยนแปลงกัลบได้ง่ายไหม ถ้าเกิดข้อผิดพลาดขึ้นมา ?
- ค่าใช้จ่ายที่ตามมาในการดูแลเป็นอย่างไร ?