

# Foundational capabilities for an AI-powered software development experience
<a name="generative-ai-capabilities"></a>

To successfully implement a generative AI-powered software development experience, you need to establish a set of foundational capabilities that span multiple personas in your organization. These capabilities represent your ability to effectively deploy resources, implement processes, and achieve desired outcomes in the context of AI-powered software development. By cultivating these capabilities, you create a robust foundation that helps you seamlessly integrate generative AI across all stages of the SDLC.

AWS provides key services to help you implement these capabilities. For example, [Amazon Q Developer](https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/what-is.html) helps accelerate software development by acting as an AI-powered assistant. [Amazon Q Business](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/what-is.html) helps you get fast, relevant answers to pressing questions, solve problems, and generate content. It can also act on your behalf by integrating tools related to software development. [Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/userguide/what-is-bedrock.html) provides access to foundation models and broad set of capabilities to customize specific development workflows and requirements.

By cultivating these capabilities through AWS services, you create a robust foundation that helps you seamlessly integrate generative AI across all stages of the SDLC.

The following are the foundational capabilities that you should focus on:
+ [Project management](generative-ai-capabilities-proj-mgmt.md)
+ [Requirement management](generative-ai-capabilities-req-mgmt.md)
+ [Architecture and design](generative-ai-capabilities-arch-design.md)
+ [Collaboration](generative-ai-capabilities-collaboration.md)
+ [DevSecOps](generative-ai-capabilities-devsecops.md)
+ [Operation and maintenance](generative-ai-capabilities-ops-maintenance.md)
+ [AI assistants](generative-ai-capabilities-assistants.md)
+ [Analytics and insights](generative-ai-capabilities-analytics.md)
+ [Knowledge management](generative-ai-capabilities-knowledge-mgmt.md)
+ [Extensibility](generative-ai-capabilities-extensibility.md)

Each foundational capability integrates with the framework dimensions and the different stages of the SDLC. This integration helps you use AI capabilities effectively throughout your software development process. It enhances efficiency, quality, and innovation at every step. The synergy between these foundational capabilities, the framework, and the SDLC stages creates a comprehensive ecosystem for AI-powered software development. This helps you harness the full potential of generative AI, drive continuous improvement, accelerate development cycles, and deliver quality software products.

The following table shows how the foundational capabilities and subcapabilities map to the framework dimensions and the SDLC phases.


****  

