บทความและข่าวสาร | Seven Peaks Insights

แนวคิด Build-Measure-Learn สำคัญต่อการพัฒนาซอฟต์แวร์อย่างไร

เขียนโดย Seven Peaks - 1 ต.ค. 2021, 3:48:00

ทำไมคอนเซ็ปต์นี้ถึงมีความสำคัญต่อการพัฒนาซอฟต์แวร์

 

 

เกริ่นนำ

แนวคิด Build-Measure-Learn นั้นมีอีกชื่อหนึ่งว่า validated learning หรือ การเรียนรู้ด้วยการพิสูจน์ ซึ่งเป็นกระบวนการนำความรู้ไปปรับใช้กับผลิตภัณฑ์ของคุณด้วยการพิสูจน์ว่ามันควรมีอยู่ด้วยเหตุผลใดในทางธุรกิจบ้าง

แนวคิด Build-Measure-Learn ใช้ชุดของข้อมูลเชิงปริมาณเพื่อนำไปพิสูจน์ผลลัพธ์ด้วยการสร้างฟีเจอร์ จากนั้นวัดผลจากฟีเจอร์ดังกล่าว แล้วรวบรวมข้อมูลเพื่อวางแผนว่าควรพัฒนาอย่างไรต่อไป แทนที่จะทุ่มสุดตัวด้วยสัญชาตญาณหรือคาดเดาเกี่ยวกับแนวคิดของบริษัท

 
 

ความสำคัญของแนวคิด Build-Measure-Learn

การใช้หลักการของ validated learning ในกระบวนการพัฒนาผลิตภัณฑ์นั้นมีข้อดีเหนือแนวทางการเรียนรู้แบบดั้งเดิมหลายอย่าง ได้แก่

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

วงจรของ validated learning ที่ Seven Peaks Software นำมาใช้งาน

 
 
 

หลักการทำงานของแนวคิด Build-Measure-Learn

แนวคิด Build-Measure-Learn นั้นนำมาใช้ในกระบวนการทำงานแบบ Scrum/Agile ซึ่ง Eric Ries เป็นคนริเริ่มนำแนวคิดนี้มาใช้ เมื่อปี 2011

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

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

ขั้นตอนมาตรฐานในวงจรของ validated learning คือ

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

จำแนกองค์ประกอบของแนวคิด Build-Measure-Learn จากวงจร Validated Learning

แนวคิด Build-Measure-Learn ของ Eric Ries นั้นทำให้เกิดนวัตกรรมที่ยั่งยืนและกระบวนการแก้ไขผลิตภัณฑ์ที่ lean ขณะเดียวกันก็ลดความเสี่ยงด้วยวงจร validated learning ซึ่งมีรายละเอียด ดังนี้

 
 

การสร้าง

แนวคิด Build-Measure-Learn เริ่มต้นด้วยการสร้าง (Build)

ขั้นตอนแรกคือการวางแผนในการ “สร้าง” ซึ่งอยู่ในขอบเขตของสิ่งที่คุณต้องการทดสอบหรือทำความเข้าใจ แนวคิดนี้จะกลายมาเป็นสมมติฐาน ซึ่งจะกำหนดทิศทางของสิ่งที่คุณจะสร้างต่อไป

ขั้นต่อมาก็คือการสร้าง โดยพิจารณาถึงสมมติฐาน เนื่องจากสองสิ่งนี้สามารถช่วยหาคำตอบของคำถามสำคัญที่ว่า “เมื่อไรที่การลงทุนลงแรงทางวิศวกรรมนั้นไม่ได้สร้างคุณค่าให้กับธุรกิจอีกต่อไป”

บางฟีเจอร์ของแอปพลิเคชันมือถือยังนับว่ามีประโยชน์อยู่ไหม หากผลิตภัณฑ์นั้นมีโอกาสสร้างผลกำไรเพิ่มเติมได้ถึง 500,000 บาทในไตรมาสนี้ แต่ต้องใช้เงินทุนถึง 1,300,000 บาทในการพัฒนามันขึ้นมา

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

