DEV NOTE

Comment estimer un projet (temps, coûts, complexité)

Une méthode pour découper un projet freelance, expliciter les hypothèses et présenter une estimation compréhensible.

Pourquoi bien estimer ?

Sous-estimer un projet = stress, pertes, burnout. Sur-estimer = perdre le client. L'objectif : estimer réalistiquement avec marge sécurité.
"Mieux vaut annoncer trop et livrer plus tôt que l'inverse."

Méthode d'estimation

Découper le projet en tâches

Utilise WBS (Work Breakdown Structure) :
Projet E-commerce
├─ Frontend
│  ├─ Authentification (login, signup, reset pwd)
│  ├─ Catalogue produits (liste, détail, filtres)
│  ├─ Panier + Checkout
│  └─ Interface admin (gestion produits, commandes)
├─ Backend
│  ├─ API REST (CRUD produits, users, orders)
│  ├─ Authentification JWT
│  ├─ Intégration Stripe payment
│  └─ Dashboard analytics
└─ DevOps
   ├─ Setup CI/CD (GitHub Actions)
   ├─ Déploiement Vercel/Railway
   └─ Monitoring (Sentry)

Estimer chaque tâche

Techniques : Analogie :
  • Compare avec projets similaires passés
  • "Authentification JWT : 1,5j la dernière fois"
Story Points (méthode Agile) :
  • Évalue complexité relative (1, 2, 3, 5, 8, 13)
  • Convertis en temps (1 point = 0,5 jour)
Estimation 3-points :
Temps optimiste : 2j
Temps probable : 3j
Temps pessimiste : 5j
→ Estimation = (2 + 4×3 + 5) / 6 = 3,2j

Évaluer la complexité

Facteurs multiplicateurs :
  • Nouveauté techno : première fois React → +30%
  • Intégrations externes : API tierces complexes → +20-40%
  • UI/UX exigeante : animations custom → +20%
  • Sécurité critique : paiements, données sensibles → +15%
  • Client indécis : changements fréquents → +25%

Ajouter marge de sécurité

Règles :
  • Projet connu (techno maîtrisée) : +15-20%
  • Projet standard : +25-30%
  • Projet complexe/nouveau : +40-50%
La marge couvre : bugs imprévus, révisions client, optimisations.

Convertir en budget

Temps total × TJM = Budget HT

Exemple :
12 jours × 450€ = 5 400€ HT

Exemple complet : Projet SaaS MVP

| Module | Tâches | Temps brut | Complexité | Temps ajusté | Coût (TJM 450€) | |--------|--------|------------|------------|--------------|------------------| | Auth | Login, Signup, Reset pwd, JWT | 2j | Standard | 2,5j | 1 125€ | | Dashboard | Layout, Charts, Filters | 3j | UI exigeante | 4j | 1 800€ | | API | CRUD users, data, permissions | 3j | Standard | 3,5j | 1 575€ | | Paiement | Stripe integration, webhooks | 2j | Critique | 3j | 1 350€ | | Admin | Gestion users, analytics | 2j | Standard | 2,5j | 1 125€ | | Tests | Unit tests, E2E Playwright | 2j | - | 2j | 900€ | | Deploy | CI/CD, Vercel, monitoring | 1j | - | 1,5j | 675€ | | **Total** | | **15j** | **+25%** | **19j** | **8 550€** | Budget proposé client : 9 000€ HT (arrondi commercial).

Pièges à éviter

  • Oublier les imprévus : toujours marge +20% minimum
  • Sous-estimer communication : réunions, emails = 10-15% temps
  • Négliger tests : compte 15-20% temps dev pour tests
  • Scope flou : cadre toujours périmètre ("3 pages max")
  • Optimisme naïf : "ça ira vite" → spoiler : non

Outils estimation

  • Notion : database tâches + formules calcul auto
  • Spreadsheet : Google Sheets templates
  • Toggl Plan : planning visuel + estimation
  • Harvest Forecast : prévisionnel projet
Template Notion estimation :
[ ] Découpage WBS
[ ] Estimation temps brut
[ ] Facteurs complexité identifiés
[ ] Marge sécurité appliquée (+X%)
[ ] Conversion budget (TJM × jours)
[ ] Validation avec historique projets similaires

Améliorer ses estimations

  • Tracker temps réel : compare estimé vs réel (Toggl)
  • Post-mortem : analyse écarts après projet
  • Base données historique : garde traces projets passés
  • Spécialisation : même stack → estimations précises

Communiquer l'estimation

Donne fourchette : "Entre 15 et 18 jours" (pas "15,7j") Explique hypothèses : "Sur base cahier charges actuel" Préviens changements : "Toute modif scope = réestimation" Propose options : MVP (8j) vs Complet (18j)

Conclusion

L'estimation s'améliore avec l'expérience. Track ton temps, analyse tes écarts, ajuste. Une bonne estimation = projet rentable + client satisfait.