Quantcast
Channel: cc :: somkiat
Viewing all articles
Browse latest Browse all 1997

แนวโน้มที่น่าสนใจเกี่ยวกับการพัฒนา Software

$
0
0

ตอนเช้าได้อ่านเอกสารเกี่ยวกับแนวโน้มและการเปลี่ยนแปลงต่าง ๆ ของการพัฒนา software ในอนาคตอันใกล้ ซึ่งประกอบไปด้วย
  • ปรับกระบวนการจาก Manual ไป Automation
  • จาก Automation ไปสู่ AI
  • ปรับการทำงานจาก Reactive ไป Proactive
  • Innovation
  • Reliability เป็นสิ่งสำคัญมาก ๆ
มาดูรายละเอียดกันเล็กน้อย

ปรับกระบวนการจาก Manual ไป Automation

จากผลการสำรวจเรื่อง FORRESTER REVEALS TOP 10 TECH TRENDS FOR 2018 TO 2020 พบว่า มีข้อหนึ่งสรุปไว้อย่างน่าสนใจคือ
Software robots will replace routine tasks that humans do poorly. By 2020, robots will engage in work that drives customer outcomes.
บอกไว้ว่า Robot จะเข้ามาทำงานในส่วนงานที่คนต้องทำงานซ้ำ ๆ เพราะว่า คนเรามักจะทำงานผิดพลาดอยู่บ่อย ๆ ถึงจะปรับให้ดีขึ้นก็ผิดพลาดได้ ที่สำคัญงานเหล่านั้นต้องการเวลาทำงานเยอะ (เวลาคือค่าใช้จ่าย) ดังนั้นกระบวนการทำงานจะเริ่มถูกปรับให้เป็นแบบอัตโนมัติมากขึ้น เพื่อปรับปรุงกระบวนการให้ดี และ มีคุณภาพมากขึ้น ช่วยลดปัญหา หรือ ทำให้เห็นปัญหาเร็วขึ้น เพื่อแก้ไขและปรับปรุงได้เร็วขึ้น ซึ่งเราจะเห็นได้ว่า หลาย ๆ บริษัทและทีมพัฒนา เริ่มนำแนวคิดและแนวทางของ CI/CD รวมถึง DevOps/Cloud มาใช้งาน เพื่อช่วยทำให้กระบวนการพัฒนา software รวดเร็วและมีคุณภาพ ประเด็นคือ ถ้านำมาใช้แล้วกระบวนการช้าลง คุณภาพแย่ลง คิดว่า น่าจะนำมาใช้ผิดที่ผิดทางนะ !!

จาก Automation ไปสู่ AI

นั่นหมายความว่า ถ้าการทำงานยังคงเป็นแบบ manual อยู่ คุณก็ไม่สามารถไป AI ได้ง่าย ดังนั้นปรับปรุงกระบวนการเป็น automation ก่อน จากนั้นจึงนำ AI เข้ามาช่วย ทั้ง Machine Learning, Data Mining และ Neural network ซึ่งจะช่วยให้บริษัทและทีม สร้าง product ที่ดีขึ้นสำหรับลูกค้าและผู้ใช้งาน รวมทั้งปรับเปลี่ยนและปรับปรุง product ตามความต้องการของผู้ใช้งานที่เปลี่ยนไปได้ แต่ก่อนจะเริ่มต้นนั้น แนะนำให้ไปดูระบบหรือ product ก่อน จากนั้นเริ่มที่ปัญหาว่า มีจุดใดบ้างที่น่าจะนำไปใช้ได้ จากนั้นจึงเริ่มทดลองเล็ก ๆ แล้วดูผล

ปรับการทำงานจาก Reactive ไป Proactive

ระบบงานมักเกิดสิ่งที่ไม่คาดหวังอยู่อย่างเสมอ คำถามคือ เรารู้ปัญหาก่อนหรือหลังผู้ใช้งาน กว่าจะรู้ปัญหา โดนผู้ใช้งานบ่นด่าไปมากเท่าไรแล้ว บริษัทเสียหายไปเท่าไร ไม่พอนะเมื่อเรารู้ปัญหาแล้ว นานไหมกว่าจะหาสาเหตุเจอ ต้องมานั่งอ่าน log file เอง ต้องมานั่ง debug code เอง นานไหมกว่าจะแก้ไขเสร็จ นานไหมหว่าจะ deploy เสร็จ สิ่งที่ต้องการคือ การทำงานแบบ proactive ไม่ใช่ reactive ดังนั้น ถ้ามีระบบ monitoring แล้วต้องบอกสถานการณ์ต่าง ๆ ของระบบได้ ว่าส่วนไหนเริ่มจะมีปัญหา ว่าส่วนไหนทำให้เกิดปัญหา ถ้ามีระบบ logging แล้ว ไม่ใช่เพียงแค่เก็บ !! แต่ต้องสามารถวิเคราะห์และบอกสิ่งต่าง ๆ ที่ต้องการได้

สุดท้ายแล้ว

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

Viewing all articles
Browse latest Browse all 1997

Trending Articles