| Capability: subcapability | Investigate | Integrate | Interact | Iterate | Impact | 
| --- | --- | --- | --- | --- | --- | 
| Project management: Issue management | Requirements and planning | None | None | None | None | 
| Project management: Sprint and task management | Requirements and planning | Requirements and planning | None | None | None | 
| Project management: Product backlog management | Requirements and planning | None | None | Requirements and planning | None | 
| Project management: User stories mapping | Requirements and planning | None | None | None | None | 
| Project management: Reporting and analytics | Requirements and planning | None | None | None | Requirements and planning | 
| Project management: Product roadmap management | Requirements and planning | None | Requirements and planning | None | None | 
| Project management: Feedback loops | None | None | None | Requirements and planning | None | 
| Project management: Retrospectives | None | None | None | Requirements and planning | None | 
| Requirement management | Requirements and planning | Requirements and planning | None | None | None | 
| Architecture and design: Solution design | Design and architecture | Design and architecture | None | None | None | 
| Collaboration: Documentation management | All SDLC phases | None | All SDLC phases | None | None | 
| Collaboration: Knowledge sharing | All SDLC phases | None | All SDLC phases | None | None | 
| Collaboration: Project asset management | None | All SDLC phases | All SDLC phases | None | None | 
| DevSecOps: CI/CD | Testing, Deployment | Implementation, Testing, Deployment | Deployment | None | None | 
| DevSecOps: DevOps security | Implementation | Implementation, Testing, Operation and maintenance | None | Implementation, Testing, Operation and maintenance | None | 
| DevSecOps: Application performance monitoring | None | Operation and maintenance | None | None | None | 
| DevSecOps: Log aggregation and analytics | Operation and maintenance | Operation and maintenance | None | None | None | 
| DevSecOps: AIOps | Operation and maintenance | None | None | Operation and maintenance | None | 
| DevSecOps: Continuous improvement | None | None | None | Operation and maintenance | None | 
| DevSecOps: Dashboard monitoring | None | Operation and maintenance | None | None | None | 
| DevSecOps: Performance insights | Operation and maintenance | None | None | Operation and maintenance | None | 
| Operation and maintenance: Incident management | None | None | None | Operation and maintenance | None | 
| Operation and maintenance: Code upgrades | None | Operation and maintenance | None | None | None | 
| Operation and maintenance: Code optimization | Operation and maintenance | Operation and maintenance | None | None | None | 
| Operation and maintenance: Technical debt management | None | Operation and maintenance | Operation and maintenance | None | None | 
| Operation and maintenance: Change management | None | Implementation, Deployment | None | None | None | 
| Operation and maintenance: Reverse engineering | Operation and maintenance | None | None | None | None | 
| Operation and maintenance: Code modernization | None | Implementation | None | None | None | 
| Operation and maintenance: Performance optimization | None | Operation and maintenance | None | Operation and maintenance | None | 
| Analytics and insights | None | Requirements and planning | None | None | All SDLC phases | 
| AI assistant | None | None | All SDLC phases | None | None | 
| Knowledge management | None | None | All SDLC phases | None | None | 
| Extensibility | None | Deployment | None | None | None | 

# Generative AI use cases for project management
<a name="generative-ai-capabilities-proj-mgmt"></a>

Effective project management is at the heart of successful software development. In the context of generative AI, project management takes on new dimensions. It can become more predictive, adaptive, and data-driven. AI-powered project management tools analyze historical project data to generate more accurate time and resource estimates. They can automatically prioritize tasks based on business objectives and team capacity, and they can even predict potential roadblocks before they occur. For instance, a project manager might use generative AI to create a preliminary project plan based on the project's requirements and historical data from similar projects. The AI could then suggest optimal team compositions that account for skills, workloads, and project needs. Throughout the project, AI-driven dashboards provide near real-time insights into the project status by automatically generating reports and highlighting areas that require attention.

This AI-augmented approach to project management can enhance efficiency. It helps project managers focus on strategic decision making and team leadership, rather than getting bogged down in routine administrative tasks.

The following table shows project management use cases that you can enhance with generative AI and the persona responsible for those use cases.


****  

| Subcapability: Use case | Persona | 
| --- | --- | 
| Issue management: Create and assign issues | Project manager | 
| Issue management: Detect issues during testing and log them | Test engineer | 
| Issue management: Prioritize issues based on severity and assign them to developers | Project manager | 
| Issue management: Identify and merge duplicate issues | Project manager | 
| Issue management: Track and generate reports about key issues, metrics, and overall health of the project | Project manager | 
| Sprint and task management: Estimate effort for tasks and assign story points based on team capacity | Scrum Master | 
| Sprint and task management: Distribute tasks among team members for even workload across the sprint | Scrum Master | 
| Sprint and task management: Facilitate sprint planning sessions that align team efforts with sprint goals | Scrum Master | 
| Product backlog management: Reorder backlog items based on business value, urgency, and user feedback | Product owner | 
| Product backlog management: Integrate new customer feedback and market insights into the product backlog for near real-time prioritization | Product owner | 
| Product backlog management: Identify and manage dependencies between backlog items to streamline development | Product manager | 
| User stories mapping: Create maps of user journeys to identify all necessary features and their corresponding user stories | Product owner | 
| User stories mapping: Identify gaps or missing steps in the user flow | Business analyst | 
| User stories mapping: Prioritize user stories based on their impact to the business value | Product manager | 
| Reporting and analytics: Generate near real-time dashboards that visualize key project metrics, such as sprint velocity and issue resolution rates | Project manager | 
| Reporting and analytics: Analyze historical data and predict future project outcomes, such as potential delays or bottlenecks | Project manager | 
| Reporting and analytics: Create custom reports, such as team performance or project status reports, that are tailored to different stakeholders | Project manager | 
| Product roadmap management: Create and maintain a product roadmap that outlines major milestones and release dates | Project manager | 
| Product roadmap management: Update the roadmap based on changes in project priorities or timelines | Product manager | 
| Product roadmap management: Share the roadmap with stakeholders to provide visibility into the product's direction | Product manager | 
| Feedback loops: Collect feedback from the team after each sprint and identify areas for improvement | Scrum Master | 
| Retrospectives: Translate feedback into actionable items for the next sprint, driving continuous improvement | Scrum Master | 
| Retrospectives: Track the impact of changes implemented from previous retrospectives to measure their effectiveness | Scrum Master | 

