10 หลักปฏิบัติของ Agile Tester ที่ไม่ใช้ Agile ก็นำไปทำได้ ตอน หมั่นฝึกฝน ศึกษาหาความรู้ อย่างสม่ำเสมอ

Practice-Continuous-Improvement

 

สวัสดีเช้าวันพฤหัสบดีที่ 11 มิถุนายน พ.ศ. 2558 แป๊ปๆ ผ่านมาแล้วครึ่งปีมาต่อกันกับหลักปฏิบัติข้อที่ 6 ของ Agile Testing ที่ไม่ใช้ Agile ก็นำไปทำได้นะจ๊ะ เรื่องสำคัญหนึ่งเรื่อง ย้ำว่า สำคัญ สำคัญและสำคัญ คือ การพัฒนาตัวเอง ทั้งองค์ความรู้และทักษะอย่างต่อเนื่อง เพื่อนำมาใช้ในการทำงาน ในการพัฒนาซอฟต์แวร์เองก็เช่นกันองค์ความรู้และทักษะก็เป็นเรื่องที่สำคัญมากๆ เช่นกัน ไม่ว่าจะเป็นตำแหน่งไหนในทีมพัฒนาซอฟต์แวร์ต้องตระหนักถึงเรื่องเหล่านี้ไว้มากๆ หากต้องการซอฟต์แวร์ที่ถูกพัฒนาออกมาดีพร้อมกับคุณภาพที่ดี ทักษะเป็นเรื่องที่สำคัญมากๆ

สำรวจดูและปรับปรุงให้เหมาะสม (Inspect & Adapt)

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

สำหรับ Software Tester นั้น ณ พ.ศ. นี้ ก็คงเลี่ยงมิได้ที่จะต้องรู้จักและมีทักษะในส่วนของ Automate Testing ดังนั้นจงอย่าหยุดที่จะหาความรู้และทักษะเพิ่มเติมในส่วนนี้ โดยเราสามารถทำได้หลากหลายวิธีขอเพียงแค่จัดสรรเวลาให้ดีเท่านั้นเอง โดยสิ่งที่เราสามารถเพิ่มพูนความรู้และทักษะได้

  • ไปพบปะผู้คนตามงานพูดหรือให้ความรู้และทักษะเกี่ยวกับเรื่องของ Automate Testing เพื่อเราจะได้พบปะพูดคุยแลกเปลี่ยนองค์ความรู้และประสบการณ์ เน้ย้ำว่า ประสบการณ์ จากผู้ที่เป็นผู้แบ่งปันรวมทั้งผู้ที่มาร่วมงาน
  • ไปเรียน ไปฝึกอบรม เป็นอีกหนึ่งช่องทางที่เป็นทางลัดในตอนแรกๆ ที่เริ่มทำ Automate Testing เพราะได้ไปเรียนไปรู้จากผู้สอนที่จะพาให้เรารู้จักและได้ฝึกเกี่ยวกับเรื่องของ Automate Testing
  • เสพ หนังสือ บทความ Blogและวีดิโอ ตนเองก็ย่อมยังต้องเป็นที่พึ่งของตนเองอยู่ หากเราไม่ลงทุนในการไฝ่หาความรู้ของตนเองในสายอาชีพหรือสิ่งที่เราสนใจนั้นก็มิอาจจะมีใครจะมาช่วยเราพัฒนาปรับปรุงตนให้ดีขึ้นเรื่อยๆ ดังนั้นจงเสพแหล่งข้อมูลต่างๆ ที่ว่าด้วยเรื่องของ Automate Testing

สำหรับ Programmer หรือ Developer นั้น ณ พ.ศ. นี้ ก็คงต้องเริ่มเรียนรู้และฝึกฝนเรื่องของ Automate Testing ระดับของ Unit Testing และ Integration Testing เช่น Test-Driven Development และ Acceptance Test-Driven Development เป็นต้น โดยช่องทางก็มิต่างกันกับของ Software Tester นะจ๊ะ

