วันที่ 1 ของ The Whole Team Approach to Agile Testing ณ สิงคโปร์

12744545_10153303469022371_9007475291959853116_n

เมื่อหนึ่งในสิ่งที่อยากจะทำคือ การได้เรียน Agile Testing กับ Janet Gregory และ/หรือ Lisa Crispin นั้นเกิดขึ้น ณ ประเทศสิงคโปร์ ก็จะรอช้าอยู่ใยที่จะจัดการลงทะเบียนจ่ายเงิน และตั้งตารอที่จะได้มานั่งเรียน จนกระทั่งวันพฤหัสบดีที่ 18 กุมภาพันธ์ พ.ศ. 2559 เวลา 9:00น. ก็ได้นั่งในชั้นเรียนของ Janet Gregory ในหัวข้อ The Whole Team Approach to Agile Testing วันที่ 1 นับเป็นประสบการณ์ที่ดีมากๆ ที่ได้มาร่ำเรียนเพิ่มเติมองค์ความรู้ และรับประสบการณ์ต่อจาก Janet โดย Janet ให้เขียน Acceptnace Test ของแต่ละคนเพื่อดูว่าจบวันที่ 2 นั้นจะได้ของกลับไปครบหรือเปล่า ซึ่งผมก็เขียนของตัวเองว่า

12734128_10153303550902371_687908277848322333_n

  1. ต้องการเสพประสบการณ์ของ Janet
  2. เช็คดูหน่อยว่าสิ่งที่ผมเข้าใจ และนำพาคนอื่นในส่วนของ Agile Testing นั้นมันใช่ไหมเมื่อเทียบกับประสบการณ์ของ Janet
  3. ได้เจอตัวเป็นๆ ของหนึ่งในนักเขียนที่ผมชื่นชม

ตั้งแต่เวลา 9:00น. จนกระทั่ง 17:00น. สำหรับผมเต็มไปด้วยความสนุก Janet สอนได้แจ่มมาก พร้อมกับมีกิจกรรมให้ทำเพื่อเสริมความเข้าใจไปด้วย และกิจกรรมทั้งหมดก็จัดเก็บเข้าในกล่องเครื่องมือของตัวเองเรียบร้อย เตรียมนำกลับไปส่งมอบต่อให้กับเพื่อนพ้องน้องพี่ทั้งหลาย

ตลอด 8 ชั่วโมงหลายๆ อย่างที่ Janet สอน และแบ่งปันประสบการณ์นั้นค่อยข้างตรงกับสิ่งที่ผม และทีมงานนำพาผู้คนอยู่ตลอดระยะเวลาที่ผ่านมาซึ่งส่วนหนึ่งก็ได้รับอิทธิพลมาจากทั้งหนังสือ Agile Testing และ Slide ที่ทั้ง Janet และ Lisa ไปพูดตามงานต่างๆ

ดังนั้นขอสรุปสิ่งที่ได้จดบันทึกไว้ตลอด 8 ชั่วโมงพอสังเขปให้เพื่อนพ้องน้องพี่ WeLoveBug ได้เสพกันดังความว่า

IMG_6878

Whole Team ขอเรียกเป็นภาษาไทยว่า ทีมพัฒนาและส่งมอบ จะต้อง

  • เข้าใจความหมายของคำว่า Done ให้ตรงกัน ซึ่ง Done แบบของ Janet นั้นหมายความว่า เขียน Code และทดสอบเรียบร้อย 
  • ทีมพัฒนาและส่งมอบ จะต้องทำงานร่วมกับลูกค้า โดยทั้งหมดจะต้องสนใจ ใส่ใจ และให้ความสำคัญกับเรื่องของารส่งมอบคุณค่าทางธุรกิจเสมอ
  • ทำงานร่วมกันเป็นรอบสั้นๆ หรือ Iteration โดยในแต่ละรอบการทำงานต้องประกอบไปด้วยกระบวนการ SDLC ทั้งหมด (รูปวาดของ Iteration อันนี้ผมใช้ตามแบบของผม Janet ไม่ได้ลงรายละเอียดในเรื่องนี้)
  • Prioritization เป็นหัวใจสำคัญมากๆ โดย ของที่สำคัญและมีคุณค่าทางธุรกิจจะต้องถูกเลือกมาพัฒนาและส่งมอบก่อนเสมอพร้อมคุณภาพ

