Agile,TDD

ครั้งแรกกับอไจล์(เกรียน) เป็นยังไงเหรอ ?

พอดีวันนี้มีเพื่อนสมัยปริญญาตรีที่ยังอยู่ในสายงาน Software Development ทักมา ถามว่าผม “เปิดอบรมเรื่อง อไจล์ ด้วยใช่ไหม” แน่นอนว่าผมตอบกลับไปแบบทันทีว่า “บารมีผมยังไม่พอ” ยังไม่รู้จักมันอย่างแท้จริงสักเท่าไหร่ ที่ทำ ๆ อยู่ตอนนี้ก็แค่ทดลองตามหลักการที่ดูน่าเชื่อถือ และดูเหมือนมันเป็นจริงยิ่งกว่าสิ่งที่ทำมา ก็เลยแนะนำเพื่อนไปว่ามีคนรู้จักเปิด Train อยู่แล้วก็ให้เบอร์ติดต่อไป …

เลยกลับมาคิด ๆ ดูว่าเอ๊ะ แล้วตัวผมเองหล่ะ เริ่มต้นรู้จักกับอไจล์ นานแค่ไหนแล้ว เริ่มได้ยังไง เลยรู้สึกว่าอยากจะลองบันทึกมันไว้ให้ตัวเองได้อ่าน เผื่อว่าอีกหน่อยเราหลงลืมความรู้สึกของคนที่พึ่งเริ่มก็จะได้กลับมาอ่านว่ามันยังไงกันนะกับความรู้สึกแรก ๆ ของการเรียนรู้อะไร ๆ ที่ง่ายยิ่งนักจะทำความเข้าใจ แต่ยากส์ยิ่งนักที่จะปฏิบัติตาม

เพราะพูดมากเลยถูกส่งไปโดนเปิดกระโหลก

ประสบการณ์ครั้งแรกของการได้สัมผัสพลังของเจ้าพ่อเกรียนส์ นั้นเกิดจากอยู่ ๆ ท่านหัวหน้าใหญ่ของ Gosoft ก็มาถามว่าผมพอจะไป Share ประสบการณ์เกี่ยวกับการ Coding บนเวทีเสวนาในงานของ Thailand SPIN ได้หรือไม่ แน่นอนว่าผมซึ่งมีประสบการณ์เกี่ยวกับ Coding ไม่เยอะมากแต่ถูกเลือกเพราะผมเป็นคนพูดเก่ง ไม่กลัวที่จะอยูบนเวที แต่กับงานที่มีคนฟังข้างล่างเวทีเป็น 200 – 300 คนเนี่ยผมไม่อาจจะคิดได้เลยว่าผมจะตื่นเวทีแค่ไหน แต่ก็ไม่สามารถปฏิเสธได้ด้วยประการทั้งปวง อาการตื่นเต้นเริ่มตั้งแต่วันที่รู้ว่าจะต้องไป จนกระทั่งวันนึงมีคนจาก Software Park ติดต่อมาเพื่อขอรายละเอียดพร้อมทั้งส่ง หัวข้อคำถาม ที่อาจจะมีการถามบนเวทีมาให้ดูก่อน (อ้าว … นี่มันเตี้ยมกันก่อนนี่นา – แต่ก็ดีเพราะไม่เตรียมอะไรเลยน่าจะออกอาการป่วยได้) ผมเอาหัวข้อคำถามมาอ่านเท่านั้นแหละ ถึงขั้นอึ้ง … แต่ละคำถามเนี่ยว่าด้วยทฤษฐี ซึ่งตรงข้ามกับความเป็นยิ่งอย่างยิ่ง ไม่ว่าจะถามว่า ก่อนเขียน Code มีคนส่ง Spec มาให้แล้วเขียนได้เลย ? เรามีหลักการในการเขียน Comment ยังไง ? เรามี Coding Standard กันไหม ? เราทำ Unit Test กันยังไง ? พระเจ้านี่ถ้าจะให้ตอบตามความจริง น่าจะมีโอกาสตกงานสูงมาก ๆ (ตอนนั้นนึกอยู่ว่ากูเปลี่ยนใจ ไม่ไปดีไหมเนี่ย)

ครั้งแรกกับเจ้าพ่อเกรียนส์ – กลิ่นแปลก ๆ

ต่อมาไม่กี่วัน ก็มี Reply Mail พร้อม Attach File .doc (Microsoft Word) ใหญ่ ๆ มาให้ File นึ่งไอ้เราก็แปลกใจมาก ๆ เห็นว่าเป็น Architect จาก Operator มือถือค่ายยักษ์ใหญ่คนนึง ตอบคำถามที่ Software Park ส่งมาในแทบทุกข้อ แถมตอบกลับมาในแนวทางที่ผมไม่อาจจะเข้าใจได้ซะด้วย คิดในใจมันเวิ้นเว้ออะไรฟร่ะ … แล้วนี่กูต้องส่งอะไรแบบนี้กลับไปให้ Software Park กลั่นกรองก่อนขึ้นไปตอบบนเวทีด้วยเหรอ … จนแล้วจนรอด ด้วยงานที่ถ้วมหัว และความขี้เกียจอันสุดจะลึก ผมก็ได้แต่อ่าน และเก็บเงียบความสงสัยไว้อยู่อย่างนั้น … และแล้วก็ถึงเวลาขึ้นเขียง

