Skip to content

Latest commit

 

History

History
217 lines (162 loc) · 11.8 KB

File metadata and controls

217 lines (162 loc) · 11.8 KB

Client Simulation Experience - JEB Incubator Project

Educational Context

This project was designed as a real-world client simulation during the intense 2-week "PISCINE SURVIVOR" for Epitech TEK3 students, providing hands-on experience with professional software development challenges under extreme time pressure. Unlike traditional academic projects, this simulation combined the complexities of actual client relationships with the intensity of a high-stakes bootcamp environment.

The Fictional Client: JEB Incubator

Client Background

JEB Incubator was presented as a prestigious startup accelerator seeking to modernize their digital presence. The fictional client persona included:

  • Industry: Startup incubation and venture capital
  • Size: Mid-sized incubator with 50+ portfolio companies
  • Challenge: Outdated website limiting visibility for startups
  • Timeline: 2-week intensive development sprint with mid-project presentation
  • Budget: Simulated enterprise-level project scope
  • Pressure: Daily progress evaluations and mandatory 9:30 AM attendance

Client Communication Style

The educational team simulated realistic client behavior including:

  • Unclear initial requirements that evolved throughout the project
  • Contradictory feedback requiring diplomatic resolution
  • Urgent "business critical" requests testing prioritization skills
  • Stakeholder conflicts between technical and business teams
  • Last-minute scope changes challenging project management

Simulation Methodology

Email Communication Chain

The project began with an introductory email from "JEB Incubator Management" containing:

  1. Initial Brief: Basic project overview with vague requirements
  2. Clarification Requests: Multiple stakeholders with conflicting priorities
  3. Specification Updates: Requirements evolving based on "market research"
  4. Technical Constraints: Late revelation of existing API integration needs
  5. Presentation Pressure: Realistic deadline pressure for client demos

Contradictory Requirements Examples

Day 2: "Simple Catalog"

"We need a basic project showcase - just a simple list of our startups with basic information. Nothing fancy. We have 2 weeks, so keep it minimal."

Day 6: "Advanced Features"

"Our investors are demanding advanced search capabilities, real-time messaging, and comprehensive analytics. This is business critical. Timeline remains the same - 2 weeks total."

Day 10: "Budget Concerns"

"The board is concerned about complexity. Can we simplify the messaging system? But keep the search functionality - that's non-negotiable now. Remember, final presentation is in 2 days."

Authentic Pain Points

The simulation introduced realistic development challenges compressed into 14 days:

  1. Extreme Scope Creep: Features continuously added without timeline adjustments in a 2-week window
  2. Technical Debt Under Pressure: Rush to implement features while maintaining daily attendance
  3. Stakeholder Management: Balancing requests from different "departments" with daily evaluations
  4. Documentation Pressure: Client demanding comprehensive technical documentation in final days
  5. Performance Expectations: "The site must load instantly" without performance budget or timeline flexibility
  6. Piscine Survival Stress: Managing client demands while ensuring bootcamp success and international placement eligibility

Learning Objectives

Technical Skills

  • Full-Stack Development: Modern React/Node.js ecosystem
  • API Integration: Working with external data sources and migration
  • Real-Time Features: WebSocket implementation for messaging
  • Database Design: Scalable PostgreSQL schema with Prisma ORM
  • DevOps Practices: Docker containerization and deployment strategies

Professional Skills

  • Client Communication: Managing expectations and clarifying requirements
  • Project Management: Agile methodologies under pressure
  • Team Collaboration: Git workflows and code review processes
  • Problem Solving: Technical solutions for ambiguous business needs
  • Documentation: Creating clear technical and user documentation

Soft Skills Development

  • Adaptability: Responding to changing requirements gracefully
  • Diplomacy: Handling contradictory feedback professionally
  • Time Management: Prioritizing features under tight deadlines
  • Quality Assurance: Maintaining code quality despite pressure
  • Presentation Skills: Demonstrating progress to "stakeholders"

Simulation Timeline - 2-Week Intensive Sprint

Phase 1: Discovery & Setup (Days 1-3)

  • Client Brief Analysis: Understanding vague initial requirements under pressure
  • Technical Architecture: Rapid planning of scalable solution for "unknown" future needs
  • Team Formation: Quick role organization with daily attendance pressure
  • Initial Prototyping: Fast MVP development to validate approach
  • Piscine Reality: 9:30 AM sharp attendance, immediate immersion in high-pressure environment

Phase 2: Development Sprint (Days 4-8)

  • Feature Implementation: Core functionality development under daily evaluation
  • Requirement Clarification: Managing evolving specifications with compressed timeline
  • Technical Challenges: API integration complexity discovered mid-sprint
  • Progress Communication: Daily "client" check-ins while managing bootcamp stress
  • Survival Mode: Balancing client demands with Piscine attendance requirements

Phase 3: Crisis Management (Days 9-11)

  • Scope Changes: Major feature requests with unchanged 2-week deadline
  • Technical Pivots: Architecture adjustments with no timeline flexibility
  • Quality vs. Speed: Extreme pressure to deliver while maintaining code standards
  • Team Stress: Managing burnout under dual pressure (client + bootcamp)
  • Final Push: Late nights while maintaining 9:30 AM daily presence