# Generative AI use cases for requirement management
<a name="generative-ai-capabilities-req-mgmt"></a>

Requirement management is a critical process that is closely tied to project management. Imagine a product owner using an AI tool to analyze customer feedback, market trends, and stakeholder inputs. The AI tool could generate a comprehensive set of user stories and requirements, automatically categorize them, detect potential conflicts or gaps, and even suggest prioritization based on business value and implementation complexity. As the project progresses and requirements evolve, the AI can continuously update and refine the requirements to make sure that they remain aligned with changing business needs and technical constraints. This dynamic, AI-driven approach to requirement management helps make sure that development efforts remain tightly aligned with user needs and business goals throughout the project lifecycle.

The following table shows requirement management use cases that you can enhance with generative AI and the persona responsible for those use cases.


****  

| Use case | Persona | 
| --- | --- | 
| Create business requirements | Business analyst | 
| Create epics from features | Product owner | 
| Track the progress of an epic by monitoring the completion of its associated user stories | Product manager | 
| Create user stories | Product owner | 
| Estimate the effort required for each use story and assign story points | Scrum Master | 
| Define acceptance criteria for each user story | Product owner | 

# Generative AI use cases for architecture and design
<a name="generative-ai-capabilities-arch-design"></a>

With a solid foundation of project management and well-defined requirements, the next critical capability is architecture and design. Here, generative AI is opening up new possibilities for creating robust, scalable, and efficient software architectures. AI-powered design tools can analyze requirements and constraints to suggest optimal architectural patterns and design approaches. They generate multiple design alternatives, and each is optimized for different priorities, such as performance, scalability, or maintainability. For example, a solutions architect might use an AI assistant to quickly generate several high-level architectural designs based on the project requirements. This AI-augmented approach accelerates the design process and helps architects make more informed decisions. This leads to more robust and future-proof software designs.

The following table shows architecture and design use cases that you can enhance with generative AI and the persona responsible for those use cases.


****  

| Use case | Persona | 
| --- | --- | 
| Create an architecture document | Solutions architect | 
| Create a detailed design document | Technical lead | 
| Understand an existing architecture and design standards | Solutions architect | 
| Develop detailed mock-ups and prototypes of a user interface | UX/UI designer | 

# Generative AI use cases for collaboration
<a name="generative-ai-capabilities-collaboration"></a>

Software development is inherently a collaborative endeavor. You can use generative AI to enhance collaboration on your software development team. AI-powered collaboration tools go beyond simple messaging and file sharing. They facilitate more effective communication by summarizing long discussion threads, highlighting key decisions, and even suggesting optimal times for meetings based on team members' schedules and productivity patterns. AI can assist in code reviews by automatically identifying potential issues, suggesting improvements, and even explaining complex changes to reviewers. During brainstorming sessions, AI can act as a facilitator, generate ideas, help organize thoughts, and even mediate discussions to make sure that all voices are heard. For distributed teams, AI can help bridge cultural and language barriers. It can provide near real-time language translation in chat and video calls and offer cultural context to help prevent misunderstandings. By augmenting human collaboration with AI, this capability helps teams work more efficiently and effectively, which fosters innovation and improves overall project outcomes.

