
จากหนังสือเรื่อง Team Topologies นั้นมีการอธิบายเรื่องของ Thinnest Viable Platform (TVP)
เป็นแนวคิดและแนวทางในการจัดการ feature ต่าง ๆ ใน platform ของเรา
ไม่ให้ซับซ้อนจนเกินไป
ไม่ให้มีมากกจนเกินความจำเป็น
อะไรที่ไม่ได้ใช้งาน ก็เอาออกไป
เป็นสิ่งที่ต้องทำอย่างต่อเนื่อง
เพื่อทำให้มั่นใจว่า ระบบสามารถ scale, maintain และมีประสิทธิภาพที่ดีในระยะยาว
แต่น่าจะขัดแย้งกับหลาย ๆ ที่ เพราะว่า ถ้าไม่ใช้ก็อย่าไปยุ่งกับมัน !!
เน้นสร้างของใหม่เข้าไป !!
โดยแนวคิดนี้ จะเริ่มจาก Minimum Viable Platform (MVP)
เพื่อสร้าง platform สำหรับการพัฒนาและส่งมอบ product ต่าง ๆ อย่างรวดเร็วและมีคุณภาพ
เริ่มจากเล็ก ๆ เพื่อให้ได้รับ feedback ที่เร็วจากการทำงานภายใน
ตั้งแต่การพัฒนา ทดสอบ ส่งมอบงาน และระบบ monitoring ต่าง ๆ
จนการได้รับ feedback จากผู้ใช้งานด้วยเช่นกัน
ดังนั้น MVP จะช่วยลดหรือหลีกเลี่ยงระบบที่ซับซ้อนในช่วงเริ่มต้น
แต่เมื่อเวลาผ่านไปก็ต้อง maintain ให้ดี ให้เหมาะสม
ทั้งเรื่องของความซับซ้อน
ทั้งเรื่องของค่าใช้จ่าย
ทั้งเรื่องของเวลาในการจัดการ
มีการ update สิ่งต่าง ๆ ที่ใช้งานอย่างสม่ำเสมอ
และระบบต้องทำงานได้ดี รองรับการ scale ได้
นั่นคือที่มาของ TVP นั่นเอง

ซึ่งเป็นพื้นฐานของ Platform as a Product
ที่ต้องเข้าใจถึงความต้องการของกลุ่มคนใช้งานเสมอ
แน่นอนว่า ความต้องการเปลี่ยนไปอย่างแน่นอน
ดังนั้น platform ก็ต้องสามารถปรับเปลี่ยนด้วยเช่นกัน !!
เพื่อช่วยลดงาน ไม่ต้องจดจำการทำงานมากจนเกินไป
นั่นคือการแบ่งกรอบการทำงานที่ชัดเจน และ แต่ละกรอบต้องจบภายในตัวเอง

อะไรที่มันใช้ซ้ำ ๆ ก็ควรต้องมาทำไว้ตรงกลาง
แต่ก่อนจะทำตรงกลาง ต้องมั่นใจก่อนว่า มันซ้ำจริง ๆ !!
แสดงดังรูป

ยกตัวอย่างเช่น
- จากเดิมเป็น on-prem ใช้ VM ต่อไปใช้ Cloud แบบ public มาเป็น private สักพักเป็น hybrid
- หรือจากบน Cloud จะติดตั้งเอง ก็เปลี่ยนไปใช้ Managed-service
- หรือจากใช้ IaaS มาเป็น SaaS และมาเป็น PaaS
- หรือในทางตรงข้ามก็เช่นกัน
ล้วนเกิดมาจากความต้องการที่เปลี่ยนไป
ไม่มาจะเรื่อง การดูแลรักษา การ scale รวมทั้งค่าใช้จ่ายต่าง ๆ
จะมีการเปลี่ยนแปลงไปอย่างต่อเนื่อง
ดังนั้นสิ่งที่เราต้องจัดการ platform คือ การปรับเปลี่ยนให้ได้นั่นเอง
Reference Websites