IMG_6879

เมื่อพูดถึงคำว่า ทีมพัฒนาและส่งมอบซอฟต์แวร์ สิ่งที่สมาชิกทุกคนในทีมไม่ว่าจะเป็นใคร จะมีหรือไม่มี Tester ก็ตามจะต้อง

  • คิด และรับผิดชอบในการทดสอบซอฟต์แวร์ (Testing) ในทุกๆ ระดับของการทดสอบ (Test Level)
  • จะต้องเข้าใจธุรกิจของบริษัทที่ทำงาน หรือบริษัทลุกค้าที่มาจ้างพัฒนาและส่งมอบซอฟต์แวร์
  • สมาชิกทุกๆ คนในทีมจะต้องทำงานร่วมกันตลอด
  • คุณภาพ เป็นหน้าที่และความรับผิดชอบของทีมโดยตรง และสมาชิกทุกๆ คนของทีมต้องให้คำมั่นสัญญาที่จะส่งมอบคุณภาพให้กับลูกค้าด้วย

IMG_6880

ทักษะเป็นเรื่องที่ต้องให้ความสำคัญมากๆ โดยในบริบทของ Tester เองนั้นจะต้อง

  • ปรับแนวคิดของตัวเองใหม่เลย โดยต้องมีแนวคิดว่า เราจะเข้าไปช่วยให้ทีมสามารถส่งมอบซอตฟ์แวร์ออกไปได้อย่างไรอย่างมีคุณภาพและตรงตามความต้องการของลูกค้า?
  • Programmer หรือ Developer หรือคนอื่นๆ ก็ต้องปรับแนวคิดด้วยเช่นกัน
  • Tester จะต้องได้รับการต้อนรับและให้ความสำคัญเพราะเป็นหนึ่งในสมาชิกของทีม
  • Tester ไม่จำเป็นจะต้องมีประสบการณ์ในการเขียน Code มาก่อน แต่จะต้องเข้าใจรูปแบบของการพัฒนาซอฟต์แวร์
  • Tester จะต้องมีทักษะ และศิลปะในการสื่อสารที่ดี ยกตัวอย่างเช่น เมื่อเจอ Bug แทนที่จะเดินไปบอกกับ Programmer หรือ Developer ว่า เฮ้ย!!! เจอ Bug อีกแล้วใน Code ที่ส่งมาทดสอบ ก็เปลี่ยนเป็น นี่ๆ เราเจออะไรแปลก ช่วยมาดูหน่อยได้ไหมว่าสามารถแก้ไขได้หรือเปล่า เป็นต้น
  • Tester จะต้องเข้าใจและใส่ใจกับเรื่องเชิงเทคนิคต่างๆ ที่นำมาใช้ในการพัฒนา และส่งมอบ

IMG_6882

เมื่อมี Tester อยู่ในทีม Tester ควรจะต้องสนใจภาพใหญ่ของระบบที่ทีมกำลังพัฒนาและส่งมอบในขณะที่สมาชิกคนอื่นๆ ให้ความสำคัญและลงรายละเอียดในการพัฒนาและส่งมอบโดยทั้งหมดจะต้องทำงานร่วมกันเหมือนกับวงออร์เคสตรา พร้อมกับช่วยกันพินิจพิเคระาห์ว่าจะสามารถทำให้มี Automated Testing มากกว่า Manual Testing ได้อย่างไร เพราะเมื่อนำการพัฒนาซอฟต์แวร์แบบแอจไจล์เข้ามาปรับใช้ไม่ว่าจะเป็นกระบวนท่าไหน เมื่อต้องทำงานเป็นรอบการทำงานสั้นๆ แล้วนั้น ไม่มี Agile Team ใดๆ ที่จะไปตลอดรอดฝั่งได้หากไร้ Automated Testing

ดังนั้นให้พึงระลึกไว้เสมอว่า จะออกแบบระบบอย่างไรเพื่อให้ทดสอบได้ง่ายและสามารถ Automated ได้ มิใช่ ออกแบบระบบเพื่อให้มันเสร็จๆ ไปแล้วค่อยหันกลับมามองว่าจะทดสอบยังไงและจะใส่ Automated Testing เข้าไปอย่างไร