The following table shows how you can use generative AI to enhance collaboration use cases.


****  

| Subcapability: Use case | Persona | 
| --- | --- | 
| Document management: Create and maintain a centralized documentation repository | Technical writer | 
| Document management: Allow multiple team members to collaborate on documentation in real time | Development team | 
| Knowledge sharing: Use discussion forums as a platform for developers to ask questions, share knowledge, and troubleshoot issues collaboratively | Development team | 
| Knowledge sharing: Use discussion forums to document and track decisions made during project discussions, making sure that the rationale behind key decisions is captured and accessible for future reference | Product manager | 
| Project asset management: Facilitate easy sharing of project-related resources | Development team | 
| Project asset management: Implement version control for shared content so that team members can track changes, revert to previous versions, and collaborate on content updates | Development team | 

# Generative AI use cases for DevSecOps
<a name="generative-ai-capabilities-devsecops"></a>

AI-powered DevSecOps tools automate many aspects of the software delivery pipeline. For example, they can perform intelligent code reviews, detect potential bugs, detect security vulnerabilities, and identify performance issues in near real time as developers write code. AI generates and runs comprehensive test suites, and it automatically updates them as the codebase evolves. This AI-augmented approach to DevSecOps accelerates the delivery pipeline and significantly enhances the security and reliability of the software being delivered.

The following table shows DevSecOps use cases that you can enhance with generative AI and the persona responsible for those use cases.


****  

