MSITBlog

1 minute reading time (287 words)

ระบบของผมมันแย่ …

วันก่อนผมได้ไปนั่งกินข้าวกับเพื่อนผู้ซึ่งยังทำงานอยู่ที่บริษัทแห่งหนึ่ง ระหว่างกินกันไปก็คุยกันไป เรื่องที่คุยกันก็เรื่อยเปื่อยตามประสาคนแก่แหละครับ เรื่องครอบครัวบ้าง เรื่องอดีตเก่า ๆ บ้าง เรื่องการงานบ้าง ก็ว่ากันไป

ในเรื่องการงานนั้น เขาเล่าให้ฟังว่า มีระบบระบบหนึ่งภายใต้การดูแลของเขา มันไม่ดีเอาเลย พอเขาเล่าจบ ผมก็บอกว่า ก็ไล่ Process ที่ไม่ดีออกไปซีวะ แล้วต่างคนก็ต่างหัวเราะ เพราะต่างคนต่างรู้นัยของความหมายนี้

ผมจะอธิบายให้ฟัง ว่ากันแบบง่าย ๆ เร็ว ๆ ก็คือ กระบวนการหนึ่ง ๆ (เช่น Process A) ก็คือ การเปลี่ยนอินพุตให้เป็นเอาต์พุต

พอเราเอากระบวนการสองกระบวนการมาต่อกัน (เช่น Process A มาต่อกับ Process B) เอาต์พุตของกระบวนการหนึ่งก็จะเป็นอินพุตของกระบวนการหนึ่ง (ตามรูปด้านล่างจะเห็นว่า เอาต์พุตของ Process A จะเป็นอินพุตของ Process B)

และเมื่อเรานำกระบวนการหลาย ๆ กระบวนการมาต่อกัน เพื่อให้มันทำกิจกรรมให้บรรลุเป้าหมายตามที่เราต้องการ กระบวนการต่าง ๆ มันก็จะร่วมกันทำงาน กลายเป็นระบบ (System) ขึ้นมาตามรูปด้านล่างนะครับ

ทีนี้ ถ้า Process ใด Process หนึ่งมันไม่รักดี เพราะมันดันให้เอาต์พุตที่เลว ๆ ออกมา ไอ้เอาต์พุตเลว ๆ ตัวนี้ มันก็จะกลายเป็นอินพุตเลว ๆ ให้ Process อื่นที่ตามหลังมันมา มันก็ทำให้ Process อื่น ๆ ให้เอาต์พุตเลว ๆ ตามกันไปเป็นพรวน (แม้ว่า ตัว Process อื่น ๆ ที่ตามหลังมามันจะรักดี ทำงานอย่างถูกต้องตรงไปตรงมา ก็ตาม) ทั้งนี้รวมถึงเอาต์พุตของ Process สุดท้ายของระบบด้วย (Process M ของ System X) … นี่ไง ระบบมันถึงได้แย่

ถ้าเป็นแบบนี้ เราก็ต้องหาให้เจอว่า Process ใดที่มันไม่รักดี เราจะได้ไล่มันออกไป แล้วก็หา Process ที่รักดีมาทำงานแทน ก็เท่านั้นเอง

ที่ผมกับเพื่อนหัวเราะกัน เพราะว่าเวลาพูดนะมันง่ายและการที่จะไปหา Process ที่ไม่รักดีนั้น มันก็ไม่ยากสักเท่าใดดอกครับ ถ้าเราทำให้เอาต์พุตของ Process ต่าง ๆ มันมองเห็นได้ (หรือ สามารถเอาข้อมูลของ Process ทั้งหลายมาดูได้ เราก็สามารถเทียบกับอดีต หรือ ประสลการณ์ที่ผ่านมาได้) … แป๊บเดียวก็เจอ แต่ไอ้ที่มันยากก็คือ อะไรหนอที่เป็นตัวกระตุ้นไปกระตุ้นต่อมไม่รักดีจนทำให้เจ้า Process ที่ดี ๆ นั้น มันเกิดทำตัวนอกคอกไปเสียอย่างนั้น

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

