By Mr.Termsak Virakachornpong, Regional Vice President Southeast Asia, OutSystems
The pressure to deliver innovative products and services is at an all-time high. Until recently, when organizations talked about innovation and digital transformation, they were most often talking about customer experience. Now with the prevalence of remote/hybrid work, both employee and partner experiences have become just as critical in order to succeed in a distributed environment. But to be able to innovate and succeed across all three of these digital transformation priorities, companies need to cut the shackles from their outdated technology and processes that are holding them back.
So, we can’t be surprised when we read that IDC predicts that by 2024, most legacy applications will receive some modernization investment, with cloud services used by 65% of the applications to extend functionality or replace inefficient code.1
Delivering modern, cloud applications is essential to increasing flexibility, resilience, agility, and even opening new opportunities for the business. However, building these applications can be extremely hard. Moreover, the challenge of delivering these modern cloud apps grows even more daunting when companies are already spending big chunks of their time and resources just managing the technical debt of their existing technology investments.
We recently hosted a session with Lara Greden, Research Director at IDC, about how companies can overcome the most common challenges when modernizing their applications in order to transform themselves into software innovation factories in a digital-first world. Here are the main takeaways.
App Modernization Challenges
Let’s start from the beginning: why is it so hard to deliver modern applications? Unlike a few elite software companies, like Netflix or Apple, most organizations typically face three challenges that hamper their ability to modernize their products and achieve software innovation:
- Lack of developer talent: according to IDC, in 2021, there was a shortage of 1.4 million developers — the equivalent of 10% shortage when considering today’s population of full-time developers, a number expected to rise to 20% in the next four years.
- Technical debt: on average, 50% of applications in an organization are legacy and, of those, less than half have been integrated with modern development tools, like DevOps toolchains and integrated development environments. To clarify, legacy systems are not useless systems forgotten on a shelf; they often serve mission-critical needs. However, problems arise when you’re trying to innovate, and you need to integrate the aging system to, for example, access data or create a new app on top of it to make it easier for customers to do business with you. Integrating with or building on top of these aging applications can be complex and expensive.
- Lack of an innovation program in place: by innovation programs, IDC means programs that serve as the scaffolding to create the culture, the KPIs, and the necessary toolsets to empower developers. Although innovation programs are critical to keeping developers motivated, 41% of companies that say they are on a mission of digital innovation lack innovation programs.2
The question that naturally follows is: does this mean that most companies, the ones struggling to hire developers, the ones dealing with increasing backlogs and technical debt, are doomed? Rest assured, they’re not. But to cope with innovation, companies need to change the way they perceive software development.
3 Key Takeaways to Become a Software Innovation Factory
During her session, Greden shared three common maturity trends at innovative software companies. This concept includes both native software companies and companies that have digitally transformed their business to add revenue streams enabled by software development.
So, here’s how you too can surpass the challenges mentioned above and become a software innovation factory:
- Drive a Well-Developed Software Sourcing Strategy
According to IDC, companies that deliver business outcomes with software — what they call “high innovators” — are more likely to have a well-developed software sourcing strategy. When creating their development strategy, high innovators plan for the long term and don’t just look to solve a single problem with a single vendor.
A well-developed sourcing strategy should be created from across organizational strategic perspectives and should include the ability to leverage existing systems. It is what allows these innovators to deliver solutions in weeks or months instead of years, including integration with legacy and other existing systems, and be able to do so quickly, securely, and reliably.
In developing your sourcing strategy, you need to make sure that your house is in order with your business strategy and then look for the right vendor partner. The right partner should provide you with a technical architecture that allows you to meet your strategic requirements and provide a clear path to how the platform will address other important requirements such as governance, privacy, and security, as well as integration with your existing systems, namely legacy systems, SaaS systems, and cloud providers.
But most importantly, it has to be about empowering developers to deliver functionality and build and extend code; it’s all about getting the app they create into the hands of users to deliver business outcomes. So also include your application roadmap and key use cases in the earliest stages possible of these discussions so that you can get the highest impact results.
- Be a Software Producer
By this, we mean to be a software producer and not a software consumer. According to IDC, by 2025, up to a quarter of Fortune 500 companies will become software producers in order to maintain their status3. But in reality, every company, no matter its size, should produce software.
Whether you have in-house talent or need to outsource, to be a successful software producer you need to strive for software elegance. In other words, to deliver value with less code and less code complexity. And this is where low-code platforms excel.
There’s still a stereotype that low-code platforms are not for real developers. While this may be true for many low-code offerings, for the leading low-code platforms, that characterization is patently inaccurate. What low-code does is provide an abstraction to remove some of that complexity that developers typically face when creating an app or system.
Low-code platforms can also automate mundane or undifferentiated elements of the CI/CD process enabling developers to focus on the highest value elements of an application. These points align with the findings from IDC: when they asked full-stack developers what the most important attributes of the development tools and platforms they use were, the number one answer was code abstraction as represented by low-code tools.
Developers want to code, produce functionality, and not spend their time debugging or conducting software requirement analysis. These types of model-driven, visual solutions allow them to focus on creating highly impactful software.
- Don’t Start From a Blank Sheet
Today, there’s no need to create every piece of software from scratch. You can easily access repeatable bits of code in cloud marketplaces.
It’s all about driving a platform approach to enable developers with the tools, processes, and ease of using cloud marketplaces. By investing in your people and getting them better tools, you’re empowering your dev team and improving the retention rate while getting the job done better.
Today, most vendors provide certification and training programs along with the solutions they sell. These skills and certifications are valuable to developers and to your business. So, ask your vendor how they can help you continue to reskill, upskill and invest in your people. Putting all these together, you will develop a recipe for success for empowering and retaining your developers and, therefore, increasing the speed of delivering apps that meet the needs of your customer and deliver business outcomes.
โดย นายเติมศักดิ์ วีรขจรพงษ์ รองประธานภูมิภาคเอเชียตะวันออกเฉียงใต้ เอาท์ซิสเต็มส์
องค์กรต่าง ๆ ได้รับแรงกดดันเพิ่มมากขึ้นอย่างที่ไม่เคยมีมาก่อนสำหรับการนำเสนอผลิตภัณฑ์และบริการที่แปลกใหม่ ก่อนหน้านี้เมื่อพูดถึงการสร้างสรรค์นวัตกรรมและการทำดิจิทัลทรานส์ฟอร์เมชั่น ก็มักจะมุ่งเน้นเรื่องประสบการณ์สำหรับลูกค้าเป็นหลัก แต่ปัจจุบันประเด็นที่สำคัญที่สุดคือเรื่องของการทำงานจากที่บ้าน/แบบไฮบริด และประสบการณ์สำหรับพนักงานและพาร์ทเนอร์ก็มีความสำคัญเพิ่มมากขึ้น เพราะเป็นปัจจัยที่จะช่วยให้องค์กรประสบความสำเร็จในการดำเนินงานในสภาพแวดล้อมแบบกระจัดกระจาย อย่างไรก็ตาม ในการที่บริษัทจะสามารถสร้างสรรค์นวัตกรรมและประสบความสำเร็จในทั้งสามแง่มุมที่สำคัญของการทำดิจิทัลทรานส์ฟอร์เมชั่นได้นั้น จำเป็นต้องทำลายโซ่ตรวนที่ฉุดรั้งบริษัทเอาไว้ซึ่งเป็นผลมาจากการใช้เทคโนโลยีและกระบวนการที่ล้าสมัย
ด้วยเหตุนี้จึงไม่น่าแปลกใจที่ไอดีซีคาดการณ์ว่าภายในปี 2567 แอปพลิเคชันรุ่นเก่าส่วนใหญ่จะได้รับการปรับปรุงให้ทันสมัย โดยประมาณ 65% ของแอปพลิเคชันจะใช้บริการคลาวด์เพื่อขยายฟังก์ชั่นการทำงานหรือทดแทนโค้ดที่ไร้ประสิทธิภาพ1
การนำเสนอคลาวด์แอปพลิเคชันที่ทันสมัยนับว่ามีความสำคัญอย่างมากต่อการเพิ่มความยืดหยุ่น ความสามารถในการปรับตัว และความคล่องตัว ทั้งยังช่วยสร้างโอกาสใหม่ ๆ ให้แก่ธุรกิจ อย่างไรก็ตาม การสร้างแอปพลิเคชันเหล่านี้อาจเป็นเรื่องยากลำบาก และการนำเสนอคลาวด์แอปที่ทันสมัยก็นับเป็นเรื่องที่เป็นไปได้ยาก เพราะทุกวันนี้องค์กรต้องใช้เวลาและทรัพยากรจำนวนมากไปกับการจัดการหนี้ทางเทคนิค (Technical Debt) ที่เกิดขึ้นจากการลงทุนด้านเทคโนโลยีที่มีอยู่
เมื่อไม่นานมานี้เราได้จัดการสัมมนาร่วมกับ ลาร่า เกรเดน ผู้อำนวยการฝ่ายวิจัยของไอดีซี เกี่ยวกับแนวทางที่จะช่วยให้บริษัทต่าง ๆ สามารถแก้ไขปัญหาท้าทายที่พบเห็นได้มากที่สุดสำหรับการปรับปรุงแอปพลิเคชันให้ทันสมัย เพื่อปรับเปลี่ยนองค์กรสู่การเป็นโรงงานผลิตนวัตกรรมด้านซอฟต์แวร์ในยุคดิจิทัล โดยประเด็นเนื้อหาที่สำคัญจากการสัมมนามีดังต่อไปนี้
ปัญหาท้าทายเกี่ยวกับการปรับปรุงแอปให้ทันสมัย
จุดเริ่มต้นที่จะต้องกล่าวถึงก็คือ เพราะเหตุใดการนำเสนอโมเดิร์นแอปพลิเคชันจึงเป็นเรื่องยาก องค์กรส่วนใหญ่โดยทั่วไปมีลักษณะที่แตกต่างจากบริษัทซอฟต์แวร์ชั้นนำ อย่างเช่น เน็ตฟลิกซ์ หรือ แอปเปิล กล่าวคือ องค์กรเหล่านี้มักจะต้องเผชิญกับปัญหาท้าทาย 3 ข้อที่ขัดขวางความสามารถในการปรับปรุงผลิตภัณฑ์ให้ทันสมัยและการสร้างสรรค์นวัตกรรมด้านซอฟต์แวร์:
- การขาดแคลนนักพัฒนาที่มีความชำนาญ: ข้อมูลจากไอดีซีระบุว่า ในช่วงปี 2564 มีการขาดแคลนนักพัฒนาราว 4 ล้านคน ซึ่งเท่ากับอัตราการขาดแคลน 10% เมื่อคำนวณจากจำนวนนักพัฒนาที่เป็นพนักงานประจำในปัจจุบัน และตัวเลขนี้คาดว่าจะเพิ่มเป็น 20% ในช่วง 4 ปีข้างหน้า
- หนี้ทางเทคนิค: โดยเฉลี่ยแล้ว 50% ของแอปพลิเคชันในองค์กรเป็นแอปพลิเคชันรุ่นเก่าที่ล้าสมัย และมีไม่ถึงครึ่งหนึ่งที่ถูกบูรณาการเข้ากับเครื่องมือพัฒนาที่ทันสมัย อย่างเช่น DevOps toolchains และสภาพแวดล้อมการพัฒนาแบบครบวงจร ที่จริงแล้ว ระบบรุ่นเก่าไม่ใช่ระบบที่ไร้ประโยชน์และถูกเก็บใส่ลิ้นชัก แต่โดยมากแล้วระบบเหล่านี้มักจะถูกใช้งานเพื่อตอบสนองความต้องการที่สำคัญอย่างมากต่อการดำเนินงาน อย่างไรก็ตาม มีปัญหาเกิดขึ้นเมื่อคุณพยายามที่จะสร้างสรรค์นวัตกรรม และคุณจำเป็นที่จะต้องบูรณาการเข้ากับระบบรุ่นเก่าเพื่อเข้าถึงข้อมูล หรือสร้างแอปใหม่ที่ทำงานอยู่บนระบบดังกล่าวเพื่อเพิ่มความสะดวกให้แก่ลูกค้าในการทำธุรกิจกับคุณ เป็นต้น และแน่นอนว่าการบูรณาการหรือการพัฒนาต่อยอดจากแอปพลิเคชันรุ่นเก่าอาจเป็นเรื่องยุ่งยากซับซ้อนและต้องเสียค่าใช้จ่ายจำนวนมาก
- การขาดโครงการนวัตกรรม: ตามคำจำกัดความของไอดีซี โครงการนวัตกรรมที่ว่านี้หมายถึงโครงการที่ทำหน้าที่เป็นเสมือนนั่งร้านที่รองรับการสร้างวัฒนธรรม, KPI และชุดเครื่องมือที่จำเป็นสำหรับการเสริมสร้างขีดความสามารถให้กับนักพัฒนา แม้ว่าโครงการนวัตกรรมจะมีความสำคัญอย่างมากต่อการสร้างแรงจูงใจให้แก่นักพัฒนา แต่ 41% ของบริษัทที่ต้องการสร้างนวัตกรรมดิจิทัลกลับไม่มีโครงการนวัตกรรม2
คำถามที่ตามมาก็คือ บริษัทส่วนใหญ่ที่ประสบปัญหาในการว่าจ้างนักพัฒนา ทั้งยังต้องจัดการกับระบบรุ่นเก่าและหนี้ทางเทคนิคที่เพิ่มขึ้น จะต้องล่มสลายอย่างแน่นอนใช่หรือไม่ คำตอบก็คือ ไม่ได้เป็นอย่างนั้นเสมอไป แต่ในการจัดการนวัตกรรม บริษัทต่าง ๆ จำเป็นที่จะต้องปรับเปลี่ยนวิธีคิดและมุมมองเกี่ยวกับการพัฒนาซอฟต์แวร์
3 ข้อคิดที่สำคัญสำหรับการปรับเปลี่ยนองค์กรให้กลายเป็นโรงงานผลิตนวัตกรรมด้านซอฟต์แวร์
ในระหว่างการสัมมนา เกรเดนได้บอกเล่าเกี่ยวกับเทรนด์การพัฒนา 3 ข้อที่สำคัญ ซึ่งพบเห็นได้ในบริษัทซอฟต์แวร์ที่มุ่งเน้นการสร้างนวัตกรรม ซึ่งครอบคลุมทั้งบริษัทผู้ผลิตซอฟต์แวร์โดยตรง และบริษัทที่ปรับเปลี่ยนธุรกิจสู่ดิจิทัลเพื่อขยายช่องทางรายได้โดยอาศัยการพัฒนาซอฟต์แวร์
ต่อไปนี้คือแนวทางที่จะช่วยให้คุณเอาชนะปัญหาท้าทายที่ระบุข้างต้น และก้าวสู่การเป็นโรงงานผลิตนวัตกรรมด้านซอฟต์แวร์:
- ขับเคลื่อนกลยุทธ์การจัดซื้อซอฟต์แวร์ที่ได้รับการพัฒนาอย่างเหมาะสม
ข้อมูลจากไอดีซีระบุว่า บริษัทที่ใช้ซอฟต์แวร์ในการปรับปรุงผลประกอบการธุรกิจ หรือกลุ่มที่เรียกว่า “High Innovator” มีแนวโน้มที่จะดำเนินกลยุทธ์การจัดซื้อซอฟต์แวร์ที่ได้รับการพัฒนาอย่างเหมาะสม ทั้งนี้ ในการกำหนดกลยุทธ์ด้านการพัฒนาซอฟต์แวร์ บริษัทที่จัดว่าเป็น High Innovator มักจะวางแผนในระยะยาว และไม่ได้แก้ไขปัญหาทีละอย่างโดยใช้ซอฟต์แวร์ของผู้ผลิตรายใดรายหนึ่ง
ในการกำหนดกลยุทธ์การจัดซื้อที่เหมาะสม จะต้องมองภาพรวมของทั้งองค์กร และจะต้องพิจารณาความเป็นไปได้ในการใช้ระบบที่มีอยู่ วิธีนี้จะช่วยให้บริษัทสามารถนำเสนอโซลูชันได้อย่างรวดเร็วภายในเวลาไม่กี่สัปดาห์หรือไม่กี่เดือน แทนที่จะต้องใช้เวลาหลายปี ทั้งยังสามารถบูรณาการระบบรุ่นเก่าและระบบอื่น ๆ ที่มีอยู่ และดำเนินการได้อย่างฉับไว ปลอดภัย และไว้ใจได้
คุณจะต้องตรวจสอบให้แน่ใจว่ากลยุทธ์การจัดซื้อมีความสอดคล้องกับกลยุทธ์ทางธุรกิจ และควรมองหาบริษัทพาร์ทเนอร์ด้านซอฟต์แวร์ที่เหมาะสม ซึ่งสามารถจัดหาสถาปัตยกรรมด้านเทคนิคที่จะช่วยตอบโจทย์ความต้องการที่สำคัญ และมีแนวทางที่ชัดเจนในการใช้แพลตฟอร์มดังกล่าวเพื่อตอบสนองความจำเป็นในด้านอื่น ๆ เช่น การกำกับดูแล การปกป้องความเป็นส่วนตัว และการรักษาความปลอดภัย รวมถึงการบูรณาการเข้ากับระบบที่คุณมีอยู่ เช่น ระบบรุ่นเก่า ระบบ SaaS และบริการคลาวด์
แต่ที่สำคัญที่สุดก็คือ จะต้องเสริมศักยภาพให้แก่นักพัฒนาในการนำเสนอฟังก์ชั่นต่าง ๆ รวมไปถึงการสร้างโค้ด และการพัฒนาต่อยอด ซึ่งทั้งหมดนี้เป็นเรื่องของการสร้างและนำเสนอแอปให้แก่ผู้ใช้งานเพื่อก่อให้เกิดผลลัพธ์ทางธุรกิจ ดังนั้นจะต้องมีการจัดทำแผนการพัฒนาแอปพลิเคชัน รวมถึงรูปแบบการใช้งานสำคัญ ๆ ในขั้นตอนแรก ๆ ของการกำหนดกลยุทธ์ เพื่อให้เกิดประโยชน์สูงสุดแก่ธุรกิจ
- ทำหน้าที่เป็นผู้ผลิตซอฟต์แวร์
ในข้อนี้ เราหมายถึงการเป็นผู้ผลิตซอฟต์แวร์ ไม่ใช่ผู้ใช้งานซอฟต์แวร์ ข้อมูลจากไอดีซีชี้ว่า ภายในปี 2568 ราวหนึ่งในสี่ของบริษัทชั้นนำที่ติดอันดับ Fortune 500 จะปรับเปลี่ยนสู่การเป็นผู้ผลิตซอฟต์แวร์ เพื่อรักษาขีดความสามารถด้านการแข่งขัน3 แต่ที่จริงแล้ว ทุกบริษัทไม่ว่าเล็กหรือใหญ่ควรจะมีความสามารถในการผลิตซอฟต์แวร์ และไม่ว่าคุณจะมีบุคลากรภายในองค์กรหรือจำเป็นต้องใช้บริการเอาต์ซอร์ส สิ่งสำคัญในการเป็นผู้ผลิตซอฟต์แวร์ที่ดีก็คือ คุณจะต้องสร้างซอฟต์แวร์ที่มีความสง่างาม กล่าวคือ มีการใช้โค้ดจำนวนน้อยกว่าและไม่ซับซ้อนจนเกินไป แต่ใช้งานได้อย่างมีประสิทธิภาพและก่อให้เกิดประโยชน์อย่างเป็นรูปธรรม ซึ่งตรงจุดนี้เองที่แพลตฟอร์ม Low-Code จะสามารถทำหน้าที่ได้อย่างดีเยี่ยม
ยังคงมีความเชื่ออย่างผิด ๆ ว่า แพลตฟอร์ม Low-Code ไม่ใช่เครื่องมือสำหรับนักพัฒนาตัวจริง ซึ่งความเชื่อที่ว่านี้อาจจะถูกต้องอยู่บ้างสำหรับผลิตภัณฑ์ Low-Code บางตัว แต่ไม่ใช่เลยสำหรับแพลตฟอร์ม Low-Code ระดับชั้นนำ ที่จริงแล้ว สิ่งที่แพลตฟอร์ม Low-Code ทำก็คือ การขจัดความยุ่งยากซับซ้อนที่นักพัฒนามักจะต้องพบเจอในการสร้างแอปหรือระบบ
นอกจากนี้ แพลตฟอร์ม Low-Code ยังช่วยทำงานแบบอัตโนมัติในส่วนของงานที่น่าเบื่อหรือซ้ำซ้อนในกระบวนการ CI/CD ซึ่งจะช่วยให้นักพัฒนาสามารถทุ่มเทเวลาและความพยายามให้กับงานส่วนที่สำคัญที่สุดในการสร้างแอปพลิเคชัน ประเด็นดังกล่าวสอดคล้องกับข้อมูลการสำรวจของไอดีซี ซึ่งในการสอบถามนักพัฒนา Full-Stack ว่าเครื่องมือและแพลตฟอร์มการพัฒนาที่ใช้อยู่มีคุณลักษณะอะไรที่คิดว่าสำคัญที่สุด คำตอบที่ได้รับมากที่สุดก็คือ Code Abstraction หรือการกำจัดข้อมูลที่ไม่เกี่ยวข้องทิ้งไปเพื่อลดความซับซ้อนของโค้ด ซึ่งเป็นหน้าที่หลักของเครื่องมือ Low-Code
นักพัฒนาต้องการที่จะเขียนโค้ดและสร้างฟังก์ชั่นการทำงาน ไม่ใช่เสียเวลาไปกับการแก้ไขบั๊กหรือการวิเคราะห์ข้อกำหนดด้านซอฟต์แวร์ โซลูชันการพัฒนาแบบ Visual ที่ขับเคลื่อนด้วยโมเดลจะช่วยให้นักพัฒนาทุ่มเทให้กับการสร้างซอฟต์แวร์ที่ก่อให้เกิดประโยชน์สูงสุดได้อย่างเต็มความสามารถ
- อย่าเริ่มต้นจากกระดาษเปล่า
ปัจจุบัน คุณไม่จำเป็นต้องสร้างทุกชิ้นส่วนของซอฟต์แวร์โดยเริ่มต้นจากศูนย์ เพราะคุณสามารถเข้าถึงชุดโค้ดที่เขียนซ้ำ ๆ กันได้จากตลาดคลาวด์
สิ่งสำคัญคือ การขับเคลื่อนแนวทางในระดับแพลตฟอร์ม เพื่อเสริมศักยภาพให้แก่นักพัฒนาด้วยเครื่องมือ กระบวนการ และความสะดวกในการใช้ตลาดคลาวด์ การลงทุนในบุคลากรและการจัดหาเครื่องมือที่ดีกว่าจะช่วยเสริมสร้างขีดความสามารถให้แก่ทีมงานฝ่ายพัฒนา ปรับปรุงประสิทธิภาพการทำงาน และลดอัตราการลาออกของบุคลากร
ทุกวันนี้ บริษัทเทคโนโลยีส่วนใหญ่นำเสนอโครงการฝึกอบรมและการออกใบรับรอง ควบคู่ไปกับโซลูชันที่วางจำหน่าย ทักษะและการรับรองดังกล่าวนับว่ามีประโยชน์อย่างมากต่อนักพัฒนาและต่อธุรกิจของคุณ ดังนั้นคุณจึงควรสอบถามบริษัทเทคโนโลยีว่าจะให้ความช่วยเหลือแก่คุณได้หรือไม่สำหรับการยกระดับทักษะและการลงทุนในบุคลากร การดำเนินการทั้งหมดนี้จะช่วยให้คุณประสบความสำเร็จในการเสริมสร้างขีดความสามารถและดึงดูดนักพัฒนา ซึ่งจะช่วยเพิ่มความรวดเร็วในการนำเสนอแอปที่ตอบโจทย์ความต้องการของลูกค้าและก่อให้เกิดประโยชน์แก่ธุรกิจ