| Subcapability: Use case | Persona | 
| --- | --- | 
| DevOps and continuous delivery: Automated entire deployment pipelines | DevOps engineer | 
| DevOps and continuous delivery: Receive near real-time feedback on code quality and potential issues | Software developer | 
| DevOps and continuous delivery: Receive near real-time security issues and remediation recommendations | Software developer | 
| DevOps and continuous delivery: Receive near real-time code and best practice suggestions | Software developer | 
| DevOps and continuous delivery: Automate repetitive tasks and integrate commands into scripts | DevOps engineer | 
| DevOps and continuous delivery: Build code and generate artifacts automatically after each code commit | Software developer | 
| DevOps and continuous delivery: Build code according to the organization's standards and framework | Software developer | 
| DevOps and continuous delivery: Automatically run unit tests on every commit to catch errors early in the development process | Software developer | 
| DevOps and continuous delivery: Analyze the coverage of unit tests to make sure that all critical code paths are tested | Software developer | 
| DevOps and continuous delivery: Manage branches and merge changes | Software developer | 
| DevOps and continuous delivery: Manage code and artifact versioning | Software developer | 
| DevOps and continuous delivery: Store and manage build artifacts and dependencies | DevOps engineer | 
| DevOps and continuous delivery: Resolve and fetch dependencies during the build process | Software developer | 
| DevOps and continuous delivery: Generate and run integration tests to make sure that components work together as expected | Test engineer | 
| DevOps and continuous delivery: Use mock services during integration tests to simulate interactions with external systems | Test engineer | 
| DevOps and continuous delivery: Benchmark application performance under different loads | Performance engineer | 
| DevOps and continuous delivery: Simulate high-traffic scenarios to test the application's scalability and response times | Performance engineer | 
| DevOps and continuous delivery: Test the system's ability to recover from failures, such as server crashes or network outages | Site reliability engineer | 
| DevOps and continuous delivery: Perform chaos engineering | Site reliability engineer | 
| DevOps and continuous delivery: Run tests to verify that the application meets the business requirements | QA engineer | 
| DevOps and continuous delivery: Conduct user acceptance testing | Product owner | 
| DevOps and continuous delivery: Scan dependencies for vulnerabilities and license compliance issues | Security engineer | 
| DevOps and continuous delivery: Monitor and manage open source dependencies to make sure that they are up to date and secure | Security engineer | 
| DevOps and continuous delivery: Generate and maintain a software bill of materials (SBOM) to track all components and dependencies | Security engineer | 
| DevOps and continuous delivery: Use the SBOM to conduct audits for regulatory compliance | Compliance officer | 
| DevOps and continuous delivery: Create release notes | Release manager | 
| DevOps and continuous delivery: Plan and coordinate releases | Release manager | 
| DevOps and continuous delivery: Implement standard operating procedures for rollback and release management | Release manager | 
| DevOps and continuous delivery: Use feature flags to enable or disable features in production without deploying new code | Product manager | 
| DevOps and continuous delivery: Run A/B tests using feature flags to measure the impact of different features on user behavior | Product manager | 
| DevOps and continuous delivery: Analyze and monitor pipeline failures | DevOps engineer | 
| DevOps and continuous delivery: Create and manage infrastructure resources | DevOps engineer | 
| DevOps and security: Scan code repositories for hardcoded secrets | DevOps engineer | 
| DevOps and security: Implement near real-time detection to alert developers immediately if secrets are committed to the repository | DevOps engineer | 
| DevOps and security: Enforce continuous code quality monitoring | Software developer | 
| DevOps and security: Detect and flag indicators of potential security vulnerabilities in code | Software developer | 
| DevOps and security: Implement automated testing for Open Worldwide Application Security Project (OWASP) top 10 security risks to make sure that the application adheres to industry-standard security practices | Security engineer | 
| DevOps and security: Regularly update and educate developers about OWASP risks by integrating checks into the development process | Security engineer | 
| DevOps and security: Scan third-party libraries and dependencies for known security vulnerabilities | DevOps engineer | 
| DevOps and security: Scan application code and infrastructure to detect vulnerabilities | DevOps engineer | 
| DevOps and security: Analyze code for vulnerabilities before deployment | Security engineer | 
| DevOps and security: Enforce security policies by preventing code with critical vulnerabilities from being merged | Security engineer | 
| DevOps and security: Implement role-based access control (RBAC) to restrict access to sensitive systems and data and to make sure that only authorized personnel can access critical resources | Security engineer | 
| DevOps and security: Adjust access controls based on roles and responsibilities by adapting to changes in the team structure | DevOps engineer | 
| DevOps and security: Test running applications for security vulnerabilities in near real time by simulating attacks on the production environment | Security engineer | 
| DevOps and security: Continuously monitor deployed applications for security vulnerabilities | DevOps engineer | 
| DevOps and security: Schedule regular vulnerability scans across all environments to identify and address security weaknesses | Security engineer | 
| DevOps and security: Apply patches and updates based on vulnerability scan results to help maintain secure systems | DevOps engineer | 
| Application performance monitoring: Continuously monitor application performance in near real time to detect and diagnose performance issues before they affect users | Site reliability engineer | 
| Application performance monitoring: Detect performance anomalies, such as sudden spikes in response times or increased error rates, and initiate alerts | DevOps engineer | 
| Application performance monitoring: Trace requests as they propagate through a distributed system to identify performance bottlenecks and latency issues | DevOps engineer | 
| Application performance monitoring: Use distributed tracing to pinpoint the exact service or component that is responsible for failures or performance degradation | DevOps engineer | 
| Log aggregation and analytics: Aggregate logs from multiple sources into a centralized system for easy searching and analysis in order to identify trends and issues | Site reliability engineer | 
| Log aggregation and analytics: Implement automated log parsing to extract relevant information and detect patterns or anomalies that might indicate issues | DevOps engineer | 
| Log aggregation and analytics: Collect and visualize key performance metrics | Site reliability engineer | 
| Log aggregation and analytics: Monitor metrics against predefined service-level agreements (SLAs) | Product manager | 
| AI operations: Detect incidents, analyze root causes, and initiate corrective actions without human intervention | DevOps engineer | 
| AI operations: Predict future resource demands and optimize capacity planning in order to avoid outages | Site reliability engineer | 
| Continuous improvement: Monitor real user interactions with the application to gather insights about performance and identify areas for improvement | UX designer | 
| Continuous improvement: Track application performance across different geographical regions to ensure consistent user experience globally | Product manager | 
| Dashboard monitoring: Create customizable dashboards to visualize critical metrics, logs, and traces in near real time in order to provide a comprehensive view of system health | Site reliability engineer | 
| Dashboard monitoring: Create dashboards for different teams (such as development, operations, and product teams) to provide relevant insights based on their focus areas | DevOps engineer | 
| Performance insights: Conduct detailed analysis of application performance to identify inefficiencies and optimize code or infrastructure | Software developer | 
| Performance insights: Use performance insights to iteratively improve application performance and optimize the user experience over time | Product manager | 

