PlusMagi's Blog By Pitt Phunsanit Backend,Database SCAMPER Technique (เทคนิคการคิดดัดแปลง และพัฒนาต่อยอดสิ่งที่มีอยู่)

SCAMPER Technique (เทคนิคการคิดดัดแปลง และพัฒนาต่อยอดสิ่งที่มีอยู่)

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

SCAMPER คือเทคนิคการคิดเชิงสร้างสรรค์ที่ทรงพลัง ซึ่งเป็นชุดคำถามที่ช่วยให้เราสามารถตั้งข้อสงสัยกับสิ่งที่มีอยู่ได้อย่างเป็นระบบ ไม่ใช่แค่การมองหาทางออกใหม่ทั้งหมดตั้งแต่ศูนย์ แต่เป็นการ ‘ดัดแปลง’ และ ‘พัฒนาต่อยอด’ สิ่งที่คุ้นเคยให้กลายเป็นโซลูชันที่ล้ำสมัยยิ่งขึ้น

SCAMPER กับการออกแบบฐานข้อมูล PostgreSQL

ในมุมมองของ System Specialist การนำ SCAMPER มาใช้กับ PostgreSQL ไม่ได้หมายถึงการหาฟังก์ชันใหม่ แต่คือการบังคับให้เราตั้งคำถามกับโครงสร้าง (Schema), ความสัมพันธ์ (Relationships), และกระบวนการ Query (Query Logic) ที่เรามีอยู่เดิม เพื่อค้นหาจุดที่สามารถปรับปรุงให้มีประสิทธิภาพสูงสุด

หลักการทำงานของ SCAMPER ในบริบทของ SQL

  • S (Substitute): การแทนที่ (Substitute) หมายถึงการพิจารณาว่าเราสามารถเปลี่ยนชนิดข้อมูล (Data Type) หรือแหล่งข้อมูล (Data Source) ได้หรือไม่ เช่น การเปลี่ยนจาก `VARCHAR` เป็น `JSONB` เพื่อความยืดหยุ่น หรือการเปลี่ยนการใช้ `INTEGER` เป็น `BIGINT` เพื่อรองรับปริมาณข้อมูลที่เพิ่มขึ้น
  • C (Combine): การรวม (Combine) คือการใช้ฟังก์ชัน `JOIN` เพื่อรวมข้อมูลจากตารางที่ดูเหมือนไม่เกี่ยวข้องกัน แต่เมื่อรวมกันแล้วจะเกิดมุมมองข้อมูลที่สมบูรณ์ยิ่งขึ้น
  • A (Adapt): การปรับใช้ (Adapt) คือการนำรูปแบบการทำงานจากโมดูลหนึ่งมาประยุกต์ใช้กับอีกโมดูลหนึ่ง เช่น การใช้ฟังก์ชันวันที่ (Date/Time Functions) ที่ออกแบบมาสำหรับระบบ A มาใช้ในการคำนวณอายุข้อมูลในระบบ B
  • M (Modify): การดัดแปลง (Modify) คือการปรับเปลี่ยนโครงสร้าง (Schema Modification) เช่น การใช้คำสั่ง ALTER TABLE เพื่อเพิ่มหรือแก้ไข Constraint หรือการเพิ่ม Index เพื่อเพิ่มประสิทธิภาพการค้นหา
  • P (Put to another use): การใช้ประโยชน์อื่น (Put to another use) คือการพิจารณาว่าคอลัมน์ที่เคยใช้เก็บข้อมูลประเภท A สามารถนำไปใช้เก็บข้อมูลประเภท B ได้หรือไม่ เช่น การใช้คอลัมน์สถานะ (Status) เพื่อเก็บทั้งสถานะและรหัสการดำเนินการ
  • E (Eliminate): การกำจัด (Eliminate) คือการทบทวนและลบคอลัมน์ (Column) หรือตาราง (Table) ที่ไม่มีการใช้งานแล้ว (Data Redundancy) เพื่อลดภาระในการจัดเก็บและเพิ่มความเร็วในการ Query
  • R (Reverse): การย้อนกลับ (Reverse) คือการพลิกกระบวนการคิด เช่น แทนที่จะ Query ข้อมูลจากวันที่เก่าไปใหม่ ลอง Query โดยการหาความแตกต่างระหว่างวันที่ล่าสุดกับวันที่เก่าที่สุด เพื่อหาช่วงเวลาที่ว่างเปล่า

ตัวอย่างการพัฒนาต่อยอดด้วย PostgreSQL

สมมติว่าเรามีตารางข้อมูลสินค้า (products) และตารางหมวดหมู่ (categories) เราต้องการพัฒนา Query เดิมให้สามารถรวมข้อมูลและทำความสะอาดข้อมูลได้ดีขึ้น โดยใช้หลักการ Combine, Modify, และ Eliminate:

SQL

-- Scenario: Combine (JOIN) and Modify (TRIM/CAST) data
SELECT
    p.product_name,
    c.category_name,
    TRIM(p.product_name) AS cleaned_name,
    CAST(p.price AS NUMERIC(10, 2)) AS final_price
FROM
    products p
JOIN
    categories c ON p.category_id = c.id
WHERE
    p.product_name IS NOT NULL; -- Eliminate NULL records

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

บทสรุป

SCAMPER จึงเป็นมากกว่าเทคนิคการคิดสร้างสรรค์ แต่เป็น ‘กรอบความคิดเชิงระบบ’ (Systematic Thinking Framework) ที่ช่วยให้ผู้เชี่ยวชาญ ไม่ว่าจะเป็นนักพัฒนาหรือสถาปนิกฐานข้อมูล สามารถตั้งคำถามกับทุกองค์ประกอบของระบบได้เสมอ การฝึกฝนการคิดด้วย SCAMPER จะช่วยให้การพัฒนาซอฟต์แวร์และฐานข้อมูลของเราก้าวข้ามขีดจำกัดเดิมๆ และสร้างนวัตกรรมที่แท้จริงได้