การจะเข้าใจคำถามนี้ได้ดีขึ้นนั้น คุณต้องประเมินโอกาสด้วยการทำ A/B testing รวมถึงขั้นตอนเพิ่มเติมในการพัฒนา ซึ่งได้แก่

  • สร้างตัวเลือกขึ้นมาสองตัว
  • พัฒนา A/B setup code ขึ้นมา แล้วนำไป implement
  • ลบ setup code ดังกล่าว
  • ลบตัวเลือกที่มีผลลัพธ์แย่กว่าหลังจาก A/B testing สิ้นสุดลง

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

 
 

การวัดผล

หลังจากที่คุณได้พัฒนาฟีเจอร์ขึ้นมาแล้วด้วยการวิเคราะห์และ deploy มันในระหว่างกระบวนการของการสร้าง ขั้นตอนต่อไปคือการวัดผล และติดตามตัวชี้วัดทั้งหลายเพื่อประเมินว่าสมมติฐานของคุณเป็นอย่างไรบ้าง

เริ่มจากการรับ sample size ที่มีหลากหลายขนาดมา จากนั้นลองวัดผลเป็นเวลาอย่างน้อยสองสัปดาห์ก่อนจะตัดสินใจเลือกจากผลลัพธ์ของ sample size ดังกล่าว

เก็บรวบรวมข้อมูลสำหรับการวิเคราะห์ชุดสุดท้ายในวันเดียวกับที่คุณเริ่มการทดลอง เช่น ถ้าคุณเริ่มในเช้าวันจันทร์ ลองเก็บข้อมูลชุดสุดท้ายในเช้าวันจันทร์ของอีกสองสัปดาห์ต่อมา

หลังจากที่เก็บข้อมูลเสร็จเรียบร้อยแล้ว ลองถามทีมงานของคุณด้วยคำถามต่อไปนี้

  • ผลลัพธ์ที่ได้เมื่อนำมาเปรียบเทียบกับสมมติฐานแล้วเป็นอย่างไร
  • ผลลัพธ์ที่ได้ประสบความสำเร็จมากหรือน้อยกว่าที่คำนวณไว้หรือไม่
  • ความเปลี่ยนแปลงที่เห็นได้ชัดคืออะไร

การวิเคราะห์ว่าสมมติฐานของคุณนั้นดีแค่ไหน ช่วยให้คุณเข้าใจเกี่ยวกับผลิตภัณฑ์และลูกค้าได้ดีกว่าเดิม ทั้งยังสามารถคาดการณ์สิ่งที่จะเกิดในอนาคตได้ดียิ่งขึ้น พร้อมทั้งปรับปรุงกระบวนการทำงานและทดลองได้อย่างมีประสิทธิภาพ

หลังจากรวบรวมข้อสรุปของสมมติฐานแล้ว ก็ควรส่งต่อผลลัพธ์ที่ได้ให้กับทีมพัฒนาผลิตภัณฑ์ของคุณด้วย แล้วปรึกษากับเพื่อนร่วมงานในที่ประชุมว่าจะนำสิ่งที่ค้นพบไปทำอย่างไรต่อไป

อย่าลืมสื่อสารกับผู้มีส่วนได้ส่วนเสียและลูกค้า เพื่อดูว่าฟีเจอร์ใหม่ของคุณนั้นทำหน้าที่ได้ดีแค่ไหน เพราะผู้มีส่วนได้ส่วนเสียต่างก็มีส่วนเกี่ยวข้องในความสำเร็จของผลิตภัณฑ์และมีตัวชี้วัดของพวกเขาเองอยู่เช่นกัน

 
 

เรียนรู้

เมื่อคุณตัดสินผลลัพธ์ของผลิตภัณฑ์จากข้อมูลที่เปิดเผยให้เห็นในระหว่างขั้นตอนการวัดผลแล้ว คุณก็ต้องเลือกว่าจะทำอย่างไรต่อไป

