ตอนนี้โปรเจคที่ผมกำลังเข้าช่วงโค้งสุดท้ายในการลงนาม ตรวจรับ สิ่งที่สำคัญที่สุด คือ การเผา เอกสารครับ ตอนนั้นมีเอกสารในส่วนของฐานข้อมูล ผมขอเรียกมันว่า Data-Dict นะครับ ตอนแรกทีมที่ทำก็อึ้งๆ เนื่องจากโปรแกรมมีมานานและ 20 กว่าปี แต่ไม่เคยมี Data-Dict ที่สมบูรณ์สักที ทำไมทำมาได้ 1100 Table เพราะ มีหนี้ทางเทคนิค Technical Debt ที่เกิดจาก
- งานเร่ง เผาให้สุก ที่เหลือช่าง
- งานจบ คนจบ หลุดพ้นแล้ว
- งานจบ งานใหม่รอ
- งานปรับ (Change) แต่ของเก่าไม่รู้ว่า คือ อะไร มันไม่รองรับ ทำใหม่ดีกว่า (อันนี้เป็นปัญหาของคนที่ไม่ใช่สาย IT เลย แต่เข้ามาเกี่ยวข้องกับ Software Development ชอบคิดว่าง่าย แต่จริงๆ มันมีที่มาซับซ้อน)
แต่งาน Customize เสริมยังดีที่มีการทำ Data-Dict มาแล้ว ก่อนตะแก้ปัญหา เราต้องดูก่อนว่ามี Resource อะไรบ้าง
- น้องฝึกงาน 2 คน สายทำเอกสารโดยเฉพาะ ไม่ถัด Code
- Expert 6 คน ที่ยังรอดชีวิต
- เอกสารเก่าอีกชุดนึง
- Schema บางส่วน Dev ตัดสินใจใส่คำอธิบายลงใน DDL เลย
- มี Code Standard ในที่รี้ผมไม่ได้หมายถึงตัว Code นะครับ ผมหมายถึงฝั่งทาง Database ที่มีการวาง Pattern ที่ดีประมาณ 70% ครับ
สิ่งที่ต้องทำ
- ใข้ Tools เพื่อทำการ Generate ER-Diagram และ Data-Dict คร่าวๆมาก่อนครับ ได้ Comment มาด้วย
- เนื่องจากมีรูปแบบพอสมควรใน Database เราใช้สถิติมาช่วย นับจำนวน Column ที่มันซ้ำกันเยอะที่สุดใน DB มาครับ
- ใส่คำอธิบายของแต่ละ Column โดยอิงจากเอกสารเก่า วางไว้ใน GoogleDoc จะได้ไม่ต้องงลเสียเวลามา Merge
- ให้ Expert ช่วยกันมา Review
- ให้ Expert ตรวจสอบความสัมพนัธ์ของแต่ละ Entity ใน ER ถ้ามี Table ไหน Column ไหนไม่ใช้ ให้ทำ note เก๋บไว้ ห้าม Drop นะ เดี๋ยวบึ้ม 555
- ระหว่างที่ Expert ทำงานให้น้องฝึกงาน เตรียมโครงเอกสารข้อมูล ตั้วต้นให้คอธิบาย เท่ากับ ชื่อ Column ทำแบบนี้ เพื่อ Search & Replace แต่ไม่ใช่ให้ไล่ Copy เอา VBA มาช่วยทำครับ
- เมื่อ Expert ตรวจทานคำอธิบาย Column เสร็จ ให้น้องฝึกงาน Search & Replace ครับ
เผา Data Dictionary ทันใน 1 สัปดาห์ ทั้งๆที่ แต่ละ มีงาน End Pharse หลังโปรเจคจบ งานจบ แต่ SA กับ Dev ยังต้องเก็บกวาด สิ่งที่เกิดขึ้นจากการ Estimate Time ที่ผิดพลาดครับ T......T
Discover more from naiwaen@DebuggingSoft
Subscribe to get the latest posts sent to your email.