CI/CD, DevOps, DevSecOps—if these terms seem academic, you’re not alone. Most organizations have barely implemented them in the developer experience, let alone scaffolding, infrastructure as code, and self-service—the real forward-thinking stuff. But just because you might be behind the curve on your development process doesn’t mean your competitors will have an advantage for long. Generative AI has created an opportunity to leapfrog the maturity model and go straight to a full-blown, next-generation developer experience.
The Dream of Generative AI
Picture a developer portal: you click a button, and your generative AI application implements a pattern, the pattern creates the code, and the code launches: “Hello World.” The generative AI application puts the code into an environment, creates your DevSecOps pipeline, develops your code repository, drops the code into it, and gives you all of the credentialing and information you need to get started. You’ve got the authority, the budget, and generative AI takes care of the details.
Suddenly, two months’ worth of collaboration and coordination across multiple teams doing all these complex projects can now be accomplished with the click of a button. You get to market faster, your teams are leaner and more efficient, and you enable your developers to focus on higher-level work. It sounds almost too perfect to be true.
Before delving into the intricacies of generative AI adoption, it’s essential to address some fundamental questions. Should you even pursue generative AI to begin with? Is it plausible? Does it make sense for your use case? What are the risks involved? You must evaluate the cost implications and the reliability and trustworthiness of generative AI solutions before you try to turn this dream into a reality.
Trustworthiness and Reliability Challenges
While generative AI offers powerful capabilities, it’s not without its limitations. Developers must be cautious of potential inaccuracies or unreliable information produced by generative AI tools. Curation and adherence to patterns become crucial in maintaining quality. To evaluate answers and discern reliable output, humans must be kept in the loop for their expertise and critical thinking. Leveraging experienced developers’ knowledge and judgment helps ensure the trustworthiness and reliability of the generated content.
So, if you’re in an industry that has little appetite for mistakes, such as nuclear energy, weapons systems, or flight systems, to name a few, generative AI may not be the best fit for your organization. When a minor code error could cascade into a real-world disaster, the need for humans throughout the development lifecycle is more of a necessity. But if you’re already agile and can stomach a mistake or two as part of an iterative development process, then generative AI might be right for you.
Incorporating Generative AI into the Developer Experience
To achieve a next-generation developer experience, automation and formalization of processes, such as infrastructure as code, templating, and scaffolding, become critical. Generative AI can play a significant role in creating code snippets, providing language variants, and even summarizing and analyzing code. Here are just a few use cases:
- User stories: Creating and editing user stories for a particular use case quickly.
- Content creation: Generating website or application content to enhance user experiences.
- Code summaries: Summarizing code that needs modification, helping developers understand it more quickly.
- Code development: Automating specific code problems by using prompts, saving time and improving quality.
- Code documentation: Summarizing what code does, making it useful for code explanations and project maintenance.
- Testing: Creating testing plans and generating feature files and testing scripts.
- Test Data: Generating data examples and data load scripts.
The integration of generative AI into the developer experience provides several advantages. Inexperienced developers can benefit from trusted patterns generated by AI, allowing them to work more efficiently and with fewer errors. Generative AI can adapt to different skill sets and preferences, making it a versatile tool for developers at various experience levels. And by maximizing productivity and value, generative AI enables developers to focus on more challenging work like problem-solving and innovation.
While generative AI has immense potential to help streamline your developer experience, you still have to answer some hard questions before jumping in. The biggest question that you should be asking is not, “will generative AI solve my problem?” It is “should I use generative AI to solve my problem?” Organizations will need to create a governance model to weigh the dynamics and practical decision metrics for qualifying generative AI for use.
EVP, Solutions & Innovation