Recognizing generative AI’s potential to revolutionize operations and create value, enterprises and service providers are actively seeking opportunities to incorporate it into various business processes. Transformative technologies such as generative AI have emerged as crucial lifelines for companies, especially in the current challenging macroeconomic environment, offering them the means to enhance revenues and reduce costs. However, beyond the financial benefits, generative AI has evolved from a mere hype to a tangible reality, with a growing focus across industries.
The capabilities of generative AI have sparked significant interest within the software developer community. It can accelerate software development, improve code quality, and empower developers to create innovative solutions and streamline workflows, enhancing productivity. Thus, service providers and enterprises must embrace generative AI technology to stay at the forefront of innovation and avoid becoming followers in an ever-evolving landscape.
This research byte sheds light on how service providers and enterprises can leverage generative AI to enhance developer productivity.
The Impact of Generative AI on Application Development
The application development process is a multifaceted journey encompassing planning, design, development, testing, deployment, maintenance, security, user support, and growth to deliver effective and valuable software solutions. With developers facing multiple challenges, such as improving the time to market, increasing software complexity, and managing diverse tasks, generative AI-powered tools can assist them by automating various aspects of the process. This would improve efficiency, quality, and innovation in application development.
Figure 1: Generative AI use cases across the application development life cycle
Top Use Cases for Generative AI Enhancing Developer Productivity
-
- Automated code generation: Generative AI tools can automate the code-writing process by generating high-quality code snippets and automatically populating commonly used coding functions. This can significantly reduce the development time. For instance, Microsoft offers GitHub Copilot, an AI-powered code completion tool that assists users of Visual Studio Code, Visual Studio, Neovim, and JetBrains integrated development environments by autocompleting code and streamlining the development process, including code generation, code explanation, language translation, and debugging.
- Code refactoring: These tools can automatically improve and optimize existing software code by utilizing ML algorithms to analyze codebases, identify areas for enhancement, and generate new, more efficient code snippets. This enables developers to streamline the software maintenance process, reduce errors, and enhance code quality and performance, thus saving time and resources in software development projects. For instance, Sourcery uses AI to help enterprises analyze code and provide refactoring suggestions, helping engineers improve code quality and performance.
- Code conversion: Generative AI tools can assist in translating code from one programming language to another. Developers can generate code snippets or entire programs in the desired language by providing the source code in one language and specifying the target language. This accelerates the process of migrating applications to new technology stacks or languages. For instance, Codeconvert AI helps enterprises streamline code conversion tasks across more than 25 programming languages. Automating the code rewriting process saves significant time and eliminates the need for manual conversion efforts.
- Enhanced bug detection and quality assurance: The tools can perform code analysis, automatically detecting potential bugs and vulnerabilities, ensuring higher software quality, and reducing debugging efforts. For instance, DeepCode offers a cloud-based AI code analysis tool that performs automated scans of a project’s codebase, detecting potential bugs and vulnerabilities.
- Enabling collaboration and knowledge sharing: These tools can generate code documentation for developers to understand and work with each other’s code, translate code written in one programming language into another, and summarize complex sections of code, making it more accessible for team members who may not be familiar with every detail of the codebase. They also aid in performing automated code reviews and onboarding new team members by providing them with insights into the codebase, its architecture, and coding conventions. For instance, Scribe enables enterprises to auto-generate documentation for codebases, projects, or software applications by analyzing the source code and related data, resulting in well-structured and comprehensive documentation.
Broader Implications of Generative AI in IT and Application Development
With the advent of generative AI, some functions and tasks traditionally performed by developers may transform or disappear. Generative AI also has the potential to empower non-developers to write code, query databases, and perform various tasks without direct engagement with traditional IT teams. This trend may further strengthen the concept of a “hidden IT team,” reminiscent of what occurred with cloud computing.
In the cloud era, non-IT professionals gained the ability to set up applications and instances independently, often without IT involvement. While this increased agility, it also posed integration, security, and governance challenges. Similarly, with generative AI, non-developers may be able to perform tasks that were once exclusively within the domain of developers. This democratization of technology can drive innovation and speed but may also necessitate careful consideration of integration, security, and governance challenges to avoid potential pitfalls down the road.
Many companies reported a high attrition rate during the first quarter of FY 2023. Recognizing the importance of addressing attrition, businesses need to take a multifaceted approach. Although investments in generative AI-powered tools are vital for enhancing developer experiences and productivity, an equally pressing need is to attract and nurture talent in this domain. Service providers should actively seek professionals with expertise in these emerging technologies and simultaneously focus on upskilling their current workforce. This approach can help retain existing talent and allows providers to demonstrate their capabilities and expertise to clients, solidifying their position in a competitive market.
Notable Investments from Organizations
HCLTech: In August 2023, HCLTech integrated its ADvantage Cloud platform with Amazon CodeWhisperer to create a seamless solution for automating the migration of applications to the cloud. This integration allows for automated processes like rehosting, refactoring, and re-platforming, all managed through a centralized dashboard for monitoring and planning migration efforts.
IBM: In August 2023, IBM unveiled Watsonx Code Assistant for Z, which leverages generative AI capabilities to streamline the conversion of computer code from COBOL to Java, optimizing developer productivity. The platform exhibits proficiency in 115 coding languages, aiding developers in assessing, validating, and testing code. This capability enables more efficient modernization of large-scale applications and a heightened focus on tasks with a substantial impact.
Uber: It organized an Uber Tech-Wide HackDayz event to create generative AI-powered prototypes to automate coding tasks, generate tests, enhance code quality, and reduce operational workloads. It has also built the Uber Generative AI API Gateway that offers support for tasks such as personally identifiable information redaction, safety measures, adherence to Uber policies, hallucination detection, and other platform functions crucial for the secure and efficient utilization of generative AI within Uber’s ecosystem.
Risks and Challenges Associated with Generative AI in Application Development
Integrating generative AI into the realm of application development undoubtedly offers tremendous advantages, but it also comes with its share of risks and challenges:
-
- These generative AI tools come with an ever-present concern of license violations, where the accidental inclusion of someone’s code within generated content could lead to the misappropriation of intellectual property.
- The sheer volume of code generated by machines might lead to an influx of subpar-quality code that developers need to sift through and evaluate. It is not about the quantity of code generated but rather the quality that involves crafting concise solutions, utilizing shared components, and tapping into existing APIs and services.
- Data privacy and third-party security are emerging challenges, as developers must exercise caution to prevent exposing sensitive or confidential information during interactions with AI tools.
- The vulnerability of AI behavior cannot be ignored, as malicious or malfunctioning code introduced into the public domain could potentially influence the training of large language models or infiltrate organizational systems.
Future Perspectives
As discussed above, leveraging generative AI can significantly enhance developer productivity, accelerate software development, and reduce operational costs. However, it is crucial to recognize that, while powerful, generative AI is not infallible. Organizations must approach its integration into the application development cycle with a structured plan that includes upskilling employees on generative AI-powered tools and underscores the need for human judgment, critical thinking, and a deep understanding of its limitations. Although generative AI can automate many tasks, human expertise remains essential to contextualize its output, assess risks, and make nuanced decisions. Therefore, businesses should establish clear workflows for integration, ensure data privacy and security, and continuously monitor and adapt to the evolving landscape of AI technologies. Further, fostering a culture of innovation and experimentation within the organization can lead to discovering new and creative applications of generative AI, ultimately maximizing its benefits while mitigating potential risks.
In the context of software developer skills, the integration of generative AI necessitates a shift towards a more hybrid skillset. Developers must combine their coding expertise with a deep understanding of AI tools, enabling them to fine-tune and contextualize generative AI output effectively. This evolution in developer skills would enhance productivity and ensure that the human touch remains integral to the development process.
By Bertrand Leroux, Distinguished Fellow, and A. Tarun, Senior Research Analyst, Avasant Research