Phase 4: Delivery (Days 12-14)

  • Client Presentation: Professional demo to "JEB Incubator" stakeholders under evaluation
  • Documentation Sprint: Comprehensive technical documentation in final hours
  • Piscine Survival: Final assessment determining international placement eligibility
  • Post-Mortem: Reflection on lessons learned under extreme conditions

Realistic Challenges Encountered

Technical Challenges

// Example: API Integration Complexity Evolution in 2 Weeks
// Day 1: "Simple data import"
const projects = await fetch('/api/simple-projects');

// Day 8: "Real-time sync with existing system" 
const syncScheduler = new CronJob('*/5 * * * *', async () => {
  await syncExternalData();
  await validateDataConsistency();
  await notifyStakeholders();
});

// Day 12: "Performance critical for demo tomorrow!"
// Panic refactoring while maintaining 9:30 AM attendance

Communication Challenges

Subject: Re: Project Requirements - URGENT CLARIFICATION NEEDED (Day 9/14)

Dear JEB Team,

Thank you for your feedback. I understand you mentioned both:
1. "Keep the interface minimal and clean" 
2. "Add comprehensive analytics dashboard"

Could we schedule a call to align on priorities? We have 3 days remaining
in our 2-week sprint, and adding analytics would require significant 
development time that we don't have while maintaining Piscine attendance.

The team is under extreme pressure with daily evaluations at 9:30 AM.
We need clear direction by tomorrow morning to deliver successfully.

Best regards,
Development Team (sent at 11:47 PM)

Assessment Criteria

Students were evaluated on:

Technical Implementation (40%)

  • Code Quality: Clean, maintainable code following best practices
  • Architecture: Scalable design supporting future growth
  • Feature Completeness: Core requirements successfully implemented
  • Testing: Comprehensive test coverage and quality assurance

Professional Skills (35%)

  • Client Communication: Professional email correspondence and requirement management
  • Project Management: Effective timeline management and scope control
  • Team Collaboration: Git workflow, code reviews, and task distribution
  • Problem Solving: Creative solutions to contradictory requirements

Presentation & Documentation (25%)

  • Client Demo: Professional presentation showcasing key features
  • Technical Documentation: Clear architecture and development guides
  • User Documentation: Accessible guides for end users
  • Project Reflection: Lessons learned and process improvements

Real-World Parallels

Industry Preparation

This simulation prepared students for common industry scenarios:

  • Startup Environments: Fast-paced development with changing priorities
  • Client Services: Managing external stakeholder expectations
  • Agile Development: Iterative development with frequent requirement changes
  • Technical Debt Management: Balancing quick delivery with long-term maintainability

Career Readiness

Skills directly applicable to junior developer roles:

  • Requirement Gathering: Asking clarifying questions professionally
  • Technical Communication: Explaining complex concepts to non-technical stakeholders
  • Stress Management: Delivering quality work under pressure
  • Continuous Learning: Adapting to new technologies and frameworks quickly

Lessons Learned

Student Feedback

Common insights from the 2-week intensive simulation experience:

"I learned that requirements are never as clear as they seem initially, especially under extreme time pressure. The skill of asking the right questions while managing daily attendance became crucial."

"Managing the balance between perfection and delivery in just 14 days taught me real-world prioritization under stress. Sometimes 'good enough' is actually good enough when you have 6 hours of sleep and a 9:30 AM deadline."

"The email communication aspect was surprisingly challenging under Piscine pressure. Learning to be diplomatic while also being clear about technical constraints - all while exhausted from daily evaluations - was invaluable preparation for consulting work."

"The double pressure of client simulation + Piscine Survivor created an authentic startup environment. I now understand why developers burn out and how to manage extreme stress while maintaining code quality."

Educational Value

The simulation successfully bridged the gap between academic projects and industry reality by:

  1. Contextualizing Technical Skills: Showing how code fits into business objectives
  2. Developing Communication: Technical skills alone aren't sufficient for success
  3. Building Resilience: Preparing students for the inevitable challenges of software development
  4. Encouraging Collaboration: Real projects require effective teamwork

Conclusion

The JEB Incubator client simulation during the 2-week Piscine Survivor provided an immersive, high-intensity introduction to professional software development, combining technical challenges with realistic business pressures under extreme time constraints. This compressed approach prepared students for the complexities of real-world development projects while building both hard and soft skills essential for career success in high-pressure environments.

The fictional nature of the client, combined with the bootcamp intensity, allowed for controlled introduction of common industry challenges while creating an authentic stress environment. Students experienced the reality of startup development cycles, consulting pressures, and deadline management - all within a safe educational framework where mistakes became valuable learning opportunities.

This unique client simulation + bootcamp format created an unparalleled educational experience that authentically prepared students for the demanding realities of modern software development careers, particularly in startup and consulting environments where rapid delivery under pressure is the norm.