เมื่อวานนี้ไปตอบโพสของ @sinapam ด้วยคำถามเป็นชุด ซึ่งเป็นคำถามที่ผมเคยจำเป็นต้องถามตัวเองเพราะ โดนยิงด้วยคำถามเหล่านี้ ขอบอกว่ามันเป็นจุดอ่อนของ Agile และจากประสบการณ์ตัวเองนั้นส่วนตัว ฟันธงไปแล้วว่า Agile ตอบไม่ได้ ก่อนตอบให้คิดว่า คนถามเป็นคนระดับผู้บริหารที่ประสบความสำเร็จ และใช้ waterfall มาทั้งชีวิต
– อยู่ดึกเข้ามาทำวันเสาร์ ยังถือว่า time boxed iteration ได้หรือไม่?
ถ้าทำอย่างนี้ได้แล้วจะเรียกว่า เวลาในแต่ละ iteration เท่ากันได้อย่างไร เพราะ บาง iteration ก็มี 40 ชม./สัปดาห์ บางทีก็ 45 หรือ 50 หนักๆ ใกล้ release ก็ อาจจะถึง 60 และถึงแม้ว่าจะทำได้จริง คำถามคือแล้ว Agile ต่างจาก waterfall ตรงไหน อะไรที่จะเป็นจุดขายให้ developer อยากใช้มัน ถ้ายังต้องกลับดึก เอางานมาทำต่อที่บ้าน หรือต้องเข้า office วันเสาร์อาทิตย์ work life balance ที่สัญญาไปอยู่ไหน?
– ถ้า unit testing เป็นของ developer และดีพอแล้ว จะมี QA ทำไม?
– ถ้า developer ทำ test แล้วยังต้อง มี QA ทำไมไม่ให้ QA เป็นคนทำ test อย่างเดียว, developer จะได้มีเวลาโค้ดเพื่อสร้าง value ได้มากขึ้น
คำถามสองคำถามข้างบนผูกติดกันและขัดแย้งกัน ถ้าคิดว่า unit test (ในTDD นะ) ดีจริงไม่ต้องมี QA ก็ได้ แต่ถ้าคิดว่า QA test จำเป็นก็จะกลายเป็นว่า unit test เป็นสิ่งไม่จำเป็นแล้วจะทำไปทำไม สมัยก่อนใช้ waterfall มีแค่ QA test ก็พอแล้ว ถ้าจะให้มี unit test ก็ต้องเอามาแทนได้ ไม่ใช่เพิ่มเข้ามาเพราะไม่มีประโยชน์
– ถ้า developer อู้ ทำน้อยแต่โหวตมากๆ จะทำอย่างไร?
โดยนิสัย(จริงๆ แรงกว่านี้) dev ชอบอู้เหมือนกันหมดนั่นแหละ บอก 3 วันก็ใช้ 5 บอกสองอาทิตย์ก็กลายเป็นเดือน โปรเจ็ค สามเดือนก็ยาวเป็นปี อู้เหมือนกันหมด อย่างนี้จะเชื่อถือได้อย่างไร จะบอกว่าช่วยกันดู ช่วยกันอู้มากกว่า ฮั้วกันให้ได้ point เยอะๆ ดูตัวเลขแล้วเหมือนทำมากแต่จริงๆ ทำน้อย
– ทำทั้งหมดนี้แล้วจะ commit ได้หรือไม่ว่าทั้งหมดเสร็จเืมื่อไหร่?
อย่างที่ตอบมาในโพสที่แล้ว หมายความว่า จะต้องโหวต point ให้ได้ทั้งหมดตั้งแต่ต้นใช่หรือไม่ เพราะถ้าไม่ได้ point ทั้งหมดก็จะหา N ไม่ได้ ย่อม เข้าสมการ หา T ไม่ได้ สรุปก็คือต้องทำ plan ทั้งหมดตั้งแต่ต้น งั้นต่างจาก iterative waterfall ตรงไหน มันก็ plan upfront เหมือนกัน แล้วจะเปลี่ยนเป็น Agile ทำไม อย่าบอกว่าปรับแผนได้ เพราะ methodology ไหนก็ปรับแผนได้ทั้งนั้น
ขอโทษที่โพสนี้อาจจะดูแรง ผมพยายามจำลองสถานการณ์ที่จะต้องเจอถ้าคิดจะเปลี่ยนแปลงองค์กรตัวเองให้เป็น Agile และผมคิดว่านี่ไม่เกินจริงไปเลย ถ้าอยากรู้จริงต้องถามคุณ @kluak110 :D
Links
http://www.agile66.com/blogs/2010/08/12/agile-uniqueness/#comments
http://www.agile66.com/blogs/2010/08/12/t-nv/
http://www.agile66.com/blogs/2010/08/12/qa-never-jobless/