# Generative AI use cases for operation and maintenance
<a name="generative-ai-capabilities-ops-maintenance"></a>

After software is deployed, the focus shifts to operation and maintenance. Generative AI can enhance traditional approaches by providing more proactive and efficient system management. AI-powered operations tools continuously monitor system performance and predict potential issues before they affect users. They perform automated root cause analysis when problems occur, which significantly reduces the mean time to resolution. AI also optimizes system performance in near real time. It automatically adjusts configurations based on changing load patterns and user behaviors. For example, an operations team might use an AI assistant to generate predictive maintenance schedules, automatically identify components that are likely to fail, and suggest preemptive actions. The AI could also help with capacity planning by analyzing usage trends and predicting future resource needs with high accuracy.

The following table shows operation and maintenance use cases that you can enhance with generative AI and the persona responsible for those use cases.


****  

| Subcapability: Use case | Persona | 
| --- | --- | 
| Incident management: Manage incidents in near real time by integrating monitoring tools with chat platforms so that teams can detect, discuss, and resolve issues directly within the chat environment | Site reliability engineer | 
| Incident management: Allow teams to initiate deployments, run scripts, and run commands directly from the chat interface, which streamlines operations | DevOps engineer | 
| Code upgrades: Upgrade code dependencies and libraries to reduce manual effort and make sure that the codebase stays up to date with the latest versions | Software developer | 
| Code optimization: Review code for optimization opportunities | Software developer | 
| Code optimization: Identify bottlenecks in the code and refactor or optimize the code to enhance performance | Software developer | 
| Technical debt management: Log technical debt as part of the development process | Product manager | 
| Technical debt management: Prioritize and address technical debt based on impact, risk, and cost, and integrate it into the regular sprint planning process | Software developer | 
| Technical debt management: Reduce technical debt in existing application code | Software developer | 
| Change management: Implement a change approval process that makes sure that all code changes are reviewed, tested, and approved by the necessary stakeholders before deployment | Change manager | 
| Change management: Perform impact analysis of proposed changes | DevOps engineer | 
| Reverse engineering: Analyze and understand the structure and behavior of legacy code | Solutions architect | 
| Reverse engineering: Explain existing code and generate documentation | Software developer | 
| Code modernization: Translate code from one programming language to another | Software developer | 
| Code modernization: Modernize legacy code into the latest programming language | Software developer | 
| Performance optimization: Continuously monitor and tune system performance by optimizing resource allocation, load balancing, and reconfiguring the application | Site reliability engineer | 
| Performance optimization: Identify and refactor code that is causing performance degradation in order to improve speed and system responsiveness | Software developer | 

# Use cases for generative AI assistants in software development
<a name="generative-ai-capabilities-assistants"></a>

The AI assistant capability is at the heart of the generative AI-powered development experience. This intelligent, context-aware system serves as a virtual collaborator for all team members across the entire SDLC. Imagine a developer working on a complex piece of code. They can simply ask the AI assistant for help, and it can provide relevant code snippets, explain intricate algorithms, or even suggest optimizations based on the current context and best practices. The AI assistant can help an ITOps manager understand a standard operating procedure based on internal documents. By providing instant, contextual support, AI assistants significantly reduce cognitive load on team members. This helps them focus on higher-level problem-solving and creative tasks. This capability acts as a force multiplier that enhances productivity and quality across all stages of software development.

