สมองแพลตฟอร์ม : นักรบผู้เลอโฉม

เรากำลังพูดถึงการสร้างงานซอฟต์แวร์คุณภาพ  ที่จะหมายถึง  งานที่มีความซับซ้อน  งานที่ครอบคลุมฟังก์ชั่นการใช้งานขนาดใหญ่  หรืองานที่จะถูกใช้โดยผู้คนจำนวนมาก  หรืออาจจะหลาย ๆ เหตุผลรวมกัน  ไม่ใช่งานการสร้าง “Hello world”  ที่เป็นปฐมบทของทุก ๆ โปรแกรมภาษาที่นักพัฒนารู้กัน

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

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

ตรงนี้แหละ  ก็เป็นจุดแตกต่างที่สำคัญแล้ว  แตกต่างตั้งแต่วิธีการคิด  ตั้งแต่การเริ่มต้นวางโครงงาน

………….

ภายใต้กรรมวิธีการผลิตแบบ Object-Oriented  เทคนิคสำคัญก็คือ  มันต้องทำระบบใหญ่ ภาพรวมใหญ่ เพื่อหาสิ่งที่เหมือน และสิ่งที่ต่างออกมา   เมื่อได้แล้ว จึงนำมาทำเป็นสายพันธุกรรมระบบ…เพื่อนำไปพัฒนา… นี่คือเทคนิคการลดต้นทุนที่สำคัญที่สุด…

การ Reuse ต้นกำเนิดเดียวกัน แผนภาพสายพันธุกรรมนั้น  มันก็คือแผนภูมิทั่วไป ไม่มีอะไรผิดจากเดิม แต่ความหมายที่ลึกซื้งมันซ่อนอยู่ในภาพจินตนาการ  ว่ามองออกไหม นี่คือที่ยาก ซึ่งต้องอาศัยกรรมวิธีนำเสนอจากผู้เชี่ยวชาญที่เข้าใจแล้ว   ว่าจะสื่อสารอย่างในทางการตลาด ……………….

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

ก้อนฐานข้อมูลย่อยๆ เปรียบเทียบเหมือนเม็ดทรายที่ใช้เก็บข้อมูลกระจายเต็มไปหมด เมื่อเทคโนโลยี 5G มาถึง  ปริมาณและมิติของข้อมูลมันจะยิ่งทวีคูณ   มีข้อมูลจำนวนมากที่จะเข้าสู่ระบบและเข้ามาในหลายทิศทาง   ไม่มีทางที่จะใช้วิธีฐานข้อมูลก้อนเดียวมารองรับได้   ต้องใช้วิธีฐานข้อมูลแบบกระจายเท่านั้น …..

ในส่วนมาตรฐานทั่วไปปกติ …การเชือมโยงความสัมพันธ์ในฐานข้อมูลแบบเดิม ๆ  ไม่สามารถรองรับได้

สำหรับสภาพแวดล้อมแบบนี้…  มันเหมือนเราจะเอาเม็ดทรายแต่ละเม็ด (แต่ละฐานข้อมูล)  มาผูกรวมกัน มันยากมากและเป็นไปไม่ได้ ….. แต่เราสามารถเอาตัวเรา หรือคน หรือ ระบบหลายๆ ระบบ  หรือหลายคนกำเม็ดทรายขึ้นมา แล้วมาจับมือแลกเปลี่ยนกัน หรือสื่อสารกัน โดยมีเม็ดทรายอยู่ในมือ   คือข้อมูล หรืออาจเปรียบเทียบเป็นเงิน หรือ Values อื่นๆ ใดก็ได้ ตรงนี้จึงต้องมองเป็น Layer ซ้อนกัน   นี่เป็น Layer ระดับ System   ส่วนเม็ดทราย เป็น Layer ความจำหรือฐานข้อมูล …………………..

ในระดับ Layer ของ System เราเรียก Business Object  หัวใจของโลกยุคใหม่ เพื่อรองรับความซับซ้อน และความสัมพันธ์จำนวนมากของระบบ จะใช้ Layer System มาสร้างความสัมพันธ์กัน โดยมาตรฐานตรงนี้และครับ ที่เรียกว่า API Service หรือ Business API โดยตัว API นี่มีหลายระดับ   จึงต้องมองการพัฒนาเป็นชั้นๆ

………………….

นั่นเป็นคำอธิบายบางส่วนบางตอนในการพัฒนางานจากทีมงานของเรา

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

การสร้างอาคารสูงซัก 100 ชั้น  เมื่อมีภาพแบบแปลนเตรียมพร้อมแล้ว  การก่อสร้างก็ย่อมจะต้องเริ่มจากงานฐานราก  คาน เสา โครงสร้างหลักตั้งแต่ชั้นล่างสุดขึ้นไปทีละขั้น  โดยต้องรอให้ชั้นล่างๆ นั้น สามารถรับน้ำหนักได้สมบูรณ์ดีเพียงพอเสียก่อน  และไล่ไปจนถึงชั้นบนสุด  ในขณะที่งานตกแต่ง  งานระบบบางอย่างก็อาจจะเริ่มต้นได้ในชั้นที่มีโครงสร้างหลักเสร็จแล้ว  เรียกว่าต้องมีระยะเวลาพักให้โครงสร้างแข็งแรงพอ  และมีระยเวลาห่างให้งานระบบงานตกแต่งไล่เรียงกันไปตามจังหวะเวลาของโครงการ

งาน  Multiplatform จึงอธิบายได้ด้วยหลักการเดียวกัน  การค้นหาส่วนเหมือน  ส่วนต่าง  การสร้างต้นแบบชิ้นส่วนพันธุกรรม  การทำซ้ำ  การตกแต่งต่อเติม

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

ซอฟต์แวร์แพลตฟอร์มก็เช่นกัน  ต้องออกแบบโครงร่างฐานข้อมูล  กำหนดความสัมพันธ์  สร้างพันธุกรรมต้นแบบ  ฟังก์ชั่นการใช้งาน  อัลกอริทึม  ความปลอดภัย  API  ไปจนถึงการสร้างส่วนแบบฟอร์ม  UX/UI ต่าง ๆ   ที่มันจะไม่เป็นการสร้างแบบสวนทางคือ  ทาสี ก่อผนัง  แล้วไปสร้างคาน  สร้างโครง แล้วปักเสาเข็ม

สมองเวนเจอร์ (Samong Ventures ) เราไม่ได้ก่อตั้งมาเพื่อชอปปิ้งซอฟต์แวร์ดาด ๆ  ในตลาด   และไม่ได้ก่อตั้งมาเพื่อการเฉพาะกิจ  ไม่ได้มีซอฟต์แวร์ขนาดเล็ก ๆ มาเร่ขายแข่งขันกันทั่วไป   แต่เรามุ่งเน้นการสร้างงานแพลตฟอร์มแห่งยุคหน้า

อยากให้ภาพ  ภาพของการเชื่อมโยงของแพลตฟอร์มต่าง ๆ กัน  ผ่านการสื่อสาร  5G  ภายใต้มาตรฐานวิธีการสร้างซอฟต์แวร์ที่ดี  และมีผู้ใช้เป็นจำนวนหลาย ๆ ล้านคน  ให้แพลตฟอร์มนั้นเป็นประโยชน์  มีคุณค่า  ผู้คนยินดีใช้ยินดีจ่าย  แพลตฟอร์มเหล่านั้นจะได้รับการกล่าวขานว่ามันยิ่งใหญ่  มากทั้งจำนวน  ยิ่งใหญ่ทั้งคุณภาพ

237total visits,3visits today

Spread the word. Share this post!

Leave Comment