เจอตัวเป็น ๆ ในงานที่เปิดอกคุย – น้ำตาจะไหล

ในวันงานผมจำได้ว่าเป็นงานช่วงบ่ายโมงถึงประมาณ 5 โมงเย็น แต่ทาง Software Park เชิญให้มาร่วมรับประทานอาหารกลางวัน เพื่อพูดคุย (เตรี้ยมสินะ) กันก่อน ผมไปถึงก็ถูกเชิญไปพบกันอาจารย์หนู แห่งมหาวิทยาลัยกรุงเทพ (นั่นไงคำถามมาจากนักวิชาการนี่เองถึงมีแต่ทฤษฐีเต็มไปหมด -/\- ตอนนั้นผมคิดประมาณนั้นจริง ๆ นะครับ ขอโทษคร๊าบบบบ) ซึ่งก็ต้อนรับขับสู้กันด้วยดีมาก ๆ หลังจากเริ่มนั่งรับประทานอาหารกลางวัน อาจารย์หนูก็ชวนคุยถึง Theme ของงาน ซึ่งทำให้ผมแปลกใจมาก ๆ เพราะแกบอกประมาณว่าให้โยนทฤษฐีทิ้งไปให้หมด เพราะสัมมนาทีไรก็ทฤษฐี คนมาฟังก็มักจะ Comment ว่าเอาที่มันเป็น Real World จริง ๆ หรือที่เขาต้องประยุกต์ใช้จริง ๆ ได้ไหม ทฤษฐีเนี่ยกินในมหาลัยจนจุกแล้ว ไม่เอาที่นี่ (คิดในใจ … แล้วที่กูเตรียมมาหล่ะครับ 555+) แถมมีโปรโมชั่น เรียกขึ้นเวทีโดยไม่บอกที่มาเพื่อจะได้พูดอย่างเต็มที่ไม่ต้องเกรงใจต้นสังกัด (โอ่ … พระเจ้าเปิดทางสุด ๆ) แต่แล้วก็มีคนสุดท้ายที่จะขึ้นเวทีเดินเข้ามา … คนอื่น ๆ แต่งเสื้อเชิตมีสูทสวมทับ พี่ท่านมีสูทจริงแต่ข้างในเสื้อยืด แถมหัวเกรียนส์มาเลย … และแกก็คือพี่รูฟ หรือ roofimon นั่นเอง ความรู้สึกแรกคือพี่ท่านสนุกสนานมาก ๆ สนุกกับทุกเรื่องที่เราคุยกันในโต๊ะอาหาร สิ่งที่ผมจำได้คือผมชวนแกคุยเรื่อง Architect ของทั้งที่แกทำงานและที่ผมทำงาน แกแนะนำว่าพี่ที่อยู่ที่ทำงานแกเก่งเรื่องนี้มากถ้าสนใจแกแนะนำให้รู้จักได้เลย …

ขึ้นเขียง – พูดอะไรก็ผิดที่ผิดทางไปหมด