ปัจจัยใด ๆ ที่อยู่ในกลุ่มที่เราควบคุมได้ มันจะตรวจสอบได้ง่าย เช่น เราตั้งอุณหภูมิไว้ 120 องศา +/- 10% … มันยังเป็นไปตามนี้ไหม ถ้ามันเพี้ยนไปจากเดิม เราก็ปรับกลับมาให้เขาที่ Process มันก็จะกลับมาดีเหมือนเดิม แล้วเราก็ไปสืบหาว่า ใครมันมาปรับให้เพี้ยนไปหว่า จะได้จับมาตีก้นสัก 2 – 3 ป๊าบ

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

ตัวอย่างเช่น เมื่อเครื่องคอมพิวเตอร์ทำงานเต็มกำลัง มันก็จะมีความร้อนเกิดขึ้นมา และมันอาจจะสะสมจนทำให้เครื่องคอมพิวเตอร์หยุดทำงานได้ เราจึงออกแบบให้มีพัดลมดูดอากาศเข้าไประบายความร้อน (หรือ ควบคุมให้ความร้อนไม่มากเกินไปจนเกิดอันตรายขึ้นมา) ... แสดงว่า ปัจจัยความร้อนเราสามารถควบคุมได้ เมื่อมองอีกมุมหนึ่ง พัดลมมันก็จะดูดฝุ่นเข้าไปด้วย ฝุ่นก็จะเข้าไปสะสมในตัวเครื่องมากขึ้น ๆ จนทำให้เกิดปัญหา เช่น ทำให้หน้าสัมผัสของการ์ดกับซ็อกเก็ตแย่ลง หรือ ฝุ่นไปคลุมอุปกรณ์บางตัวจนทำให้มันระบายความร้อนได้ไม่ดี … แสดงว่า ปัจจัยเรื่องฝุ่นนี้ เราไม่สามารถควบคุมได้ (จริง ๆ แล้ว เราไม่ได้คิดเรื่องนี้เอาไว่ตั้งแต่แรก เราจึงไม่ควบคุมมัน) ทีนี้พอคอมพิวเตอร์มันมีปัญหาอันเนื่อมาจากฝุ่นที่เกิดสะสม เราก็จะไปดูในส่วนอื่น ๆ แทนที่จะดูเรื่องฝุ่น จึงทำให้เราหลงประเด็น

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

ถ้าว่ากันตามเนื้อผ้าแล้ว Process มันไม่ได้มีปัญหาหรอกครับ เรานี่แหละที่มีปัญหา เพราะเราออกแบบมันไม่รอบคอบเอง ถ้าจะไล่มันออก ตัวเราก็อย่าลืมเดินตามมันออกไปด้วยนะครับ และนี่คือเรื่องที่ผมกับเพื่อนหัวเราะกัน

ทุกครั้งที่ผมฟังข่าวในทำนองที่เมื่อมีปัญหาเกิดขึ้นมา แล้วก็มีคนมาให้สัมภาษณ์ในเชิงโยนความผิดไปให้ระบบ เช่น ระบบ X ของผมมีปัญหา มันแย่จริง ๆ อะไรแบบนี้ ผมก็อยากจะถามกลับไปว่า แล้วใครหว่าที่ออกแบบระบบขึ้นมา ผมว่าต่อไปอีกสักปีสองปี มันคงตอบว่า AI มั๊ง ถึงตอนนั้นผมคงฮาแตกแน่  อืม .. อยากรู้จังว่าใครจะพูดประโยคนี้ก่อนหนอ

 

การศึกษาการทำงานของ Application ด้วย Wireshark ของ...
แลกเปลี่ยนมุมมอง

Related Posts

 

Comments

No comments made yet. Be the first to submit a comment
Already Registered? Login Here
Guest
Friday, 19 October 2018