3. Generative AI: An Overview
W H A T I S G E N E R A T I V E A I
• Generative AI is a subset of AI focused on creating new content from
scratch.
• It's a part of Machine Learning, specifically under Deep
Learning and Neural Networks.
• Pioneered by models like Generative Adversarial Networks
(GANs) and Transformer models.
• GPT (Generative Pretrained Transformer) and LLM (Large Language
Models) are key examples.
4. Generative AI Applications
W H A T I S G E N E R A T I V E A I
• Content Generation
• Writing: Creative editorial work, summarize, rewrite.
• ChatGPT, GPT4, Bard, LLAMA, etc.
• Audio, Music, Video : Create music, dubbing, STT, TTS, Translate
• MusicLM, RunwayML, Make-A-Video
• Art : 3d modelling, Illustrate, Editing, Super resolution
• Midjourney, Dall-E, StableDiffusion, etc.
• Code Generation (Codex, GitHub CoPilot, Bard)
• Code – Generate code based on prompts
• Translation – Translate between programming languages
• Review – Review code and provide feedback
• Explain – explain complex code and summarize.
• Personal Assistants
• Chatbots – ChatGPT, Bard, Expedia Travel Planner, etc.
• AI helpers – AI based chat and voice assistants.
• Other
• Data Augmentation (Paraphrasing, Translation, Test data creation, etc.)
• Many new capabilities being discovered every day.
5. Generative AI Models & Tools
W H A T I S G E N E R A T I V E A I
•GPT (Generative Pretrained Transformers) - GPT-1, GPT-2, GPT-3, GPT-4.
•Transformer models - BERT, RoBERTa, T5.
•Generative Adversarial Networks (GANs) - DCGAN, StyleGAN, BigGAN.
TYPES OF GENERATIVE AI
TOOLS/SERVICES FOR GENERATIVE AI
•OpenAI (GPT3.5, GPT4, Dall-E, Whisper)
•Azure AI (Azure OpenAI, Azure Cognitive Services, etc.)
•Google Bard, PaLM, PaLM2,MedPaLM, SecPaLM, MusicLM, etc.
•Open Source – StableDiffusion, LLMA, GPT4ALL, LocalAI
•Huggingface – Training, Model distribution, hosting/inference, etc.
APPLICATION INTEGRATION
Integrating LLM into business application by augmenting with domain data.
• LangChain – Python, JavaScript
• Semantic Kernel – (Microsoft Guidance) C#, Python
• LMQL – A Query language for LLM Models
6. Pros and Cons of Generative AI
W H A T I S G E N E R A T I V E A I
• Creativity and efficiency.
• Enhancing human capabilities.
• Automation of repetitive tasks and let humans focus
on more complex tasks.
• Analysis and exploration of complex data.
• Create synthetic data to train and improve other AI
systems.
• Advancement in scientific, medical, autonomous
robotics, etc.
Pros Cons
• Ethical concerns.
• Lack of Legal & Regulatory framework.
• Copyright issues
• Privacy issues
• AI bias and fairness, heavily relies on data
labelling.
• Difficulties in determining "originality".
• Hallucinations – some models tend to generate
content that is non-realistic or doesn’t make any
sense.
7. Future of Generative AI
W H A T I S G E N E R A T I V E A I
• Increasing accuracy and capabilities.
• More ethical and fairness considerations.
• Legal & Regulation Framework.
• Expanding to new domains and industries.
• Security – Threat Intelligence, threat control, etc.
• Healthcare and Scientific research – ( Ex: Initial patient
interview and summarization.)
• Genome sequencing
• Automobile Industry (data and environment simulation for
autonomous vehicle model training and testing.)
• Many more to come. J
Generative AI holds great promise, but it also raises important questions. Its
development will require careful attention to ethics, job impact, and economic
implications.
8. EPAM Proprietary & Confidential. 8
Prompt Engineering
Prompting
Prompt Engineering refers to the process of crafting
effective and specific prompts to obtain desired
responses from language models like ChatGPT, etc.. It
involves formulating well-structured and concise
instructions to guide the model's output.
S E C T I O N T I T L E
Generative AI
02
9. Guide to basic Prompting
P R O M P T E N G I N E E R I N G
•Define the task: Clearly state the desired outcome and specify the task the model should perform.
•Assign Role: Assign a role to AI, by providing a role we are setting a prospective to AI Model and look at given instruction in that
role.
•Provide context: Give relevant background information or set the scene for the model. This helps provide context and ensures the
model understands the desired context of the response.
•Be explicit: Specify the format or structure you want the response to follow. If you want a bullet-point list, mention it explicitly. If
you need a code snippet, clarify the programming language. The more specific you are, the better the model can tailor its response.
•Iterate and refine: Prompt engineering is an iterative process. Start with a basic prompt, review the output, and make adjustments
as needed. Experiment with different phrasings or approaches until you achieve the desired outcome.
•Control output length: If you need a specific word count or a shorter response, mention it explicitly in the prompt. You can request
the model to provide a summary or limit the response to a certain length.
•Use examples: Including example inputs and outputs can help the model understand the expected format and generate more
accurate responses. This can be especially useful for complex or specific tasks.
•Test and evaluate: Test your prompts with small iterations to understand how the model responds. Continuously evaluate the
output and fine-tune your prompts accordingly.
11. EPAM Proprietary & Confidential. 11
Agile Principles and AI Alignment
Agilist in the era of AI
12. EPAM Proprietary & Confidential. 12
Key Considerations
A G I L I S T I N T H E E R A O F A I
AI in the SDLC Context
Agile Principles and AI
Alignment
AI as a Team Member
Risk Management and
AI Predictive Analytics
AI-Driven Continuous
Improvement
AI in Agile Project
Tracking and Reporting
13. EPAM Proprietary & Confidential. 14
AI Assisted SDLC
A G I L I S T I N T H E E R A O F A I
Business
Analysis
Requirement
Analysis/Elaboration
Domain Consultation
Compliance
Consultation
Requirement
Analysis/Elaboration
Requirement
Documentation, Review
Architecture
Solution Design,
Proposal Drafting,
Domain Consultation
Business Architecture
Solution Architecture
Technical Architecture
Compliance Review
Security (Threat
Modelling)
Documenting
Architecture
Development
Onboarding/Ramp-up
Reverse Engineering
Code conversion
AI Assisted Coding
AI Code Review
Develop Unit Testing
Quality
Assurance
Test Strategy
Test Cases writing
Review Test Cases
Automation
Development
Identify Compliance
Testing requirements
14. EPAM Proprietary & Confidential. 15
Benefits of AI in SDLC
Significantly enhances the
entire software
development process.
Expedites the
development process and
heightens accuracy and
productivity.
Predictive analytics
leverages AI to analyze
historical data, enabling
the identification of
patterns and trends.
Utilize AI algorithms to
analyze user preferences
and behaviors, offering
personalized suggestions
that helps in decision-
making.
AI accelerates
development speed by
automating routine tasks,
code generation, and
testing, resulting in faster
project completion and
quicker time-to-market.
A G I L I S T I N T H E E R A O F A I
15. EPAM Proprietary & Confidential. 16
Adopting AI in Phases of SDLC
A G I L I S T I N T H E E R A O F A I
Dev & Continuous
Integration
CI / Build
Server
Builds / Status
Notifications
CI
Dashboard
QA
Version
Control
In Sprint Testing
Feedback
PERF
Performance
Test
Smoke &
Regression
SIT
Automated Test
case Generation
Deduplication of
Testcases and Bugs
Conversion of tests
to BDD format
Creation of
automated tests
UAT PROD
AI Augmented Solution
AI in Story
Elaboration
Automated Epic &
Story Generation
Automated
Sequence Diagrams
BA
Project Definition
Review/Edit
BA
PO
Auto Code
Generation
Contract Tests
Integration Tests
Code Optimization
Mock/Unit Test
cases
Deduplication
16. EPAM Proprietary & Confidential. 17
• EPAM collaborated with the client for a 3-month program,
spanning multiple product streams, encompassing 8 teams,
and involving 100+ participants in the adoption of GenAI.
• A dedicated GenAI Consultancy Team, comprising Engineering
Productivity Expert and Generative AI coaches specializing in
Business Analysis, Testing, and Software Engineering, provided
comprehensive support, including tailored training sessions,
hands-on coaching, and real-time monitoring of GenAI
adoption and its productivity outcomes.
Full Scale GenAI Adoption across SDLC
The client sought a deep understanding of the genuine impact of
Generative AI on the software development process and strategies
to enhance engineering team throughput.
Average
Time Saving by
participants
30 mins
per person
daily
Time in
Development
(hours)
82
73
Before After
36 hours
daily
Time in Testing
(hours)
52
43
Before After
Time in Requirements
Preparation (hours)
192
152
Before After
11% 17% 21%
Challenges
Solution
Outcomes
Outcomes from the engagement included the successful
establishment of the GenAI Ecosystem, the identification of local
champions, the development of training materials, and the
definition of a broader scope for an improvement program. Next
program phase targets SDLC-level enhancements beyond GenAI,
aiming to address existing inefficiencies and to achieve higher
throughput optimization potential
C A S E S T U D Y - H E A L T H M A N A G E M E N T C O M P A N Y
17. EPAM Proprietary & Confidential. 18
Agile Principles and AI Alignment
A G I L I S T I N T H E E R A O F A I
Product Owner and
AI Integration
•Backlog Refinement and Prioritization: Generative AI can assist in
refining and prioritizing the product backlog by analyzing data trends,
user feedback, and market analysis.
•Requirement Analysis: AI tools can help in understanding and
elaborating requirements more accurately, potentially even predicting
future needs based on user behavior and feedback loops.
Scrum Master and
AI Assistance
•Facilitating Agile Ceremonies: AI can aid in organizing and optimizing
Agile ceremonies like daily stand-ups, sprint planning, and
retrospectives, help summarize status updates.
•Impediment Removal: Explore AI solutions for identifying and
addressing impediments more efficiently, such as using predictive
analytics to foresee potential blockers.
Development Team
and AI
Collaboration
•Coding and Code Reviews: AI can assist developers with coding, offering
code suggestions, and automating portions of the code review process.
(ex: GitHub CoPilot, JetBrains AI assistant)
•Testing and Quality Assurance: Leveraging AI in automated testing,
identifying bugs, and ensuring that the software meets quality standards
efficiently.
AI in Agile Testing
Roles
•Test Case Generation: AI can be used to generate test cases, test data, enhance
test coverage, and even predict areas of the application that are most likely to
have defects.
•Performance Testing: AI-driven tools that can simulate various user behaviors
and load conditions to test application performance.
AI in Continuous
Integration and
Deployment
•Automated Builds and Deployments: AI can help optimize build and deployment
processes, identifying the best times and methods for integration and delivery.
•Monitoring and Feedback: AI can help in monitoring deployed applications by
analyzing logs and insights, gathering user feedback, and feeding this information
back into the development process for continuous improvement.
Aligning AI with
Agile Values
•Collaboration Over Processes: Emphasize the importance of AI tools enhancing
team collaboration and communication, rather than replacing human
interactions.
•Responding to Change: Highlight how AI can provide insights and data that
support the Agile value of responding to change over following a plan.
18. EPAM Proprietary & Confidential. 19
AI as Team Member
A G I L I S T I N T H E E R A O F A I
AI algorithms analyze team members' skills and workload to assign tasks optimally,
ensuring a balanced distribution of work.
Automated Task Assignment
AI tools perform initial code reviews, flagging potential issues or suggesting
optimizations, to accelerates the development process and reduces human error.
Code Reviews and Quality
Assurance
AI systems predict potential project risks and propose mitigation strategies, acting
as a proactive member in risk management.
Predictive Analytics for Risk
Management
AI analyzes customer feedback and social media trends, providing insights into user
satisfaction and potential areas for improvement, much like a market analyst.
Feedback Analysis
AI chatbots facilitate team communication, schedule meetings, and remind team
members of deadlines, functioning as an administrative assistant.
Enhanced Communication
AI tools monitor project progress in real-time, offering insights into team
performance and helping to identify areas needing attention.
Real-time Performance
Metrics
19. EPAM Proprietary & Confidential. 20
Risk Management and AI Predictive Analytics
A G I L I S T I N T H E E R A O F A I
AI analyzes project timelines and historical data to predict potential delays, allowing teams to take preemptive actions
to stay on schedule.
Predicting Project Delays
In software development, AI tools scan code to identify security vulnerabilities or bugs that could pose risks, enabling
early fixes.
Identifying Code Vulnerabilities
AI evaluates market trends and customer feedback, predicting changes in consumer preferences that could impact
product success.
Market Trend Analysis
AI assesses resource utilization across projects, predicting shortages or bottlenecks and suggesting optimal resource
allocation.
Resource Allocation Risks
For projects with significant financial investments, AI analyzes market conditions and financial data to predict and
mitigate financial risks.
Financial Risk Analysis
20. EPAM Proprietary & Confidential. 21
AI-Driven Continuous Improvement
A G I L I S T I N T H E E R A O F A I
Process
Optimization
AI evaluates past
project data to
identify
inefficiencies
and suggests
process
improvements
for future
sprints in Agile
development.
Product Feature
Enhancement
By analyzing user
feedback and
usage patterns,
AI recommends
changes or new
features that
could enhance
the product's
appeal and
usability.
Quality
Assurance
AI tools analyze
test results over
time, identifying
patterns in
defects and
suggesting areas
for quality
improvement in
software
development.
Performance
Analysis
AI assesses team
performance
metrics and
provides insights
on collaboration
and productivity,
leading to
targeted
improvements
in team
dynamics.
Customer Service
Enhancement
For services, AI
analyzes
customer
interactions and
feedback to
suggest
improvements
in customer
service
protocols and
solutions.
21. EPAM Proprietary & Confidential. 22
AI in Agile Project Tracking and Reporting
A G I L I S T I N T H E E R A O F A I
Real-time Progress
Tracking
AI algorithms continuously analyze the progress of tasks and sprints, providing real-time updates
on the project dashboard. For example, it can predict if a sprint is likely to meet its goals based
on current progress.
Predictive Project
Completion
AI can forecast project completion dates by analyzing current velocity and past performance,
helping teams adjust their strategies and timelines accordingly.
Automated
Reporting
AI tools automatically generate reports on project status, sprint performance, and team
productivity, reducing manual effort and providing consistent updates to stakeholders.
Risk Reporting
AI analyzes various project parameters to identify risks and issues, reporting them proactively to
the team. For instance, it could flag a potential resource crunch by analyzing team capacity and
task requirements.
Performance
Analysis
AI evaluates team and individual performance metrics over time, providing insights into areas of
strength and opportunities for improvement.
22. EPAM Proprietary & Confidential. 23
Adopting AI for Agile
A G I L I S T I N T H E E R A O F A I
Utilize AI to automate repetitive tasks and provide data-driven insights, but
ensure it complements rather than replaces human decision-making. Focus
on areas like code generation, automated testing, and project analytics.
Integrate AI Strategically
Encourage the team to continuously learn and adapt to AI technologies. This
involves staying updated with the latest AI tools and methodologies
relevant to software development.
Embrace Continuous
Learning
Use AI to improve team collaboration. For instance, AI can help in managing
communication, scheduling, and tracking progress, freeing up the team to
focus on more complex tasks.
Enhance Collaboration
with AI
Modify Agile methodologies to incorporate AI tools effectively. This might
involve rethinking sprint planning, backlog refinement, and review
processes to integrate AI-driven insights and forecasts.
Adapt Agile Processes
Ensure the ethical use of AI in software engineering. This means being aware
of biases in AI algorithms, maintaining transparency, and prioritizing human
oversight in AI-driven decisions.
Focus on Ethical AI Use