และแล้วก็ถึงเวลาขึ้นเขียง แน่นอนว่าเราทำตามที่ตกลงกันไว้ แนะนำขึ้นเวทีโดยไม่บอกว่าใครมาจากไหน โดยพี่รูฟนั่งซ้ายสุดของผู้ฟังและผมได้มีโอกาสนั่งติด ๆ กับแก และแล้วก็เริ่มคำถาม คำตอบ ช่วงแรก ๆ ก็มีจากขวาไปซ้าย เช่นเขียน Code ยังไง มีเอกสารมาเลยหรือเปล่า ทุกคนก็ยังเหมือนจะตอบตามตำราแต่ยัก ๆ ไว้นิดหน่อยว่า ก็มีมาบ้างมอบหมายงานจากการเขียนบ้าง อธิบายบ้าง ไถ้ามีเวลาจริง ๆ ถึงจะทำเอกสารส่งให้กันแบบ Complete เลย พอไปถึงพี่รูฟเท่านั้นแหละ … ทำเอกสารทำไมใครอ่าน ถ้า Dev อ่านแล้วมันจะเข้าใจตรงกันกับที่ออกแบบไหม อะไรเถือก ๆ นั้น … พี่รูฟพูดได้กลับกับหลักการของ Software Development ที่กูเรียนมาทั้งชีวิตหมดเลย แล้วกูจะไปยังไงต่อหล่ะเนี่ย มาถึงคำถามว่ามีเขียน Comment ไหม คราวนี้พี่รูฟพูดก่อน (ส่วนตัวก็เตรียม ๆ มาบ้างว่าเขียนแหละ ไม่ได้ตาม Standard หรอก เขียนอธิบายว่า Code ทำงานยังไง อะไรประมาณนั้น) มาถึงแกก็พูดสิ่งที่ผมจำไม่เคยลืมเลย คำพูดนั้นคือ”เขียน Comment เป็นบาป เขียน Comment แปลว่า Code อ่านไม่รู้เรื่อง” … เท่านั้นแหละอึ้งกันทั้ง Hall เลย (แต่ผมเนี่ยถึงกับแทบหยุดหายใจเลย … อะไรของมึงนะ) แถมแกยังอธิบายถึงเหตุผลของการไม่เขียน Comment การทีี่เปลี่ยน Code แต่ไม่แก้ Comment ทำให้เกิดความสับสน และแกยังบอกถึงเหตุผลอื่น ๆ ยาวมาก เวลานี้ทั้ง Hall เหมือนหยุดอยู่ที่แกทีเดียว พอแกพูดจบเท่านั้นแหละ บาปทั้งหมดที่แกพูดก็มาตกอยู่ที่ผมซึ่งจะต้องเป็นคนตอบต่อจากแก … (พระเจ้าทำไมกูต้องมานั่งตรงนี้นะ)  หลังจากนั้นไม่ว่าจะเป็นคำถามอะไร กระแสของงานเสวนาก็เทไปที่พี่รูฟ เหมือนทุกคนจะรอฟังว่าแกจะตอบเรื่องนั้น ๆ ว่ายังไง

ได้ของกลับบ้านมาเพียบ – ตกหลุมรัก TDD เลย

แต่สิ่งที่ผมประทับใจที่สุดที่แกพูดคือ การเขียนเทส ก่อนที่จะเขียน Code หรือที่ผมมารู้ตอนหลังว่ามันคือ TDD (Test Driven Development) ตอนนั้นผมรู้สึกเหมือนโดนเวทมนตร์เข้าอย่างจัง ผมรู้สึกได้เลยว่าวิธีที่แกว่าหรือวิธีที่แกอธิบาย มันคือหลักการที่ถูกต้องของการเขียนโปรแกรม มันคือหลักการของความยั่งยืน (แกขายเก่งมาก) หลังจากจบการเสวนา ผมจึงได้มีโอกาสคุยกับแกต่อ และผมบอกไปตามตรงว่าผมสนใจ TDD ของแกมาก จนแกต้องออกปากว่าถ้าสนใจพี่รูฟมีพูดถึง TDD ในงาน BugDay ที่จะจัดเร็ว ๆ นี้ที่ ม ศรีปทุม (งานอะไรว่ะชื่อไม่เป็นมงคลเลย …) พึ่งมารู้ทีหลังว่าเป็นงานที่จัดโดยเทพ Tester เพื่อให้ Tester ได้มาพูดคุยกันแชร์ประสบการณ์ กัน เอ๋ … แล้วเดบแก่ ๆ ที่ไปงานของชาวเทส – คู่อริโดยสายเลือด เนี่ยจะเหลือรอดกลับมาแบบตัวเป็น ๆ ไหมนะ การที่ได้ไปงานนั้นเหมือนเป็นการเปิดกระโหลกของแท้ เพราะได้เจอคนเยอะมาก ๆ และที่สุดก็จึงได้เข้าไปติดตาม Agile66.com ไปเรียนรู้ และเข้ากลุ่มกับ Agile66 ในที่สุด

นั่นถือว่าเป็นสัมผัสแรกของผมกับคำว่า Agile โดยการขายตรงของ พี่รูฟ เกรียนส์ตัวพ่อ ซึ่งพาให้ผมได้รู้จักกับ TDD แนะนำผมให้รู้จัก Agile จนผมไม่อาจจะถอนตัวออกไปจากมันได้แล้ว ต้องขอขอบคุณ พี่รูฟมา ณ ที่นี้ด้วยครับ แต่จริง ๆ ความสนุกของการเรียนรู้ Agile ยังอีกยาวครับ เจ็บเยอะมาก ๆ มีเวลาคงได้มาเล่าให้ฟังกันต่อ ๆ ไปครับ

credit image : http://yothinix.blogspot.com/2013/10/how-21-years-old-going-so-fast-and-what.html

Advertisements

ใส่ความเห็น

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / เปลี่ยนแปลง )

Twitter picture

You are commenting using your Twitter account. Log Out / เปลี่ยนแปลง )

Facebook photo

You are commenting using your Facebook account. Log Out / เปลี่ยนแปลง )

Google+ photo

You are commenting using your Google+ account. Log Out / เปลี่ยนแปลง )

Connecting to %s