The following table shows use cases that you can enhance with AI assistants and the benefited persona.


****  

| Use case | Persona | 
| --- | --- | 
| Provide instant assistance to development team by answering questions, such as about requirements, architectures, and standard operating procedures | Software development team | 
| Search or retrieve excerpts from extensive documentation or generate summaries by using natural language queries | Software development team | 
| Summarize long technical documents, such as requirement documents, architecture design documentations, and internal processes | Software development team | 
| Maintain a library of prompts that the team can use for common tasks | Software development team | 
| Seamlessly integrate generative AI into existing tools and systems | Software development team | 
| Automate tasks across various platforms, tools, and internal systems | Software development team | 
| Create a centralized repository of knowledge, including best practices, project-specific information, and team knowledge, that is accessible to all team members | Software development team | 
| Retrieve relevant knowledge from the repository based on the context of the task | Software development team | 
| Perform automated code reviews, root cause analysis, suggest improvements, detect potential bugs, and perform troubleshooting | Software developer, DevOps engineer, and site reliability engineer | 
| Analyze performance data to identify trends and patterns that can inform decisions about performance optimization | Site reliability engineer | 
| Provide recommendations for improving efficiency, reducing complexity, and enhancing security | Software developer | 
| Suggest optimizations for cloud resource usage, such as scaling recommendations or cost-saving strategies | Software developer, DevOps engineer, site reliability engineer, and solutions architect | 
| Generate new content, such as documentation based on code, user guides, or product feature releases | Software development team | 

# Generative AI use cases for analytics and insights
<a name="generative-ai-capabilities-analytics"></a>

The analytics and insights capability helps convert vast amounts of data into actionable insights that drive decision making and continuous improvement. By using generative AI, this capability processes data from various sources, including code repositories, project management tools, and team collaboration platforms, to provide a holistic view of the development process and team productivity. Generative AI goes beyond traditional metrics in order to offer predictive and prescriptive analytics. It can forecast potential issues and suggest targeted improvements. For instance, it can analyze patterns in code commits, bug resolution rates, and feature delivery velocity in order to identify high-performing teams, pinpoint bottlenecks, and suggest process optimizations. Moreover, it can provide insights into team dynamics and individual performance. These insights help leaders make data-driven decisions about workload distribution, training needs, and team composition. By presenting these insights through interactive dashboards, the capability empowers stakeholders at all levels to make informed decisions, optimize processes, and continuously enhance team productivity, which leads to faster delivery of high-quality software.

The following table shows analytics use cases that you can enhance with generative AI and the persona responsible for those use cases.


****  

| Use case | Persona | 
| --- | --- | 
| Monitor individual and team productivity | Development manager | 
| Analyze productivity trends to detect potential burnout so that you can take proactive measures to maintain team well-being and productivity | Development manager | 
| Track how often code changes are deployed to production to gauge the speed and agility of the development process | Product manager | 
| Analyze deployment frequency data to identify periods of low deployment activity that might indicate process inefficiencies or resource constraints | Product manager | 
| Measure the time between code commit to deployment in order to identify opportunities to streamline the development and deployment processes | Development manager | 
| Track the percentage of deployments that result in failures that require immediate remediation in order to assess the reliability of the release process | Site reliability engineer | 
| Use change failure rate metrics to identify areas of code that frequently cause issues in order to guide targeted refactoring and testing efforts | Software developer | 
| Monitor how long it takes to restore service after an outage or incident so that you can reduce downtime and improve the overall system resilience | Site reliability engineer | 
| Analyze trends in restoration times to enhance incident response processes and drive faster recovery from system failures | DevOps engineer | 
| Create a customized dashboard that aggregates key metrics, such as deployment frequency, lead time, and change failure rate, in order to provide a comprehensive view of development and operational health | Product manager | 
| Create dashboards that are tailored to the needs of different teams in order to provide focused insights into their specific areas of responsibility, such as development, operations, or business | Product manager | 
| Track business key performance indicators (KPIs), such as revenue impact, customer satisfaction, and market share, in order to align development efforts with broader business objectives | Product manager | 
| Analyze the impact of new features on business KPIs to assess their success and guide future product development | Business analyst | 
| Monitor code quality metrics, such as code complexity, test coverage, and bug density, in order to make sure that the codebase remains maintainable and secure | Software developer | 
| Identify areas of the codebase that require refactoring in order to drive long-term sustainability and reduce technical debt | Solutions architect | 

