เพื่อนพ้องน้องพี่ทั้งหลายคงจะเจอกับประโยคสุดยอด Classics เหล่านี้

“วัน Launch Project ขยับไม่ได้จริงๆ”
“Scope กับ Requirement มันเพิ่ม เลยต้องขยับ Plan ของ Development Team ออก”
“ทีม Test ลดวันลงหน่อยได้ไหม ช่วยๆ กันนะ”

สิ่งที่ตามมาคือคำถาม “ถ้าเวลามีจำกัดจะ Test อย่างไงดีให้ครอบคลุม?

2 กุมภาพันธ์ 2552

ผมได้เขียนบทความเรื่องนี้ไว้ “ถ้าเวลามีจำกัดจะ Test อย่างไงดีให้ครอบคลุม?” เพราะได้ไปประสบพบเจอจากเว็บไซต์เมืองนอกเมืองนามา บวกกับตอนนั้นได้ผ่านพ้นปัญหาเรื่องพวกนี้มา ก็เลยลองหยิบยก เอามาแบ่งปันให้เพื่อนพ้องน้องพี่ เผื่อว่าจะมีประดยชน์ไม่มากก็น้อยกับเพื่อนพ้องน้องพี่หลายๆ ท่านครับ ซึ่งพอจะสรุปได้ดังนี้

  • Function อะไรบ้างที่มีความสำคัญที่สุดใน Project
  • Function อะไรบ้างที่ Users จะใช้งานบ่อย
  • Function อะไรบ้างที่มีผลกระทบกับ Users มากที่สุด
  • Function อะไรบ้างที่เกี่ยวกับเงินๆ ทองๆ ที่สัมพันธ์กับ Users
  • Functions หรือ Features ใดบ้าง ที่สามารถส่งมาทำการ Test ได้ก่อนในช่วงพัฒนา Software
  • Coding ส่วนใดบ้างของ Software ที่มีความซับซ้อนมาก และมีวี่แววว่าจะมี Error แน่แน่
  • Functions หรือ Features ใดบ้างที่ถูกพัฒนาออกมาแบบร้อนๆ ด่วนๆ อันนี้มี Error แน่แน่
  • ส่วนใดบ้างของ Project นี้ ที่มีความคลายคลึงหรือสัมพันธ์กับปัญหาของ Project ก่อนหน้านี้
  • Requirement หรือ Solution Design ส่วนใดบ้างที่คลุมเครือ ไม่ชัดเจนบ้าง
  • Functions หรือ Features ใดบ้างในมุมของ Developer คิดว่ามันมีความเสี่ยงที่จะมี Error หรือทำงานผิดพลาด
  • ปัญหาใดบ้างที่จะโดน User บ่น ตำหนิ ติ แน่แน่
  • ปัญหาใดบ้างที่รับไม่ได้ หรือจะสร้างผลกระทบมากมายหลังจากเอาขึ้น Production
  • ออกแบบการ Test หรือ Test แบบใดบ้าง ที่จะสามารถครอบคลุม Functions ได้มากที่สุด

9 มกราคม 2553

คุณ Kannique เพื่อนพ้องของเราชาว welovebug มาแสดงความคิดความเห็นไว้ ใน บทความ “ถ้าเวลามีจำกัดจะ Test อย่างไงดีให้ครอบคลุม?”  ไว้ดัวนี้

ขอบคุณสำหรับบทความดีๆครับผม
จากประสบการณ์ของผม ส่วนมากแล้วสถานการณ์ที่เกิดจะเป็นว่ามีเวลาจำกัดในการ Test แถม Scope เพิ่มด้วยอะฮะ แต่แนวทางที่ช่วยผ่อนหนักให้เป็นเบาก็มีบ้างนะครับ ตามหลักการ Time = Scope + Quality + Resources
1. เพิ่ม Resource: มองซ้ายมองขวาไม่เห็นใคร ก็คว้าเอา Developer มาช่วยเราซะเลย … ช่วย Run Test พอนะ งานเขียน Test Spec กับการเตรียม Test Data ก็ยังเป็นของเราอยู่ครับ
2. ลด Quality: ก็อาจจะต้องต่อรองของลด Quality ลงบ้างครับ แต่ทำอย่างมีหลักการนิดนึง อย่างแรกที่ผมจะพิจารณาก็คือการลดระดับการทำ Cross Platform Testing ลงไปครับ โดยเน้นไปที่ส่วนที่สำคัญจริงๆก่อน (อย่างที่คุณ Zyracuze บอกไว้ในบทความครับ)
หลังจากที่ลองให้วิธีการนี้ในหลายๆงานที่ผ่านมา (คือมีปัญหาตลอดอะฮะ ฮ่าๆ) ก็ได้ผลเป็นที่น่าพอใจนะครับ งานมีคุณภาพใช้ได้และเสร็จทันเวลาครับ

