Course Outline
Phase 1: Requirements Analysis and Clarification
Objective: Leverage large language models (LLMs), such as ChatGPT, to extract and structure requirements from ambiguous or unstructured inputs.
Key Activities:
- Interpret ambiguous product concepts or feature requests
-
Utilize AI tools to:
- Generate user stories and define acceptance criteria
- Propose user personas and usage scenarios
-
Generate visual artifacts (e.g., simple diagrams using Mermaid or draw.io)
Deliverable: A structured backlog of user stories and an initial domain model or visual representation
Phase 2: Architecture Design and Validation
Objective: Employ AI tools to create and validate high-level architectural plans.
Key Activities:
-
Utilize AI to:
- Propose an architectural style (e.g., monolithic, microservices, or serverless)
- Generate high-level component and interaction diagrams
- Scaffold class or module structures
-
Conduct peer design reviews to critically evaluate and refine design choices
Deliverable: A validated architecture and a foundational code skeleton
Phase 3: Implementation and Code Optimization
Objective: Implement features and enhance code quality using AI-assisted development tools.
Key Activities:
- Utilize GitHub Copilot or ChatGPT to implement functional requirements
-
Refactor AI-generated code to ensure:
- Performance efficiency
- Security compliance
- Long-term maintainability
-
Introduce intentional code defects and conduct peer-led refactoring exercises
Deliverable: A functional, refactored, and optimized codebase
Phase 4: Testing, Quality Assurance, and Debugging
Objective: Generate and improve test coverage using AI, and identify defects in external code samples.
Key Activities:
-
Utilize AI to generate:
- Unit tests
- Integration tests
- Edge case simulations
-
Exchange code samples with other teams for AI-assisted debugging and defect resolution
Deliverable: A comprehensive test suite, a detailed bug report, and verified bug fixes
Phase 5: CI/CD Pipeline Automation
Objective: Establish intelligent Continuous Integration/Continuous Deployment (CI/CD) pipelines with AI assistance.
Key Activities:
-
Utilize AI to:
- Define automated workflows (e.g., using GitHub Actions)
- Automate build, test, and deployment processes
- Formulate anomaly detection and rollback policies Deliverable: An AI-assisted, functional CI/CD pipeline script or workflow definition
Phase 6: Log Analysis and Intelligent Monitoring
Objective: Analyze system logs and apply machine learning techniques to detect anomalies and simulate recovery procedures.
Key Activities:
- Analyze pre-populated or generated system logs
-
Utilize AI to:
- Identify anomalies and error trends
- Recommend automated responses (e.g., self-healing scripts or alert triggers)
- Create dashboards or visual summaries of system health Deliverable: A monitoring plan or a simulated intelligent alerting mechanism
Capstone: Comprehensive AI-Enhanced SDLC Implementation
Objective: Apply all learned concepts to construct a complete, working Software Development Lifecycle (SDLC) workflow for a mini-project.
Key Activities:
- Select a team-based mini-project (e.g., a bug tracker, chatbot, or microservice)
-
Apply AI tools at each SDLC phase:
- Requirements, Design, Implementation, Testing, Deployment, and Monitoring
- Present results in a concise team demonstration
Conduct peer evaluation to identify the most effective AI-powered pipeline
Deliverable: An end-to-end AI-enhanced SDLC implementation and a team showcase
Upon completion of this workshop, participants will be able to:
- Apply generative AI tools to extract and structure software requirements
- Generate architectural diagrams and validate design decisions using AI
- Utilize AI assistants to implement and refactor production-grade code
- Automate test generation and perform AI-assisted debugging
- Design intelligent CI/CD pipelines capable of detecting and responding to anomalies
- Analyze logs using AI/ML tools to identify risks and simulate self-healing mechanisms
- Demonstrate a fully AI-enhanced SDLC through a collaborative team project
Requirements
Target Audience: Software developers, testers, architects, DevOps engineers, and product owners
Participants are expected to have:
- A working understanding of the Software Development Lifecycle (SDLC)
- Practical experience in at least one programming language (e.g., Python, Java, JavaScript, C#, etc.)
-
Familiarity with:
- Writing and reviewing user stories or requirements
- Basic software design principles
- Version control (e.g., Git)
- Writing and executing unit tests
- Running or interpreting CI/CD pipelines
This is an intermediate-to-advanced level workshop. It is ideal for professionals who are already part of software delivery teams, including developers, testers, DevOps engineers, architects, and product owners.
Testimonials (1)
That i gained a knowledge regarding streamlit library from python and for sure i'll try to use it to improve applications in my team which are made in R shiny