เป้าหมายของระบบ
หน้านี้เขียนสำหรับผู้บริหารและผู้รับผิดชอบด้านความปลอดภัยของโรงงาน ไม่ใช่สำหรับผู้พัฒนา ถ้าคุณต้องการรู้ว่าระบบนี้พยายามทำอะไร และจะวัดความสำเร็จอย่างไร ให้อ่านหน้านี้
เป้าหมาย
ทำให้งานที่มีความเสี่ยงสูงไม่สามารถเกิดขึ้นได้ โดยที่ไม่มีผู้มีความรู้ความสามารถอนุมัติไว้ก่อน และทำให้การอนุมัตินั้นพิสูจน์ย้อนหลังได้
ทุกคำในประโยคนี้มีความหมาย
- ไม่สามารถเกิดขึ้นได้ — ระบบ ปฏิเสธ ไม่ใช่แค่เตือนแล้วปล่อยผ่าน
- งานที่มีความเสี่ยงสูง — งานร้อน ที่อับอากาศ และงานบนที่สูง
- ผู้มีความรู้ความสามารถ — จป. ที่ตัดสินบนใบอนุญาตซึ่งเซิร์ฟเวอร์ตรวจค่าต่าง ๆ ให้แล้ว
- พิสูจน์ย้อนหลังได้ — บันทึกที่เพิ่มได้อย่างเดียว และตรวจจับได้ทันทีหากมีใครแก้ไข
ปัญหาที่ระบบนี้เข้ามาแทนที่
ระบบใบอนุญาตแบบกระดาษล้มเหลวในรูปแบบที่คาดเดาได้ วัตถุประสงค์แต่ละข้อด้านล่างเกิดจากข้อใดข้อหนึ่งเหล่านี้
วัตถุประสงค์
1. ไม่มีใบอนุญาตใดได้รับอนุมัติจากตัวเลขที่ไม่มีใครตรวจ
ค่าก๊าซและความเร็วลมถูกตรวจซ้ำ ที่เซิร์ฟเวอร์ ทั้งตอนส่งขออนุมัติและตอนอนุมัติ หน้าจอของ จป. เป็นเพียงผู้แสดงผลการตรวจนั้น ไม่ได้คำนวณเอง ค่าที่อยู่นอกช่วงจะบล็อกทันทีโดยไม่มีทางข้าม และระบบจะระบุว่าค่าใดไม่ผ่าน
เหตุผล: จุดที่ระบบกระดาษพังคือตัวเลขที่เขียนลงในช่อง แล้วไม่มีใครคำนวณซ้ำ
2. บัตรหมดอายุ = หยุดคนไว้ที่หน้างาน
ระบบตรวจบัตรสองครั้ง คือตอนส่งใบอนุญาต และอีกครั้งตอนผู้ตรวจสอบเช็คอินคนเข้าพื้นที่ ครั้งที่สองคือครั้งที่สำคัญ เพราะเป็นจุดที่คนอยู่จริง และไม่สามารถข้ามได้ที่หน้างาน การปฏิเสธทุกครั้งจะถูกบันทึกไว้
ข้อจำกัดที่ต้องบอกตรง ๆ: ค่าเริ่มต้นคือระบบตรวจว่าผู้ปฏิบัติงาน "มีบัตรที่ยังไม่หมดอายุ" เท่านั้น ไม่ได้ตรวจว่าเป็น บัตรชนิดที่ตรงกับงาน บัตรปฐมพยาบาลจึงยังผ่านด่านของงานร้อนได้ การตรวจชนิดบัตรนั้น สร้างเสร็จแล้ว ทั้งตอนตรวจก่อนส่งใบอนุญาตและตอนสแกนเข้าพื้นที่ และปิดไว้จนกว่าจะตั้ง CERT_TYPE_REQUIRED โดยจะปิดไว้จนกว่ามีคนตรวจข้อมูลบัตรที่บันทึกไว้แล้ว เพราะทันทีที่เปิด ผู้ปฏิบัติงานที่ชนิดบัตรไม่ตรงจะถูกหยุดจากงานที่วันนี้ยังทำได้
3. บันทึกแก้ไขแบบเงียบ ๆ ไม่ได้
ทุกการกระทำที่เปลี่ยนสถานะจะถูกเขียนลงบันทึกแบบเพิ่มได้อย่างเดียว โดยแต่ละรายการเชื่อมโยงกับรายการก่อนหน้าด้วยค่าแฮช การลบหรือแก้รายการใดก็ตามจะทำให้ห่วงโซ่ขาดตั้งแต่จุดนั้นเป็นต้นไป และมองเห็นได้ทันที ไม่มีช่องทางแก้ไขและไม่มีช่องทางลบ ในทุกแอป สำหรับทุกบทบาท รวมถึงผู้ดูแลระบบ เพราะระบบนี้ไม่มีบทบาทผู้ดูแลระบบตั้งแต่ต้น
บัญชีผู้ใช้จะถูก ปิดใช้งาน ไม่ใช่ลบ เพื่อให้ประวัติที่อ้างถึงคนคนนั้นไม่ชี้ไปยังสิ่งที่ไม่มีอยู่
เหตุผล: บันทึกความปลอดภัยที่แก้ไขได้ คือบันทึกที่ไม่ควรมีใครเชื่อถือ
4. งานร้อนปิดก่อนเวลาไม่ได้
เมื่อแจ้งว่างานร้อนเสร็จ ระบบจะเริ่มนับเวลาเฝ้าระวังไฟ 30 นาที และปิดใบอนุญาตไม่ได้จนกว่าจะครบ ส่วนใบอนุญาตที่อับอากาศซึ่งถูกปิดขณะยังมีผู้ปฏิบัติงานเช็คอินค้างอยู่ ทะเบียนจะไม่แสดงข้อมูลเท็จ ตั้งแต่รอบที่ 4 จป. เป็นผู้ปิดพร้อมเหตุผล และทุกคนที่ยังอยู่ภายในจะถูกเช็คเอาต์ให้อัตโนมัติ ณ เวลานั้น โดยบันทึกว่าเป็นการกระทำของระบบ
เหตุผล: การเฝ้าระวังไฟมีอยู่เพราะอันตรายยังอยู่ต่อหลังงานจบ และเป็นขั้นตอนที่ถูกข้ามบ่อยที่สุดตอนทุกคนอยากกลับบ้าน
5. งานทับซ้อนในที่เดียวกันต้องมองเห็น
สถานที่เป็นชุดที่ใช้ร่วมกัน จป. เป็นผู้ปักและตั้งชื่อหมุดทุกอันบนแผนผังพื้นที่ และผู้รับเหมาเลือกใช้หมุดนั้น เมื่อ จป. ตรวจใบอนุญาต ระบบจะแสดงใบอนุญาตอื่นบน หมุดเดียวกัน ที่ทั้งช่วงวันที่และช่วงเวลาทำงานรายวันซ้อนกัน เป็นคำเตือน โดยระบุใบอนุญาตนั้น วันและเวลาที่ชนกัน และชื่อหมุด (รอบที่ 4 เปลี่ยนจากพื้นที่ทำงานแบบเดิมมาเป็นหมุด ข้อแลกเปลี่ยนที่รู้อยู่แล้วคือสองทีมบนหมุด ที่อยู่ติดกัน จะไม่มีคำเตือน)
ตั้งใจให้เป็น คำเตือน ไม่ใช่การบล็อก เพราะสองทีมบนหมุดเดียวกันบางครั้งก็ถูกต้อง และระบบที่ห้ามไว้เลยจะถูกหาทางเลี่ยงมากกว่าถูกปฏิบัติตาม
6. ใช้งานได้จริงในที่ที่งานเกิดขึ้น
แอปของผู้ตรวจสอบทำงานบนมือถือ ใช้มือเดียวได้ บนพื้นโรงงานที่ไม่มีสัญญาณ การกระทำต่าง ๆ จะเข้าคิวไว้ในเครื่องและซิงค์เมื่อสัญญาณกลับมา ไม่มีการเรียกใช้บริการภายนอกขณะทำงาน สัญญาณช้าหรือถูกบล็อกจึงไม่ทำให้หน้าจอความปลอดภัยแสดงผลไม่ครบ
ทุกหน้าจอมีทั้งภาษาไทยและอังกฤษ โดยตั้งค่าเริ่มต้นเป็นภาษาไทย
จะรู้ได้อย่างไรว่าสำเร็จ
เป็นผลลัพธ์ที่สังเกตได้จริง ไม่ใช่ตัวเลขทางเทคนิค แต่ละข้อตรวจสอบได้ด้วยการเดินดูหน้างานหรือเปิดดูบันทึก
| เกณฑ์ | ตรวจอย่างไร |
|---|---|
| ไม่มีใบอนุญาตที่ใช้งานอยู่โดยไม่มีการอนุมัติในบันทึก | เปิดใบอนุญาตที่ ACTIVE ใบใดก็ได้ บันทึกต้องบอกว่าใครอนุมัติและเมื่อไร |
| ไม่เคยมีค่านอกช่วงที่ผ่านการอนุมัติ | เซิร์ฟเวอร์ปฏิเสธค่าเหล่านี้ ผลจึงควรเป็นศูนย์ ไม่ใช่แค่นาน ๆ ครั้ง |
| การปฏิเสธเข้าพื้นที่ทุกครั้งถูกบันทึก | ดูในบันทึก ต้องมีชื่อผู้ปฏิบัติงานและเหตุผล |
| ห่วงโซ่บันทึกตรวจสอบได้ตลอดสาย | ตรวจได้ในครั้งเดียวทั้งห่วงโซ่ |
| ใบอนุญาตงานร้อนมีการเฝ้าระวังไฟครบก่อนปิด | เวลาปิดงานต้องห่างจากเวลาแจ้งงานเสร็จอย่างน้อย 30 นาที |
| จป. เห็นว่ามีอะไรเปลี่ยนก่อนอนุมัติซ้ำ | เปิดใบอนุญาตที่แก้หลังส่งแล้ว ต้องเห็นรายการฟิลด์ที่เปลี่ยน |
| ผู้ตรวจสอบทำงานครบกะได้โดยไม่มีสัญญาณ | เปิดโหมดเครื่องบิน ทำงานให้ครบ แล้วต่อเน็ตกลับมาดูว่าซิงค์ครบ |
| ใบอนุญาตที่ถูกปฏิเสธบอกผู้รับเหมาว่าต้องแก้อะไร | การปฏิเสธทุกครั้งต้องมีเหตุผลเป็นข้อความ |
| ไม่มีใครข้ามบัตรหมดอายุได้ | ลองทำในทุกบทบาท ต้องถูกปฏิเสธทั้งสามบทบาท |
สิ่งที่ตั้งใจไม่ทำ
การบอกว่าไม่ทำอะไรก็เป็นส่วนหนึ่งของข้อเสนอ รายการเหล่านี้พิจารณาแล้วและตัดสินใจไม่ทำ
- แบบจำลองโรงงานสามมิติ — แผนผังสองมิติที่ปักหมุดได้ต้องพิสูจน์คุณค่าก่อน และตัวเลือกสามมิติที่มีบริการสำเร็จรูปขัดกับข้อกำหนดเรื่องการทำงานออฟไลน์
- บทบาทผู้ดูแลระบบ — มีสามบทบาท และสิทธิ์กำหนดเป็นราย endpoint การเพิ่มบทบาทที่ทำได้ทุกอย่างจะทำลายวัตถุประสงค์ข้อ 3
- นำเข้าทะเบียนทรัพย์สินเดิม — สถานที่ที่ใบอนุญาตอ้างถึงได้คือหมุดที่ จป. ปักไว้บนแผนผังพื้นที่ โครงสร้างอุปกรณ์ทั้งโรงงานเพิ่มทีหลังได้โดยไม่กระทบสิ่งที่สร้างไว้แล้ว
- การแก้ไขประวัติ — ไม่ใช่ข้อจำกัด แต่เป็นเจตนา
สถานะปัจจุบัน
โดยสรุป วงจรใบอนุญาต ห่วงโซ่บันทึก การตรวจบัตร การเฝ้าระวังไฟ และการทำงานออฟไลน์ของผู้ตรวจสอบ สร้างเสร็จและตรวจสอบแล้วทั้งหมด คำเตือนการทับซ้อนบนหมุดสร้างเสร็จแล้ว และตั้งใจให้เป็นเพียงคำแนะนำ การตรวจ ชนิด ของบัตรสร้างเสร็จแล้ว แต่ปิดไว้ (CERT_TYPE_REQUIRED) จนกว่าจะตรวจข้อมูลบัตรเดิม
ดูรายการที่ยังค้างได้ที่ สิ่งที่รอคนตัดสินใจหรือลงมือ
อ่านต่อ
- ภาพรวมและขอบเขตของระบบ — ศัพท์ที่ใช้และกฎที่แต่ละส่วนเป็นเจ้าของ
- แต่ละบทบาทต้องทำอะไร — ทั้งสามบทบาทตั้งแต่ต้นจนจบ