คุณ Kannique มี Blog ส่วนตัวที่เขียนเกี่ยวกับ Project Management กับ Software Development Process และก็มีหลายๆ บทความที่เกี่ยวข้องกับเรื่องของ Software Testing และ Software Quality ผมก็เลยติดต่อไปเพื่อขอนำบทความของ คุณ Kannique มาเผยแพร่ต่อผ่านทาง welovebug ซึ่งก็ได้รับอนุญาติจากคุณ Kannique และต้องขอขอบคุณ ไว้ ณ ที่นี้ด้วยครับ

ทำอย่างไรถ้าเวลาสำหรับ Software Testing เหลือนิดเดียว

ทำอย่างไรถ้าเวลาสำหรับ Software Testing เหลือนิดเดียว” เป็นบทความที่ว่าด้วยเรื่องของการบริจัดการเรื่องของการ Test เมื่อมีเวลาจำกัด จากประสบการณ์ของคุณ Kannique เขียนไว้ที่ Chapterpiece.com ผมก็เลขขออนุญาตินำมาเผยแพร่ต่อบน welovebug แบบสรุปๆ ดังนี้ครับ

เคยเจอปัญหาแบบนี้มั้ยครับ?

เช้าวันหนึ่ง ณ บริษัทซอฟท์แวร์เฮ้าส์

พี่ PM: น้อง QA พี่เพิ่งได้อีเมล์จากลูกค้ามาขอเพิ่ม requirement มาตัวนึง กับแก้ของเก่าตัวนึง

น้อง QA: หรอพี่ แล้วทางฝั่ง Dev เค้าว่าไงหละฮะ?

พี่ PM: ทางนั้นเค้าก็ไม่อยากทำหรอกนะเพราะ release date ก็ใกล้เข้ามาแล้ว แต่มันก็เลี่ยงยาก

น้อง QA: ถ้ามันเลี่ยงไม่ได้ ทางผมเองก็คงต้องเอางานมาดูแล้ว estimate effort ใหม่ก่อนฮะ

พี่ PM: คือ … จริงๆแล้ว ผู้ใหญ่เค้าก็กำชับมาว่าห้ามเลื่อนวัน release อยู่ดีอะน้อง

น้อง QA: อ่าว …

คุณ Kannique ได้นำเสนอวิธีแก้ไขหรือผ่อนหนักให้เป็นเบาอยู่ 3 วิธี จากประสบการณ์ของ คุณ Kannique ดังนี้

  • เพิ่ม Resource ได้ทันใจ
  • ลด Quality อย่างมีสไตล์
  • เพิ่ม Time ด้วยการลด Time

เพื่อนพ้องน้องพี่หลายๆ คนคงจะแอบสงสับว่า 3 วิธีการที่ คุณ Kannique นำเสนอมานั้นมันเป็นอย่างไร ???

ผมไม่ขอนำ Copy และ Paste ลงบน welovebug ละกันนะครับ มันดูไม่แจ่มเท่าไร เลยขอให้เพื่อนพ้องน้องพี่ตามต่อไปที่

ทำอย่างไรถ้าเวลาสำหรับ Software Testing เหลือนิดเดียว” โดย คุณ Kannique

ของเขาดีจริงๆ ครับ ผมขอ Confired :)

ประสบการณ์จากเพื่อนพ้องน้องพี่ท่านอื่นๆ

นอกจากคุณ Kannique แล้วนั้น ก็ยังมีเพื่อนพ้องน้องพี่ท่านอื่นๆ ที่ร่วมแวดงความคิด ความเห็น และแบ่งปันประสบการณ์จากการทำงานเมื่อต้องเผชิญหน้ากับเรื่องของ เวลาในการทำ Test ที่เหลือนิดเดียวครับ

พี่ Mike แบ่งปันไว้เมื่อ 2 กุมภาพันธ์ 2552

share ของที่ทำงานนะครับ

เคยคุยกันไว้ว่า

เรา estimate เอาไว้ว่า test กัน 10 วัน

แล้วถูก task ก่อนหน้า delay มา เช่น ส่ง program มาให้ test ช้า

จนล้ำเขตแดน 10 วันของเรา

ถ้าเราตอบว่า เหลืออีก 5 วัน ทำได้ แบบง่ายเกินไปไม่มีเงื่อนไข

งานต่อไป PM หรือ user จะเพ่งเล็ง และบอกว่า

ครั้งก่อนขอไว้ 10 วันแต่ 5 วันก็ทำได้นี่นา

งานนี้ 5 วันละกันนะ project ฉันจะได้รีบขึ้น

ถ้าเกิดการรุกล้ำเขตแดนแบบนี้ จะให้ project board ตัดสินใจ

โดย จะ raise เป็น issue ของ project

แจ้ง risk ของ project ให้ทาง project board ทราบ

แล้วก็ให้ option ให้ project board เลือกว่า

1. ขอยืนยัน 10 วันเหมือนเดิม นั่นหมายถึง PM ต้อง revise plan

2. 5 วันได้ แต่ขอเพิ่ม resource (หากเวลายังพอเหลือให้ทำได้)

3. 5 วัน resource ไม่เพิ่ม ทำ 24 ชั่วโมง ยังไงก็ไม่พอ …