# Generative AI use cases for knowledge management
<a name="generative-ai-capabilities-knowledge-mgmt"></a>

In any software development organization, knowledge is a critical asset. The knowledge management capability, powered by generative AI, enhances how this asset is captured, organized, and used. Traditional knowledge management systems often contain too much information, contain outdated content, or are difficult to search in order to quickly find relevant information.

Generative AI addresses these challenges head-on. It automatically generates, and updates documentation based on code changes, conversations, and project artifacts. This makes sure that knowledge bases remain current without requiring manual effort from team members. More importantly, AI makes this knowledge accessible in intuitive ways. Team members can ask questions in natural language, and the AI can provide relevant answers. The AI can draw from a variety of sources, such as official documentation, code comments, discussion threads, and even external resources. For example, a new team member trying to understand a specific component could ask the AI, "How does the authentication module work?" The AI would then provide a concise explanation and links to relevant code sections, architectural diagrams, and recent changes. It could even tailor this information based on the team member's role and level of expertise.

This capability accelerates onboarding, reduces repetitive questions, and promotes knowledge sharing across the organization. It helps preserve institutional knowledge, making it easier for teams to maintain and evolve complex systems over time.

The following table shows knowledge management use cases that you can enhance with generative AI and the persona responsible for those use cases.


****  

| Use case | Persona | 
| --- | --- | 
| Create a unified platform that makes it easy to access all project-related knowledge | Software development team | 
| Capture knowledge from various development activities | Software development team | 
| Provide advanced search functionality to quickly find relevant knowledge within a repository | Software development team | 
| Personalize learning modules and pathways for the team | Software development team | 

# Generative AI use cases for extensibility
<a name="generative-ai-capabilities-extensibility"></a>

Extensibility enables seamless integration with existing tools and workflows while allowing organizations to tailor the AI system to their specific needs. This capability provides robust APIs, SDKs, and customizable interfaces that facilitate the integration of AI functionalities into popular development and project management tools. For instance, organizations can enhance Jira with AI-powered features for automated ticket prioritization, effort estimation, and sprint planning. You can augment Jenkins pipelines with AI for intelligent build optimization and predictive test selection.

Additionally, extensibility allows for deep integration with integrated development environments (IDEs), version control systems, and code review platforms. The AI can help code, automate code reviews, and generate contextual documentation.

The capability also supports training and fine-tuning AI models on organization-specific data. This helps the AI understand company-specific coding patterns, architectural preferences, and domain knowledge. The results is more relevant and context-aware assistance across all integrated tools. By providing this level of flexibility and integration, extensibility ensures that the AI-powered development experience evolves with the organization. It can adapt to changing technologies and business needs while seamlessly enhancing existing toolchains and workflows.

The following table shows extensibility use cases that you can enhance with generative AI and the persona responsible for those use cases.


****  

| Use case | Persona | 
| --- | --- | 
| Integrate third-party tools into the development environment | DevOps engineer | 
| Create custom automation workflows that are tailored to team's unique development process | DevOps engineer | 
| Connect to various APIs and services | DevOps engineer | 
| Create connectors for cross-platform tools | DevOps engineer | 