396 lines
12 KiB
Markdown
396 lines
12 KiB
Markdown
**Source of truth** : https://git.gregoiremureau.com/openclassroom-ai/oc-p12-fashion-insta
|
||
|
||
```bash
|
||
git clone https://git.gregoiremureau.com/openclassroom-ai/oc-p12-fashion-insta.git
|
||
git clone https://git.gregoiremureau.com/openclassroom-ai/oc-p12-fashion-insta.git
|
||
```
|
||
|
||
Dataset: see `fetch-data.sh` (outside git if large).
|
||
|
||
# AI Project Scoping - Fashion-Insta
|
||
|
||
📘 This project is also available in [French 🇫🇷](./README.fr.md)
|
||
|
||
## 📋 Project Context
|
||
|
||
This project was carried out as part of an **AI Product Manager** assignment at **Fashion-Insta**, a fashion company that sells clothing items through a network of physical stores and an e-commerce website.
|
||
|
||
The objective was to carry out the complete scoping of a strategic AI project: the development of a mobile application for recommending clothing items based on photos, in order to present the project to the executive committee (COMEX) for approval.
|
||
|
||
## 🎯 Objectives
|
||
|
||
The project aims to develop a **mobile recommendation application** allowing users to:
|
||
1. Take a photo of themselves wearing their favorite clothes
|
||
2. Get recommendations for items in the same clothing style
|
||
3. Boost online and in-store sales
|
||
|
||
**Mission assigned**: Carry out the entire scoping of the project following an agile SCRUM methodology and convince the COMEX to launch the project.
|
||
|
||
## 📊 Scoping Approach
|
||
|
||
The project scoping took place over several phases across 3 weeks:
|
||
|
||
### Phase 1: Requirements gathering and backlog
|
||
- Formalization of user stories based on business needs
|
||
- Prioritization using the MoSCoW method (Must have, Should have, Could have, Won't have)
|
||
- Identification of the MVP (Minimum Viable Product)
|
||
- Review with the Product Owner
|
||
|
||
### Phase 2: Estimation and profitability
|
||
- Estimation of effort per user story (in person/days)
|
||
- Breakdown by profile (Data Scientist, Developer, DevOps, etc.)
|
||
- Calculation of development costs
|
||
- Estimation of Azure costs (initial infrastructure and production)
|
||
- Profitability analysis (ROI, break-even point)
|
||
- Sprint planning
|
||
|
||
### Phase 3: GDPR compliance and risks
|
||
- Analysis of personal data (CNIL data processing register)
|
||
- Identification of legal and ethical issues
|
||
- Analysis of potential model biases
|
||
- Complete project risk analysis
|
||
- Mitigation action plan
|
||
|
||
### Phase 4: COMEX presentation
|
||
- Summary of objectives and expected gains
|
||
- Presentation of the agile SCRUM methodology
|
||
- Sprint planning and organization
|
||
- GDPR and ethical issues
|
||
- Risk mitigation
|
||
|
||
## 📁 Project Structure
|
||
|
||
```
|
||
├── P12_01_backlog.xlsx
|
||
├── P12_02_tableur.xlsx
|
||
├── P12_03_présentation.pdf (ou .pptx)
|
||
├── P12_04_ExportedEstimate_initial.xlsx
|
||
└── P12_05_ExportedEstimate_production.xlsx
|
||
```
|
||
|
||
### 1. `P12_01_backlog.xlsx`
|
||
|
||
**Project backlog with prioritized user stories**
|
||
|
||
This file contains:
|
||
- **User stories**: Formalization of functional and technical needs from the user's point of view
|
||
- **MoSCoW prioritization**:
|
||
- **Must have**: Features essential to the MVP
|
||
- **Should have**: Important but non-blocking features
|
||
- **Could have**: Desirable features
|
||
- **Won't have**: Features excluded from the current scope
|
||
- **Effort estimation**: Development time per user story
|
||
- **Acceptance criteria**: Validation conditions for each story
|
||
- **Dependencies**: Relationships between user stories
|
||
|
||
**Focus**: AI user stories (recommendation, image processing, ML models)
|
||
|
||
### 2. `P12_02_tableur.xlsx`
|
||
|
||
**Spreadsheet for effort and cost estimation**
|
||
|
||
This file includes several tabs:
|
||
|
||
**"Effort by profile" tab**:
|
||
- Breakdown of effort by user story
|
||
- Profiles: Data Scientist, ML Engineer, Full-Stack Developer, DevOps, Product Owner, Scrum Master
|
||
- Calculation of person/days per profile
|
||
- Application of daily rates (TJM)
|
||
|
||
**"Development costs" tab**:
|
||
- Total initial development cost
|
||
- Breakdown by profile and by sprint
|
||
- Fixed vs variable costs
|
||
|
||
**"Recurring costs" tab**:
|
||
- Annual maintenance: 15% of development cost
|
||
- Production Azure infrastructure costs (annual)
|
||
- Cost trends over 3-5 years
|
||
|
||
**"Profitability analysis" tab**:
|
||
- Estimated annual gains (increase in sales)
|
||
- Cumulative costs year after year
|
||
- ROI and break-even point calculation
|
||
- Profitability chart
|
||
|
||
**"Sprint planning" tab**:
|
||
- Breakdown into sprints (duration, content)
|
||
- Assignment of user stories per sprint
|
||
- Milestones and deliverables
|
||
|
||
### 3. `P12_03_présentation.pdf` (or .pptx)
|
||
|
||
**Presentation for the COMEX**
|
||
|
||
This presentation includes:
|
||
|
||
**Slide 1: Executive summary**
|
||
- Summary of key points (not presented orally)
|
||
- Project vision in one slide
|
||
|
||
**Slides 2-3: Objectives and expected gains**
|
||
- Increase in sales (quantified)
|
||
- Improved customer experience
|
||
- Success KPIs (adoption rate, conversion rate, satisfaction)
|
||
|
||
**Slides 4-5: Required resources**
|
||
- Human: Team and profiles needed
|
||
- Technical: Azure infrastructure
|
||
- Financial: Initial investment and recurring costs
|
||
|
||
**Slides 6-8: Agile SCRUM methodology**
|
||
- Principles of agility
|
||
- Roles (Product Owner, Scrum Master, Development Team)
|
||
- Benefits for the project
|
||
|
||
**Slides 9-11: Organization and tracking**
|
||
- Daily Scrum (daily standup)
|
||
- Sprint Review (end-of-sprint demo)
|
||
- Retrospective (continuous improvement)
|
||
- Burndown chart (progress tracking)
|
||
|
||
**Slides 12-13: Sprint planning**
|
||
- Time breakdown
|
||
- Content of each sprint
|
||
- Key milestones and deliverables
|
||
|
||
**Slides 14-16: Legal and ethical issues**
|
||
- GDPR principles
|
||
- Personal data management (photos, preferences)
|
||
- Potential model biases (diversity, representativeness)
|
||
- Transparency and consent
|
||
|
||
**Slides 17-19: Risks and mitigation**
|
||
- Technical risks (model performance, scalability)
|
||
- Organizational risks (team availability)
|
||
- Financial risks (budget overrun)
|
||
- Legal risks (GDPR non-compliance)
|
||
- Action plan for each critical risk
|
||
|
||
**Appendix: Full backlog**
|
||
- List of user stories with prioritization
|
||
- MVP user stories clearly identified
|
||
|
||
### 4. `P12_04_ExportedEstimate_initial.xlsx`
|
||
|
||
**Azure cost estimation for the initial phase**
|
||
|
||
This file contains the estimation of Azure cloud infrastructure costs for:
|
||
- **Design phase**: Development environment
|
||
- **Model training phase**:
|
||
- Compute instances (GPU for deep learning)
|
||
- Training data storage
|
||
- ML services (Azure Machine Learning)
|
||
- Computer vision services (Computer Vision API)
|
||
|
||
**Export**: Azure Pricing Calculator
|
||
|
||
### 5. `P12_05_ExportedEstimate_production.xlsx`
|
||
|
||
**Azure cost estimation for production**
|
||
|
||
This file contains the estimation of Azure cloud infrastructure costs for:
|
||
- **Application production**:
|
||
- Compute instances for the recommendation API
|
||
- Database (product catalog, user history)
|
||
- Blob storage (user images)
|
||
- CDN (Content Delivery Network)
|
||
- ML inference services
|
||
- Monitoring and logging services
|
||
- Bandwidth
|
||
|
||
**Calculation**: Monthly and annual costs based on a traffic estimate
|
||
|
||
## 🛠️ Methodology
|
||
|
||
### Agile SCRUM Method
|
||
|
||
**Roles**:
|
||
- **Product Owner**: Alicia (VP Product)
|
||
- **Scrum Master**: To be defined
|
||
- **Development Team**: Data Scientists, ML Engineers, Developers, DevOps
|
||
|
||
**Ceremonies**:
|
||
- **Sprint Planning**: Sprint planning (1-2 weeks)
|
||
- **Daily Scrum**: 15-minute daily standup
|
||
- **Sprint Review**: End-of-sprint demonstration
|
||
- **Sprint Retrospective**: Continuous improvement
|
||
|
||
**Artifacts**:
|
||
- **Product Backlog**: Prioritized list of user stories
|
||
- **Sprint Backlog**: User stories selected for the sprint
|
||
- **Increment**: Potentially shippable product at the end of the sprint
|
||
|
||
### MoSCoW Prioritization
|
||
|
||
- **Must have (M)**: Essential to the MVP, non-negotiable
|
||
- **Should have (S)**: Important but can be postponed
|
||
- **Could have (C)**: Desirable if budget/time available
|
||
- **Won't have (W)**: Excluded from the current scope
|
||
|
||
### Effort Estimation
|
||
|
||
**Techniques used**:
|
||
- Planning Poker for collaborative estimation
|
||
- Story Points or Person/Days depending on the user stories
|
||
- Team velocity to adjust forecasts
|
||
|
||
## 📈 Profitability Analysis
|
||
|
||
### Costs
|
||
|
||
**Initial investment**:
|
||
- Development: Total cost of sprints
|
||
- Azure infrastructure (initial phase)
|
||
- Team training
|
||
|
||
**Recurring costs (annual)**:
|
||
- Maintenance: 15% of development cost
|
||
- Azure infrastructure (production)
|
||
- Support and enhancements
|
||
|
||
### Gains
|
||
|
||
**Estimated gains**:
|
||
- Increase in online conversion rate
|
||
- Increase in average basket size
|
||
- Customer retention (churn reduction)
|
||
- Cross-selling and up-selling
|
||
|
||
**ROI calculation**:
|
||
|
||
```
|
||
ROI = (Gains cumulés - Coûts cumulés) / Coûts cumulés × 100
|
||
```
|
||
|
||
**Break-even point**: Date at which cumulative gains equal cumulative costs
|
||
|
||
### Visualization
|
||
|
||
Chart showing:
|
||
- Cumulative costs curve
|
||
- Cumulative gains curve
|
||
- Break-even point (intersection of the curves)
|
||
|
||
## 🔒 GDPR Compliance
|
||
|
||
### Personal data processed
|
||
|
||
- **User photos**: Sensitive data (images of people)
|
||
- **Clothing preferences**: Behavioral profiling
|
||
- **Browsing history**: Tracking of interactions
|
||
- **Account data**: Email, name, contact details
|
||
|
||
### Data processing register (CNIL)
|
||
|
||
For each AI processing activity:
|
||
- **Purpose**: Personalized item recommendation
|
||
- **Data categories**: Images, preferences, behavior
|
||
- **Retention period**: Defined and justified
|
||
- **Security measures**: Encryption, pseudonymization
|
||
- **Recipients**: Data team, partners (if applicable)
|
||
- **Transfers outside the EU**: Azure Europe region (compliance)
|
||
|
||
### GDPR Principles Applied
|
||
|
||
- **Explicit consent**: Opt-in for the use of photos
|
||
- **Right of access**: Users can view their data
|
||
- **Right to erasure**: Deletion of data upon request
|
||
- **Portability**: Export of personal data
|
||
- **Minimization**: Collection of only necessary data
|
||
- **Transparency**: Clear information about data use
|
||
|
||
## ⚖️ Ethical Issues
|
||
|
||
### Model bias
|
||
|
||
**Identified risks**:
|
||
- **Representation bias**: Under-representation of certain body shapes, skin colors, clothing styles
|
||
- **Cultural bias**: Recommendations skewed toward Western standards
|
||
- **Gender bias**: Gendered clothing stereotypes
|
||
|
||
**Action plan**:
|
||
- Diversification of the training dataset
|
||
- Regular audit of recommendations
|
||
- User testing on varied populations
|
||
- User feedback capability to improve the model
|
||
|
||
### Transparency and explainability
|
||
|
||
- Inform the user about how the recommendation system works
|
||
- Ability to understand why an item is recommended
|
||
- Option to disable personalized recommendations
|
||
|
||
## ⚠️ Risk Analysis
|
||
|
||
### Methodology
|
||
|
||
**Assessment grid**:
|
||
- **Probability**: Low / Medium / High
|
||
- **Impact**: Low / Medium / Critical
|
||
- **Criticality**: Probability × Impact
|
||
|
||
**Spectre 7D Checklist**:
|
||
1. **Data**: Quality, availability, bias
|
||
2. **Development**: Skills, technologies
|
||
3. **Deployment**: Infrastructure, scalability
|
||
4. **Dependability**: Reliability, performance
|
||
5. **Detectability**: Monitoring, alerts
|
||
6. **Diversity**: Inclusion, fairness
|
||
7. **Documentation**: Traceability, compliance
|
||
|
||
### Main Identified Risks
|
||
|
||
**Technical risks**:
|
||
- Insufficient performance of the recommendation model
|
||
- Latency too high in production
|
||
- Scalability difficulties under increased load
|
||
|
||
**Organizational risks**:
|
||
- Unavailability of resources (Data Scientists)
|
||
- Turnover in the project team
|
||
- Delays in deliverables
|
||
|
||
**Financial risks**:
|
||
- Azure budget overrun
|
||
- Underestimated development costs
|
||
- ROI taking longer than expected
|
||
|
||
**Legal risks**:
|
||
- GDPR non-compliance (financial penalties)
|
||
- User complaints about data management
|
||
- Disputes related to model bias
|
||
|
||
### Mitigation Plan
|
||
|
||
For each critical risk:
|
||
- **Preventive action**: Measure to reduce probability
|
||
- **Corrective action**: Measure if the risk materializes
|
||
- **Owner**: Person in charge of follow-up
|
||
- **Deadline**: Implementation date
|
||
|
||
**Examples**:
|
||
- **GDPR risk** → Compliance audit with the DPO before each sprint
|
||
- **Bias risk** → Dataset diversification and regular testing
|
||
- **Scalability risk** → Load testing and elastic cloud architecture
|
||
|
||
## 🎓 Skills Developed
|
||
|
||
- End-to-end AI project scoping
|
||
- Agile SCRUM methodology
|
||
- Estimation and costing of technical projects
|
||
- Profitability analysis (ROI, break-even)
|
||
- GDPR compliance and personal data management
|
||
- Risk identification and mitigation
|
||
- Ethical issues in AI (bias, transparency)
|
||
- Stakeholder management (COMEX)
|
||
- Project communication and presentation
|
||
|
||
## 👤 Author
|
||
|
||
**Grégoire Mureau**
|
||
Completion date: 2025
|
||
|
||
---
|
||
|
||
*This project was carried out as part of the AI Engineer program*
|