เรื่อง Automate Testing เองนั้นผมอยากจะแนะนำว่าอย่าเพิ่งหลับหูหลับตากำเงินเดินไปซื้อ Tool เลย ขอให้ตั้งสติแล้วก็ตอบคำถามสามคำถามนี้

ทำไมเราต้องใช้ Automate Testing?

ขอให้หยุดคิดก่อนว่าเรามีปัญหาอะไรถึงจะต้องใช้ Automate Testing เข้ามาช่วยในการทำงานของเรา มาช่วยในการทำงานของทีมเรา มาช่วยในการส่องมอบงานให้ลูกค้าเรา โดยทุกๆ คนในทีมพัฒนาและส่งมอบซอฟต์แวร์ใช้เวลาประมาณหนึ่งชั่วโมง นั่งรวมกัน แบ่งปันมุมมอง ประสบการณ์และสรุปขึ้นบนกระดานไวท์บอร์ดหรือกระดาษ พร้อมทั้งเรียงลำดับปัญหาเหล่านั้นเสีย โดยจะเรียงตามผลกระทบที่เกิดขึ้นหรือเวลาที่ใช้มากในการทดสอบหรือจำนวน Bug ที่เกิดขึ้น เป็นต้น โดยเลือกมาสัก 1 – 2 ข้อพอ

เราจะนำ Automate Testing มาใช้อะไรได้บ้าง?

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

  • ทีมเจอปัญหาว่ากว่าจะทดสอบงานโดยรวมได้ครบหมดใช้เวลานานมาก เราลองนำแนวคิดและพัฒนาแบบ Acceptance Test-Driven Development มาใช้งานน่าจะช่วยลดเวลาลงได้
  • นักพัฒนา Programmer หรือ Developer ไม่กล้าที่จะแก้ไข Code เพราะไม่รู้จะกระทบอะไรตรงไหนบ้าง เราลองนำแนวคิดและพัฒนาแบบ Test-Driven Development มาช่วย

ย้ำ…อย่าเพิ่งไปมองเรื่อง Tool

แล้วเราจะต้องลงมืออย่างไร?

มาถึง ณ จุดนี้แล้วนั้น ค่อยมองไปที่ Tool หรือวิธีการได้เลยว่าหากเราจะเริ่มนำ Acceptance-Test Driven Development มาใช้งานนั้นจะต้องทำอย่างไรดี หากเราจะต้องนำ Test-Driven Development มาใช้งานนั้นจะต้องทำอย่างไรดี โดยผมขอสรุปเป็นสามขั้นตอนดังนี้

  • เรียน ทั้งแบบไปลงเรียนเป็นเรื่องเป็นราวตามที่มีเปิดสอนหรือหนึ่งคนในทีมลงไปศึกษาเรื่องเหล่านี้แล้วนำกลับมาสอนกันในทีม
  • ฝึก ไม่ว่าจะเรียนมาด้วยวิธีการแบบใด ต้องกลับมาฝึกฝนต่อเรื่อยๆ อย่างสม่ำเสมอทุกวัน
  • นำไปปรับใช้ ค่อยๆ นำไปปรับใช้ โดยดูจากความเหมาะสมด้วยว่าคุ้มหรือไม่คุ้มในการลงทุนที่จะทำ Automate Testing ลงไป

เรื่องสำคะญมากๆ คือ การเรียนรู้และฝึกฝนอย่างต่อเนื่อง ข้ามผ่าน 20 วันแรกอย่างต่อเนื่องไปให้ได้ หลังจากนั้นเราจะทำมันโดยเป็นธรรมชาตินะจ๊ะ

วันจันทร์ที่ 15 มิถุนายน พ.ศ. 2558 8:26น.
บางรัก  กรุงเทพมหานคร

 

Leave a Reply

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