ช่วยกัน list test scenario ให้ user หรือเราจะเลือกให้ user ดูอีกทีก็ได้ว่า

จะ test อันไหนก่อนหลัง ในเวลาอันจำกัด เอาเท่าที่เวลาอำนวย

พอ project board เลือกว่าจะเอา option ไหนก็ทำตามนั้นครับ

คุณ Wipaday แบ่งปันไว้เมื่อ 2 กุมภาพันธ์ 2552

อ้ววว….ได้ยินคำพูดนี้แล้วมึนตึบ….

ทำงานเป็น tester แรกๆ ถ้าได้ยินคำนี้…หัวสมองก็จี๊ดด…โดยทันที…เอาอะไรคิดกันเนี่ยะ…รู้อยู่ล่ะ ว่ามันเป็นไปไม่ได้ๆๆๆ

แต่แล้วก็กลับมาก้มหน้าก้มตาทำงานให้เสร็จให้ทันเวลา..จนไม่ได้เห็นเดือนเห็นตะวัน…..เหมือนเช่นเคย…

จะมีข้อแม้…ก็เพียงแค่… “ขอคนมาช่วย support แล้วกัน ถ้ามีปัญหา งานจะได้เสร็จเร็วๆ” (โอ้ววฉานน….ตอนนั้นทำได้ดีที่สุดเท่านี้)

จากความกดดันมากมาย…ทำให้เหล่า tester มีชีวิตอย่างไม่เป็นสุข…

แต่จากเหตุการณ์พวกนี้เอง..มันก็ทำให้สิ่งดีๆ ใหม่ๆ เกิดขึ้นมากมาย…(ด้วยความช่วยเหลือของอัศวินม้าขาว…ผู้ที่เข้าใจว่า process คืออะไร)

ต่อไปนี้…Tester จะไม่เป็นเพียงผู้รับทำตามคำสั่งเท่านั้น …. เราจะเป็น lead ใน area ของเรา ทำหน้าที่ test lead ตาม role ได้อย่างเต็มที่

โอ้ววว(อีกครั้ง)..ความเป็น profressional เริ่มเข้ามาใกล้ล่ะ……อิอิ

จากการฝึกฝนด้านการเจรจาต่อรองกับ PMO,PM , User ,BA, developer และการ Manage test อยู่ระยะหนึ่ง ก็เริ่มรู้สึกว่ารอยหยักในสมองเริ่มมีมากขึ้น..

งานของเรา..ก็สำคัญใช่เล่นนะเนี่ยะ….การทำงานแข่งกับเวลา..และได้งานที่มีคุณภาพด้วยถือว่าเป็นเรื่องที่ท้าทายดีเหมือนกัน

เกริ่นซะยาว..(ด้วยความโดน) จะเข้าเรื่องล่ะนะ..

สรุป..

เราก็แก้ปัญหาคล้ายๆ พวกท่านที่ว่ามาเลย…(ไม่ได้ช่วยทำอะไรให้ดีขึ้นเล้ยย…555)

แต่เรายังยืนยัน..ว่าเราจำเป็นต้อง test ให้ได้ตาม scope ที่ design ไว้ตั้งแต่แรก ด้วยเวลาที่เท่าเดิมในครั้งแรกที่ estimate ไว้

แต่ถ้าเรื่องเวลาเป็นปัญหา…และเรื่อง quality เป็นปัญหาด้วยป่าว…แน่นอนทุกคนก็ต้องพูดเป็นเสียงเดียวกัน…”สำคัญแน่นอน”

แต่ถ้าเราต้องทำงานในสภาวะแบบนี้บ่อยๆ…สภาวะที่เวลา..ดูเหมืนอจะนำเรื่องคุณภาพ…ก็แอบมีคำถามในใจเหมือนกัน..แล้วงานเราจะมีคุณภาพได้อย่างไร

เราคงต้องวิเคราะห์และนำเสนออะไรในแง่ความเป็นจริง…คงหยวนเพื่อใครไม่ได้…แต่เราจะทำให้ดีที่สุด…ในหน้าที่ของเรา…

งาน QC เป็นอะไรที่ตรงๆ อยู่แล้ว…..ก็ว่ากันไปตามเนื้อผ้า….

แก้ปัญหานี้แบบไหนดี?

ผมว่ามิใช่เพียงแค่ ผม, คุณ Kannique, พี่ Mike และคุณ Wipaday เท่านั้นที่เจอปัญหา และวิธีการรับมือกับเรื่องของ Time ที่มีสั้นลง รวมทั้ง Resources ที่มีจำกัด

บทความของวันนี้ ผมเรียกว่า นำของเก่ามาปัดฝุ่นหากิน อีกรอบครับ และจะขอปิดท้ายไว้ด้วยคำถามว่า

เพื่อนพ้องน้องพี่มีวิธีการแก้นับมือเมื่อเวลาสำหรับ Software Testing เหลือนิดเดียว อย่างไร?

ร่วมแบ่งปัน ความคิด ความเห็น และประสบการณ์ผ่านทาง Comments ของบทความนี้ได้ครับ :)

Testing does not Finish, It’s just STOP!