รอบนี้ผมปรับคำสั่งจากเล่มแรก โดยไม่ลืมคำว่า “เพื่อ” ผมบอกว่า “เรามาเตรียม ผู้ช่วย AI ที่รับหน้าที่ทำงานเฉพาะด้านตามโจทย์ สำหรับ Phase แรก เพื่อเตรียม ข้อกำหนดว่าระบบควรทำอะไรและต้องตอบโจทย์ใด กันเถอะ” ผมคิดว่าจะได้แค่ ผู้ช่วย AI ที่รับหน้าที่ทำงานเฉพาะด้านตามโจทย์ ไว้ช่วยทำ ข้อกำหนดว่าระบบควรทำอะไรและต้องตอบโจทย์ใด ต่อ
เรามาเตรียม Agent สำหรับ Phase แรก เพื่อเตรียม Requirement กันเถอะ
รอบนี้จะทำอะไร
ผู้ช่วย AI ที่รับหน้าที่ทำงานเฉพาะด้านตามโจทย์ บน Freebuff เริ่มจากถามเรื่องทริป คนใช้ ขอบเขต ตัวอย่างการใช้งาน และข้อจำกัด ผมก็ตอบตามที่ถามว่าเป็นทริปครอบครัวในประเทศ บ้านผมงบน้อย อยากวางแผนวันหยุดทั้งการเดินทาง ที่พัก กิจกรรม และคุมงบ คนใช้แอปมีผมคนเดียว ผมเป็นคนจัดแผนแล้วเอาไปขออนุมัติจาก “ผบ.สูงสุด (ภรรยา)” ครับ ผมยกทะเลสองคืนเป็นตัวอย่างทริปในฝันตามคำถาม พอตอบแล้ว ผู้ช่วย AI ที่รับหน้าที่ทำงานเฉพาะด้านตามโจทย์ ก็เตรียม ข้อกำหนดว่าระบบควรทำอะไรและต้องตอบโจทย์ใด ตั้งต้นและแผนงานรอบนี้มาให้
อ้าว ทำไมกลายเป็นทะเล
พอเห็น ข้อกำหนดว่าระบบควรทำอะไรและต้องตอบโจทย์ใด ตั้งต้น ผมสะดุดกับตัวอย่างทริปทะเลสองคืนครับ อ่านแล้วรู้สึกว่าจากตัวอย่างมันเริ่มกลายเป็นขอบเขตตายตัวไปเสียแล้ว ผมเลยทักว่า
ผมอ่านแล้ว มันเหมือน lock scope ไปหน่อยไหมนะ.. เพราะเหมือน Fix แล้วว่าเป็นทะเล
ผมอธิบายต่อว่า ปกติเราน่าจะทำแผนคร่าว ๆ มาคุยกันก่อน อาจมีทางเลือกหลายแผน (แผนทางเลือกที่นำมาเปรียบเทียบก่อนตัดสินใจเลือก) ให้เลือก แล้วค่อยหยิบแผนที่สนใจไปลงรายละเอียด ไม่ใช่ให้แอปเริ่มต้นด้วยคำตอบแทนเรา
พอ ผู้ช่วย AI ที่รับหน้าที่ทำงานเฉพาะด้านตามโจทย์ ปรับเอกสาร ผมยังไม่ได้รีบตอบว่า A/B/C เลือกอันไหน แต่ขอคุย ขอบเขตว่างานนี้จะทำอะไรและอะไรยังไม่รวมอยู่ ก่อน ผมบอกว่า “คุณเล่ามาก่อนเลยเด๋วผมออกความเห็น” ตอนนั้นผมอยากฟังว่ามันเข้าใจขอบเขตไว้ยังไง จะได้ชี้จุดที่แปลกจากภาพของผม
แต่ ผู้ช่วย AI ที่รับหน้าที่ทำงานเฉพาะด้านตามโจทย์ กลับถามผมก่อนว่ามีอะไรแปลก ผมเลยทักกลับทันทีว่า “ผมให้คุณบอก ขอบเขตว่างานนี้จะทำอะไรและอะไรยังไม่รวมอยู่ ที่วางไว้แล้วผมจะพิจารณา ทำไมมาถามในสิ่งที่คุณสงสัยก่อนได้อย่างไร?” บทสนทนาหยุดอยู่กับวิธีคุยกันนิดหนึ่ง ก่อนจะกลับไปที่เนื้อหาของระบบ
หนึ่งทริป หรือหลายทริปกันแน่
พอไล่ดู ขอบเขตว่างานนี้จะทำอะไรและอะไรยังไม่รวมอยู่ ผมเจอจุดที่ไม่ตรงกับการใช้จริงอีกครับ ทำไมสร้างทริปได้แค่หนึ่งทริป? ปีหนึ่งเราอาจมีหลายทริป ผมอยากเริ่มจากทริปหนึ่ง แล้วค่อยวาง แผนทางเลือกที่นำมาเปรียบเทียบก่อนตัดสินใจเลือก หลายแผน เพิ่มกิจกรรมที่ช่วยกันหา จากนั้นลงรายละเอียด เปรียบเทียบ และ เลือกแผนที่ตกลงใช้เป็นแผนหลักอย่างเป็นทางการ ก่อนถึงวันจริง
ผมยังถามด้วยว่า “ทำ Offline Progressive Web App: เว็บแอปที่ติดตั้งและมีความสามารถคล้ายแอปบนอุปกรณ์ได้ โดยความสามารถออฟไลน์ขึ้นกับการออกแบบ ได้เลยเหรอ?” แล้วกำชับว่าหน้าสรุปเก็บไว้ในเครื่องผมพอ อย่าทำให้ยุ่งไปกว่านี้
ผมขอให้ถามเป็นชุด ชุดละสี่ข้อ เพราะมากกว่านั้นอ่านไม่ทัน แล้วค่อยตอบทีละช่วง พอถึงชุดคำถามหนึ่ง ผมเริ่มเห็นว่าข้อเสนอหลายข้อใส่คำตอบมาให้แล้ว ทั้ง แผนทางเลือกที่นำมาเปรียบเทียบก่อนตัดสินใจเลือก จำนวนคืน และเกณฑ์ที่พัก ผมจึงตอบกลับว่า
Candidate ไม่ Fix ได้ไหม draft ประเภทมาสักหน่อย แล้วเพิ่มลดภายหลังได้ ระยะเวลาก็เช่นกัน มันก็แล้วแต่วันหยุดช่วงนั้น ๆ พ่อคิดพ่อเสนอทั้งหมด ไม่บังคับสิ
แล้วผมก็ถามตรง ๆ ว่า “ผมเริ่มสงสัยแล้วนะคุณทำระบบบันทึกหรือระบบวางแผนแบบครบวงจร???”
วางแผนก่อน แล้วค่อยบันทึกเงินจริง
คำถามนั้นช่วยดึงเส้นแบ่งสำคัญกลับมาให้ชัดครับ ระบบต้องช่วยวางแผนทริปก่อน ไม่ใช่มีแต่ช่องจดค่าใช้จ่ายจริง ผมบอกให้ตัดงบฉุกเฉินออก เพราะเตรียมไปเองอยู่แล้ว ส่วนการบันทึก ค่าใช้จ่ายที่จ่ายไปจริงระหว่างทริป เอาแค่ตัวเลขง่าย ๆ ก็พอ
หลังจากเห็นเอกสารอีกครั้ง ผมยังสงสัยว่าทำไมมี Open Questions อยู่ จึงทักให้เคลียร์จุดค้างก่อน ปลายรอบผมจึงบอกว่า “ถ้าอย่างนั้น Requirement นับว่า Accept ครับ”
ใน Transcript ผู้ช่วย AI ที่รับหน้าที่ทำงานเฉพาะด้านตามโจทย์ รายงานว่า ข้อกำหนดว่าระบบควรทำอะไรและต้องตอบโจทย์ใด มี 9 ข้อกำหนดที่เขียนจากมุมมองของผู้ใช้และสิ่งที่ต้องการทำ และเปลี่ยนสถานะเป็น Accepted แต่สิ่งที่ผมรับรองในบทสนทนาคือ ข้อกำหนดว่าระบบควรทำอะไรและต้องตอบโจทย์ใด หลังจากคุยและแก้ความหมายกันแล้ว ส่วนการตรวจไฟล์ใน Repository เป็นอีกเรื่องหนึ่ง
หันกลับมามอง
ผมเริ่มจากคิดว่าจะได้แค่ Agent แต่พอ Agent บน Freebuff ถาม ผมก็ตอบตามที่ถาม แล้วเห็นคำตอบของผมกลายเป็น Requirement ตั้งต้นที่ล็อกทะเลสองคืนไว้ ผมจึงต้องทักให้กลับมาเป็นแผนหลาย Candidate และย้ำว่าเรากำลังวางแผนก่อนจด Actual สุดท้ายผมรับ Requirement หลังจากเคลียร์ความหมายและคำถามค้างกันแล้ว