IMG_6885

ดังนั้น จงตั้งสติก่อนสตาร์ท หยุดสักนิด แล้วถามตัวเองและสมาชิกในทีมก่อนว่า เรารู้จักมักคุ้นสนิทสนมกับระบบงานที่เรากพลังพัฒนาและส่งมอบหรือไม่? ก่อนจะชายตาไปมองหาว่าจะหยิบเครื่องมืออะไรมาเพื่อทำ Automate Testing เน้นยำ จงรู้จักมักคุ้นสนิทสนมกับระบบงานที่เรากพลังพัฒนาและส่งมอบเสียก่อน จะริทำการใหญ่

IMG_6884

Janet ได้แบ่งปันประสบการณ์ในการที่จะเริ่ม Automate ว่า เราควรจะต้องพิจารณาเรื่องการลงทุนเป็นหลัก และจะต้องเข้าใจว่าการมี Automate Testing ไม่ว่าจะเป็นแบบที่เสียเงินไปซื้อมาหรือแบบ Open Source นั้นทั้งหมดเป็นการลงทุนวึ่งจะช้าในตอนแรกและต้องลงแรงกับมันเยอะในตอนแรกเช่นกัน และมันจะออกดอกออกผลช่วยทีมในระยะยาว

ดังนั้นจะต้องมีกลยุทธ์ของการทดสอบ (Test Strategy) เสมอ อย่าบูมบาม แก้ผ้ากระโดดขึ้นหลังม้าแล้วควบออกไปกลางทุ่งพร้อมตะโกนโวกเวกโวยวายว่า Automate Testing!!!

IMG_6883

หลักใหญ่ใจความสำคัญตลอดของวันที่ 1 ตั้งแต่เช้าจรดเย็นที่ Janet เน้นย้ำ และมีเกิดขึ้นตลอดในทุกๆ กิจกรรมคือ Communication และ Collaboration ดังนั้นการทำงานร่วมกันเป็นทีมสองสิ่งนี้สำคัญมาก มาก มาก และมาก สมาชิกทุกคนในทีมพัฒนาและส่งมอบ รวมทั้งลูกค้าหรือตัวแทนลูกค้า จะต้องเห็นภาพเดียวกัน และเข้าใจตรงกัน ดังนั้น จงเขียน จงวาด ทุกอย่างที่คุยกันลงบน Flipchart หรือ Whiteboard หรือ กระดาษ และเทคนิคเหล่านี้มีประโยชน์มากๆ ในการนำมาใช้เพื่อให้เกิดเรื่องของ Collaboration

  • Mind map
  • Impact mapping
  • Flow diagram
  • Feedback and interaction
  • Visibility
  • Specification
  • Paper prototype

ของส่งท้ายวันที่ 1 ไว้จะพล่ามต่อในวันต่อๆ ไป

12717766_10153303871767371_354025473571875476_n

12715529_10153303885387371_7968748590970816892_n

12742393_10153303885672371_7437901809879500386_n

สรุป

วันที่ 1 ของชั้นเรียน The Whole Team Approach to Agile Testing นั้น หัวใจสำคัญคือ ทีมที่ต้อง Communicate และ Collaborate ร่วมกันอยู่ตลอดทั้งภายในทีมเอง และภายนอกทีม โดยเฉพาะอย่างยิ่งกับ ลูกค้าหรือตัวแทนลูกค้า ในเรื่องของคุณภาพของซอฟตืแวร์ที่จะส่งมอบนั้นทีมเป็นผู้รับผิดชอบไม่ว่าจะมีหรือไม่มี Tester อยุ่ในทีมเองก็ตาม และนเน้เรื่องสำคัญมากๆ คือ ป้องกันไม่ให้เกิด Bug ซะ นะจ๊ะ

วันพฤหัสบดีที่ 18 กุมภาพันธ์ พ.ศ. 2559 เวลา 22:00 น.
 Bugis, Singapore

Leave a Reply

Your email address will not be published. Required fields are marked *