User permission ไม่ต้องห้าม แค่ติดตาม ก็พอ

ในการออกแบบระบบสมัยก่อน เรามักคุ้นเคยกับการจัดทำรายชื่อ user และกำหนด permission ว่าอนุญาตให้ทำ หรือห้ามไม่ให้ทำ อะไรส่วนไหนของโปรแกรมบ้าง ดังนั้นโปรแกรมที่ดีจะต้องสามารถ กำหนดควบคุม การทำงานในส่วนต่างๆ ได้ละเอียดยิบย่อยกันทีเดียว

ยิ่งระบบงานใหญ่ การวางแผน สร้างกฏเกณฑ์ permission ต่างๆ ให้สอดคล้องกับ job description ของ user ก็ยิ่งซับซ้อน ยุ่งเหยิง และหลายครั้งที่งานส่วนนี้ไม่เคยทำได้สำเร็จสมบูรณ์

คำถามที่ท้าทายตรรกะคราวนี้คือ ระบบต้องมี user permission เพื่ออะไร ?

คราวก่อน ได้ให้มุมมองต่อการใช้ประโยชน์ ของ notify ในเรื่องของการตรวจสอบความถูกต้อง

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

Usage Tracking

โปรแกรมยุคใหม่ ต้องใช้ประโยชน์ของความเป็น cloud ด้วยการบันทึกรายละเอียดการใช้งาน เพื่อนำมาใช้ปรับปรุงโปรแกรม

นอกจากนี้ ข้อมูลใน usage tracking ยังสามารถนำมาใช้เพื่อการ notify เมื่อพบว่ามี action การทำงานบางอย่างที่สุ่มเสี่ยงได้

Notify

หากเปรียบเทียบง่ายๆ

การใช้ user permission เปรียบเสมือนการล้อมรั้ว ซึ่งหากไม่มีการตรวจตราดูแลสม่ำเสมอ รั้วนั้นอาจมีช่องโหว่ ให้เล็ดลอดได้ โดยที่เราไม่รู้ตัว

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

การมีกลไก usage tracking ที่ดี และระบบ notify ที่ทันต่อเวลา ประกอบกัน ทำให้เราสามารถออกแบบระบบงานที่ ยินยอมให้เกิดความเสียหายไปก่อน แล้วจึงค่อยจัดการกับปัญหาภายหลัง

Notify ที่ทันเวลา ช่วยระงับไม่ให้ความเสียหายลุกลามใหญ่โต

Usage tracking ที่ดี ทำให้เราสามารถกู้คืน กลับไปยังจุดที่เริ่มต้นก่อนเกิดการกระทำที่ก่อให้เกิดความเสียหายได ้


2017–06–09 Sathit Jittanupat

Like what you read? Give Sathit Jittanupat a round of applause.

From a quick cheer to a standing ovation, clap to show how much you enjoyed this story.