การใช้ข้อมูลที่ผ่านการวัดผลและวิเคราะห์เพื่อเปรียบเทียบผลลัพธ์ที่ได้กับสมมติฐานที่ตั้งขึ้นมาในขั้นตอนแรกนั้นสามารถนำมาสรุปได้สองแบบ ดังนี้

  • หากสมมติฐานของคุณถูกต้อง: ให้พยายามยึดกระบวนการเดิม แล้วทำตามแผนของคุณในขั้นตอนต่อไป คุณสามารถนำแนวคิด Build-Measure-Learn ไปใช้ได้กับฟีเจอร์ต่อไปได้อีก โดยเริ่มจากตั้งสมมติฐานใหม่ แล้วก็ทำต่อไปตามขั้นตอน
  • หากสมมติฐานของคุณไม่ถูกต้อง: ให้เปลี่ยนไปใช้แนวทางอื่นแทน จากข้อมูลที่รวบรวมมา คุณควรจะดูออกว่าอะไรที่ใช้การไม่ได้ จากนั้นคุณควรลองคิดสมมติฐานใหม่แล้วตัดสินใจว่าควรเปลี่ยนแปลงอะไรบ้าง และควรก้าวไปในทิศทางใด เมื่อคุณมีแผนการใหม่แล้วก็จะสามารถนำ validated learning ไปสร้าง วัดผล และเรียนรู้ใหม่ตั้งแต่ต้นได้อีกครั้ง

เมื่อนำพวกเขามาอยู่ในวงจรและนำแนวคิด Build-Measure-Learn ที่ว่ามาข้างต้นมาใช้ คุณก็จะสามารถสร้างแนวคิดที่เห็นตรงกันเกี่ยวกับวงจรของการสร้างผลิตภัณฑ์ได้ในที่สุด

และอย่าลืมบันทึกผลลัพธ์ของการทดลองเอาไว้ในแพลตฟอร์มหรือที่ใดที่หนึ่งซึ่งทุกคนสามารถเข้าถึงข้อมูลได้ง่ายด้วย

 

ทำไมสิ่งเหล่านี้ถึงสำคัญต่อการพัฒนาซอฟต์แวร์ และสำคัญอย่างไร

วงจรของการทำ validated learning ที่เราพูดถึงข้างต้นนั้นเป็นเทคนิคที่สำคัญในการแสดงให้เห็นถึงความคืบหน้าสู่เป้าหมายขององค์กร ซึ่ง KPI ตัวอื่นๆ ที่ได้รับความนิยมนั้นไม่ตอบโจทย์อีกต่อไป

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

แนวคิด Build-Measure-Learn นั้นจะมีประสิทธิภาพมากเป็นพิเศษในการช่วยให้สตาร์ตอัปและ SMEs สามารถหลีกเลี่ยงการพัฒนาฟีเจอร์ที่ผู้บริโภคไม่ต้องการได้

ผู้ที่นำ แนวคิด Build-Measure-Learn ไปใช้จะมีโอกาสประสบความสำเร็จได้มากกว่าการใช้ตัวชี้วัดแบบดั้งเดิม เช่น รายได้ ด้วยการพิสูจน์ว่าอะไรสำคัญที่สุดสำหรับลูกค้า

แนวคิดดังกว่าสามารถนำไปใช้ได้ดีกับ โปรเจกต์พัฒนาซอฟต์แวร์หลากหลายรูปแบบ

 
 

สรุปทิ้งท้าย

สรุปได้ว่า แนวคิด Build-Measure-Learn นั้นก็คือการทดสอบและพิสูจน์ว่าแนวคิดในการพัฒนาผลิตภัณฑ์ของคุณเหมาะสมหรือไม่ ก่อนที่จะลงทุน ลงแรง และใช้เวลาในการสร้างมันขึ้นมา

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

“ทดสอบก่อนลงทุน!”