นิทานที่ผมเอามาใช้ประกอบ ผมไม่ได้แต่งเองนะครับ ส่วนใหญ่ได้จากการอ่านหนังสือ อ่านจาก Net หรือไม่ก็ Forward Mail เลยทำให้ไม่รู้ที่มา ถ้าผมรู้ที่มาผมจะใส่ที่มาของนิทานเอาไว้นะครับ
เผื่อมีคนสงสัย :P
นิทานที่ผมเอามาใช้ประกอบ ผมไม่ได้แต่งเองนะครับ ส่วนใหญ่ได้จากการอ่านหนังสือ อ่านจาก Net หรือไม่ก็ Forward Mail เลยทำให้ไม่รู้ที่มา ถ้าผมรู้ที่มาผมจะใส่ที่มาของนิทานเอาไว้นะครับ
เผื่อมีคนสงสัย :P
วันนี้ผมมีนิทานมาฝากอีกแล้วครับเรื่องมีอยู่ว่า...
พระราชาเรียกพ่อมดชื่อแฮรี่เข้ามาพบ และตรัสว่า "แฮรี่ ฉันอยากได้มิตรแท้ และฉันต้องการให้เจ้าไปหามาให้ฉัน เธอต้องแข็งแกร่งและมีสติปัญญา อบอุ่นและเมตตา เธอต้องฉลาด ซื่อสัตย์และยอมรับคำสั่งของฉันถึงที่สุด เธอต้องมีเสน่ห์และเป็นที่รักของฉัน เธอต้องอารมณ์ดีง่าย โกรธยาก และไม่เคยต่อว่าฉัน โอ...แฮรี่...และฉันต้องการเธอคืนนี้"
แฮรี่ จ้องมองพระราชาครู่หนึ่งและเริ่มจะพูด แต่พระราชาลุกขึ้นจากที่นั่งทันทีและโบกมือให้เขาออกไป "ฉันบอกความต้องการของฉันแล้ว และเจ้าเป็นพ่อมดผู้ยิ่งใหญ่ ฉันรู้ว่าเจ้าสามารถหามิตรแท้ที่สมบูรณ์ให้ฉันได้ เอาละไปซะ"
แฮรี่ ก้มหัวช้าๆและเดินออกไป
หลังจากนั้นไม่กี่ชั่วโมง ขณะที่พระราชากำลังเสวยอาหารค่ำอยู่ พระราชาก็ฝันถึงหญิงสาวที่สวยงามที่พ่อมดจะนำมาพบ เธอต้องอบอุ่นและอ่อนหวาน แข็งแกร่งและฉลาด แน่นอน...เธอจะได้เป็นราชินีที่คู่ควรกับเขาเป็นที่สุด พระราชาหัวเราะและคิดถึงราชินีที่ช่างพูดและโง่ของพระราชาจากเมืองอื่นที่ พวกนั้นต้องอิจฉาเขาในการร่วมตีกอร์ฟครั้งต่อไปแน่ๆ
หลังจากนั้นไม่นาน แฮรี่ก็มาเข้าเฝ้าพระราชาพร้อมกับ โกลเดนรีทีวเวอร์สุดสวยตัวหนึ่ง!! พระราชาโกรธมากและตะโกนด่าแฮรี่เสียงดังลั่น แฮรี่ตอบว่า "แต่...ท่านพูดว่าท่านต้องการแบบนี้นี่..."
นิทานเรื่องนี้สอนอะไรคุณบ้าง? สำหรับผมนิทานเรื่องนี้สอนให้ผมเห็นความสำคัญของการสื่อสารสองทาง จากหัวข้อที่แล้วเรื่อง "ความต้องการ" เราจะเห็นได้ว่าความต้องการมีหลายชนิด แต่ที่สำคัญรองลงมาคือเราเข้าใจความต้องการเหล่านั้นดีแล้วหรือ?
ผมเคยประสบเหตุการณ์เหมือนนิทานข้างต้นด้วยตัวเอง ในโปรเจคแรกๆที่ผมได้ทำงาน ทำให้เห็นความสำคัญของการสื่อสารสองทางมาก สิ่งที่สำคัญที่สุดหลังจากเราได้รับความต้องการมาแล้ว คือเราต้องทำความเข้าใจกับมันและต้องสรุปความเข้าใจของเราให้ User ได้รับรู้ด้วย เพื่อให้เราและ User มีความเข้าใจที่ตรงกันและเราจะได้ไม่ลงทุนลงแรงไปแบบเสียเปล่า...
จากตอนที่แล้วนอกจากจุดประสงค์(Objective)ของตัว Software และความคุ้มค่าที่จะทำ(Feasibility)แล้ว สิ่งที่ตามมาคือ ความต้องการ(Requirement)ในสิ่งที่จะให้ Software ทำได้นั่นเอง
ความต้องการ คือจุดประสงค์ย่อยของจุดประสงค์หลัก อาจจะมองว่าจุดประสงค์หลักคือ Goal จุดประสงค์ย่อยคือ Requirement ที่จะทำให้ไปถึง Goal นั่นเอง
จากที่จ่าหัวไว้ว่า ความต้องการที่ทำได้ vs ความต้องการที่เหมาะสม หลายๆคนคงคิดว่ามันน่าจะเหมือนกัน เพราะถ้าเป็นความต้องการที่ทำได้ ก็ต้องเป็นความต้องการที่เหมาะสมที่จะทำ ซึ่งจริงๆแล้วก็ไม่ค่อยจะถูกนัก เพราะบางทีความต้องการที่ทำได้ ก็ไม่ใช่ความต้องการที่เหมาะสมเสมอไป ผมมีตัวอย่างง่ายๆที่จะยกขึ้นมาให้ดูนะครับ
เรื่องมีอยู่ว่าโจอี่พับเครื่องบินกระดาษขึ้นมา แล้วเอาไปอวดให้น้อยสาวดู น้องสาวคนแรกก็ติว่า "ทำไมเครื่องบินถึงมีหลายสีฟ้าอยู่ด้วยละ" โจอี่ก็ตอบว่าเพราะ"มันเป็นกระดาษจากสมุดโน๊ตนะสิ" แต่โจอี่ก็กลับไปแก้ไขเครื่องบินของเขาใหม่ โดยใช้สีพ่นมาพ่นใส่เครื่องบินและวาดรวดลายสวยงาม แล้วกลับออกมาไปอวดให้น้องสาวอีกคนดู น้องสาวคนที่สองก็บอกว่า "โอมันสวยมาก แต่มันจะลงพื้นยังไงละถ้าไม่มีล้อ" โจอี่ก็บอกว่านั่นเป็นความคิดที่ดี จากนั้นก็กลับไปเอาที่หนีบกระดาษกับเม็ดกระดุมมาทำเป็นล้อ แล้วก็เอาออกมาอวดให้น้องสาวคนที่สามดู น้องสาวคนที่สามก็บอกว่า "ว้าว นี่สวยมากเลยแต่ว่าไม่มีที่นั่งเหรอ?" โจอี่ก็เลยกลับไปเอาแกนที่ใส่กระดาษเทชชูมาเจาะรูเป็นหน้าต่างและทำเก้าอี่กระดาษแข็งใส่เข้าไป แล้วเอามาติดกับเครื่องบินที่ทำไว้โดยใช้เทคนิคพอสมควร สุดท้ายโจอี่กลับออกมาหาน้องสาวคนที่สามอีกที ก็ได้รับคำชมกลับว่า "ว้าว นี่มันสมบูรณ์แบบมาก เอาละจะลองบินดูนะ" พอน้องสาวลองเขวียงเครื่องบินกระดาษของโจอี่ มันก็หัวปักลงพื้นที่อยู่ตรงนั้นทันที!!!จากเรื่องข้างต้น คุณเห็นอะไรบ้าง?...ตัวผม ผมเห็นว่าจุดประสงค์หลักของการพับเครื่องบินกระดาษคือต้องการให้มันบินได้ ความต้องการอื่นๆที่ได้มานั้นก็ทำได้นะครับ แต่พอทำแล้วกลับทำให้เครื่องบินบินไม่ได้ ถามว่าเป็นความต้องการที่เหมาะสมกับวัตถุประสงค์หรือเปล่า?
จะเห็นได้ว่าโดยทั่วไป ความต้องการของ user มักจะเริ่มหลงประเด็นจากเป้าหมายหลักอยู่เป็นประจำ เพราะฉะนั้นขั้นตอนของการเก็บความต้องการของ user นั้นต้องระวังความต้องการประเภทนี้ให้ดี...