DEV Community

Prayoch Rujira
Prayoch Rujira

Posted on

ทำ Software ไม่ได้มีแต่การปั่น Feature หรอกนะ

สวัสดีครับ เนื่องจากวันที่ 19 กุมภาพันธ์ 2566 ที่ผ่านมา พี่ปุ๋ยชวนไป(โดนฆ่า)พูดที่งาน National coding day จัดโดยสมาคมโปรแกรมเมอร์ไทย ที่ Bitec

เนื้อหาไม่ได้มีอะไรมาก เป็นการพูดคุยเกี่ยวกับเรื่องที่พบเจอได้ทั่วๆไปในการพัฒนา Software จนมันกลายเป็น meme ที่เอามาล้อกันสนุกสนาน แต่น้ำตามันตกอยู่ข้างใน

แน่นอนว่ากว่าผมจะรู้ว่าต้องพูดอะไร ก็ตอนที่ขึ้นเวทีไปแล้วนั่นเอง

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

เริ่มที่รูปนี้ จากใน Slide นั่นแหละ

Image description

คำถามคือ เราปล่อยให้ Bug มันขยายร่างขึ้นไปเรื่อยๆได้ยังไง
หรือผมลองตั้งคำถามใหม่
เราตั้งใจปล่อยให้บั๊กมันโตขึ้นเรื่อยๆหรือเปล่า?
มี Developer คนไหนตั้งใจ commit code ที่เป็น Bug เข้าระบบบ้าง
มี Tester คนไหนตั้งใจเขียน test case ที่ไม่มีวันทดสอบผ่านบ้าง
มี Designer คนไหน ตั้งใจสร้างของที่มันทำจริงๆไม่ได้ ใส่เข้าไปใน Figma บ้าง
มี Infra คนไหน ตั้งใจวางขั้นตอนให้มัน deploy ยากๆบ้าง
มี User คนไหน ตั้งใจให้ requirement ที่ไม่มีวันทำได้จริงบ้าง
และ อื่นๆอีกมากมาย

ผมคิดว่าจริงๆแล้ว ก็ไม่มีใครอยากทำร้ายกันหรอก ทุกคนก็อยากทำสิ่งดีๆทั้งนั้น ถ้างั้นแล้ว ปัญหามันมาจากอะไรล่ะ

ผมเดาว่า เป็นเพราะ ทุกคนมีเป้าหมายที่แตกต่างกัน เมื่อต่างคนต่างมุ่งหมายที่จะกระทำเป้าหมายของตัวเองให้สำเร็จเท่านั้น

ซึ่งมันเป็นเป้าหมายเดียวกันกับ software ที่กำลังทำกันอยู่หรือไม่?

ทำไมบั๊กมันถึงเติบโตขึ้นได้เรื่อยๆ สาเหตุหนึ่ง ก็เพราะว่าเรามี deadline ที่จะต้องทำ feature ทั้งหมดให้เสร็จตามที่ commit ไว้
ดังนั้น หลายๆครั้ง เราก็เลือกที่จะละเลยเรืองบางเรื่องไปก่อน เพื่อที่จะส่งมอบงานได้ทันเวลา
แล้วการต้องส่งมอบให้ได้ทันเวลา โดยที่ระบบมีปัญหา ใช้งานไม่ได มันเป็นเป้าหมายของใครกันล่ะ? ไม่น่ามีนะ
และเราก็ได้เรียนรู้ครั้งแล้วครั้งเล่าว่าธรรมชาติของการทำ Software มันไม่ได้เป้นแบบนั้น

Image description

ผมคิดว่า DevOps หรือ practice หลายๆตัวมันก็เกิดมาจากจุดนี้แหละ นั่นคือ ไม่ว่าคุณจะอยู่ตรงไหนของการทำ Software คุณจะต้องตระหนักรู้ถึงการที่ software ของคุณน่ะ มันจะถูกเอาไป Operate อย่างไร เราต้องทำอะไรหรือเตรียมตัวอย่างไรเพื่อ support สิ่งนั้น แล้ว practice หรือ tools ต่างๆ ค่อยตามมา

ขอให้สนุกกับการทำ Software มีความสุขทั้งฝั่งผู้ใช้งาน และฝั่งผู้พัฒนา ครับ

Top comments (0)