Architecture & Tools for Next Generation Telecom Software Development
1. Introduction and Background
New technologies and tools are impacting all the aspects of the software development life cycle in all the domains; telecom software is no exception to it. AI and Automation are leading this transformation. Some of the relevant technologies for software developments are AI-pair-programmers, low-and-no-code platforms, automated-integration-deployment-and-testing.
While AI-pair-programmers help to reduce the development cycle with the usage of AI assistance by doing parallel code review, unit test cases creation and execution, low-and-no-code platforms provide a very user-friendly and high-level platforms which empowers non-traditional software developers to participate in the development process and increase the productivity.
These new capabilities bring multiple advantages as well as some new challenges; and the impact is not uniform on different parts of the telecom software. In this article we tried to touch upon the aspects to understand the impact of these new developments in different categories of the telecom software along with the potential changes in the respective organization (internal) structure.
2. Categorization of Telecom Software
To understand the impact of the new software development tools, telecom software can be broadly categorized into the following three parts/blocks. Please note that this categorization is for the high-level understanding purpose; to understand the impact of new AI and automation-based tools and it does have exceptions. E.g., some part of the RAN software like RRC control signalling may not require real time processing whereas it is quintessential for the data path (RLC/MAC).
a) Real Time Software Processing Block: Radio Software that takes care of the Radio signal processing which includes Baseband (ADC/DAC, FFT/IFFT, LDPC decoding, HARQ buffer, Receiver Processing block), RF (filters) processing, MAC schedulers, fronthaul, data fast path etc. All these processing is real time in nature that demands TTI or symbol time duration processing blocks and/or bulk of data processing.
b) Cloud Technologies Software Block: Cloud applications including vRAN, CU or the core network functions along with the edge computing applications, orchestration, cloud management software, that typically do not need real time processing can be the best fit in this block. However, a good balance in overall performance, scalability of independent sub modules, ease of software upgrades, platform independent coding, remote configurations is required.
c) Telco Management Software Block: OSS/BSS software, Performance Manager, Fault Manager, Configuration Manager, Inventory Management, planning tools etc. are all essential for operators’ day to day operations. Ease of use, ease to extend the functionality, low-maintenance are much more important than the processing time, architectural or the dimensioning requirements, to fit in this block.
‘Developers are critical assets for the software enterprises, modern organizations would need to offload the repetitive and low-values tasks to the AI enabled and automated tools to unfold the true potential of software engineers. The consequential effects will be seen in development team compositions, skill sets and in the formation of standardized processes to truly unlock AI in the main stream development.’
3. Next Generation Coding Tools
Some of the tools having high impact on telecom software development is listed below.
a) AI generated Code: AI applications predict and suggest code snippets, enable faster and error free code developments. Multiple such applications are available and the accuracy is continuously increasing. Some of such applications are Github Copilot developed by GitHub in collaboration with OpenAI, Cody by Sourcegraph and Tabnine by Cobota.
b) Low-and-no-code platforms: These software development platforms have inbuilt graphics modules, like Power Apps from Microsoft or Honeycode from Amazon. These solutions provide graphical platform to the user. User needs to select the required components and connect them for the desired functionality; code can be auto generated. This kind of solutions make it easier for the non-developers to build the applications.
c) Infrastructure as code: Infrastructure as Code (IaC) is the managing and provisioning of infrastructure through code instead of the manual processes. It enables rapid configuration and version control of data-centres. It avoids manual configurations and enables faster infrastructure deployment.
d) Microservices and APIs: Microservices architecture is a software development model that divides an application into smaller, independently-scalable (either stateless or stateful) components or services. This model allows independent development of each component and independent scaling of service based on load or the processing requirements at the deployment.
e) AI based testing: AI can be used to generate automated test cases and performing software testing. All this can be done quickly and without any manual intervention in turn helping in reducing the code development time.
f) Automated-Code review: AI can help in the code review process along with the suggestion of optimization techniques for a block of code and recommendations from best practices.
4. Impact of Next-Gen Tools on Telecom
As discussed above (in Section 1 & 2), all the three categories get impacted differently. In other words, usability of different next generation tools varies for all these categories & choosing the right fit for each category is quite a challenge.
Real Time Software Processing Block: This section of the software is highly performance-sensitive and needs to conform with wireless standards from 3GPP/IEEE/O-RAN. This piece of software, in many aspects, turns the specialized hardware ON and hence software coding would have high influence of hardware design and capabilities. Tools like AI-based-testing and automated-code-review in supervision mode can be more appropriate than the AI-generated-code or the usage of the low-or-no-code platforms.
Cloud Technologies Software Block: This section of the software demands not only high performance, but also, architectural aspects like independent-scalability of the services, security, interaction with the other applications, easy-upgradation. This piece of the software plays significant importance in OpEx optimization (driven by ease of operations) and CapEx optimization (driven by decoupling and independent scaling of the services, enabling need-based investment into the hardware).
Telco Management Software Block: This part of the software does not demand real time performance or the understanding of the HW or the deep software engineering aspects. Ease of use and involvement of the nontraditional developers in the development process can reduce the software cost. Low-and-no-code platforms can be significantly useful here, along with the AI-generated-code and AI-based-testing-and-code-review.
Now let us try to look at the end-to-end impact on the telecom software from advantages, new challenges, and the organization structure perspective.
a. Advantages
To escape the limitations of business-as-usual, the telecom industry has embarked on more productive way of software development with tight control on security and quality, enabling interoperability in a multivendor environment along with native customization for different use cases. Some of the significant advantages are listed below-
i. Faster Development Cycle
ii. Inclusion of non-SW Engineers in development
iii. Single base code for multiple use cases
iv. Reduced Development cost
v. New POCs and new potential revenue streams
b. New Challenges
Usage of new tools and platforms brings new challenges; it is important to understand these challenges and selectively, use the tools for the part where it is best applicable.
a) Quality Control: Automated testing, code reviews and test case generation cannot be relied completely on tools; it can lead to completely undetected errors in software and can be very costly in the industry like telecom for which service availability, regulatory compliance and interoperability is of foremost importance. All these services can support the software engineers and developers like any other existing tools but the responsibility and final check lies with respective engineers. Challenge for this part is organizations is to define the guidelines regarding the usage of these tools to ensure uncompromised quality.
b) Intellectual Property: These tools are going to get used at multiple organizations and it is quite likely that in the similar scenarios same source code gets generated from the AI tools. In this case, IP proprietary becomes a challenge. Well, it is an unprecedented situation and compromising with their software IPs is a complete non-negotiable for the software companies! Other side of the challenge is - how to avoid AI tools learning the secret sauce or the technological IPs of a telecom software company!!
c) Code upgrades: Code developed by the domain experts takes care of the potential future changes so that less amount of the code gets impacted when a new version of the technical specifications is out, which leads to the less amount of the verification effort and less impact on the software stability. AI generated or automatically generated code lacks these understandings.
c. Organizational Structure
Organization structure also needs to be aligned with the next generation software development methods and tools, particularly in the areas of entry level hiring, skill sets targeted during hiring, upskilling the existing work force.
a) Up Skilling: organizations would need to up skill the technical work force to effectively use the next generation tools and understand the limitation of these tools. Moreover, with the help of AI tools, each developer shall be effectively developing a greater number of lines and hence increasing the risk of deteriorating the overall quality of the software. So, trick is to have fewer developers than before; but have them up-skilled to handle the new tools.
b) Development guidelines: Organizations would need to publish the guidelines for the actual usage of the tools. It should mandatorily decide & publish which projects and/or modules/blocks should use the next-gen-tools and clearly define up to what extent can they be used. For example, consider an R&D organization that is developing a proof of concept for its latest research. If the next-gen tools are not used diligently, it can upload the generated code or the generated test cases that can result in the research theft risk for the organization and can cause a lot of damage financially.
c) IP Protection: There is a need for organizations to create awareness about the new IP protection challenges.
d) SW Development Processes and Quality Gate Pass: Many of the manual processes regarding software development and quality assurances shall be AI tools assisted or shall get completely automated. Software development organizations need to modify the processes and gate pass to ensure the same quality of the software. New steps like IP infringement for the generated code or the specialized engineers’ review for the auto generated test cases can be added.
5. Conclusion
Next generation tools do not replace the human engineering work; they help the engineers to finish the tasks faster as any other existing tools. AI and AI based tools are going to be integral part of the telecom software development, like any other organizations. The repetitive tasks or the monotonous work can get offloaded under experts’ supervisions. These shall enable software developers to focus only on the core development and the technology part and shall make the software engineers’ work more specialized. It is fair to say that software support and maintenance or low-profile jobs might get impacted; but new specialized jobs to handle the new challenges shall also be required. Overall telecom software development cycles shall be reduced, thus saving the crucial time.