1 / 104

SEG 3501- Module 2 Techniques d’élicitation

SEG 3501- Module 2 Techniques d’élicitation. Paroles sages…. « Je sais que vous croyez que vous avez compris ce que vous pensez que j'ai dit, mais je ne suis pas sûr que vous vous rendez compte que ce que vous avez entendu n'est pas ce que je voulais dire… »

neil-weaver
Download Presentation

SEG 3501- Module 2 Techniques d’élicitation

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SEG 3501- Module 2Techniques d’élicitation

  2. Paroles sages… « Je sais que vous croyez que vous avez compris ce que vous pensez que j'ai dit, mais je ne suis pas sûr que vous vous rendez compte que ce que vous avez entendu n'est pas ce que je voulais dire… » Robert McCloskey,Porte-parole, US State Department Module 2 : Élicitation des exigences

  3. Techniques d’élicitation • Analyse de systèmes existants • Étude de documentation existante • Observation de tâches • Ethnographie • Analyse de discours • Entrevues • Questionnaires • Remue-méninge • Sessions Joint Application Design (JAD) • Ateliers de domaine ou de conception • Prototypage • Système pilote • Cas d’usage et scénarios • Analyse de risques • Voir aussi: http://www.slideshare.net/hayriyesakarya/elicitation-procedures-10618009 Module 2 : Élicitation des exigences

  4. Comparaison de quelques approches Voiraussicette intro et comparison de Ying Chen : http://www.umsl.edu/~ycnx6/ Module 2 : Élicitation des exigences

  5. Analyse desystèmes existants Module 2 : Élicitation des exigences

  6. Analyse de systèmes existants • Lors de la conception d’une version « nouvelle et améliorée » d’un système existant. • Important de savoir: • Ce qui est utilisé, ce qui ne l’est pas, ce qui manque • Ce qui fonctionne, ce qui ne fonctionne pas • Comment le système est utilisé, comment était-il supposé être utilisé, de quelle nouvelle façons voulons-nous qu’il soit utilisé Module 2 : Élicitation des exigences

  7. Analyse de systèmes existants • Pourquoi analyser un système existant? • Les utilisateurs peuvent perdre leurs illusions face à un nouveau système s’il est trop différent ou s’il ne fait pas ce qu’ils veulent (risque de nostalgie…) • Pour prendre en considération les vraies habitudes des utilisateurs, les activités fréquentes, et l’importance relative des tâches et services • Pour découvrir des améliorations possibles • Pour découvrir quelles fonctionnalités patrimoniales (legacy) doivent rester ou partir. Module 2 : Élicitation des exigences

  8. Analyse de systèmes existants • Étudiez la documentation disponible: guides d’utilisation, doc de conception, mémos internes, historique des changements, etc. • Bien entendu, la doc est souvent périmée, mal écrite, incorrecte… mais c’est un début! • Observations: allez sur le terrain et observez les « spécialistes dans la brume »… • Idéalement, vous êtes un observateur silencieux, du moins au début. Sinon, vous risquez d’avoir une vision biaisée de ce qui est généralement fait. • Plus tard, vous pouvez poser des questions OU passer des gens en entrevue OU utiliser des questionnaires… Module 2 : Élicitation des exigences

  9. Analyse de systèmes existants 3. Questionnaires: basés sur ce que vous savez maintenant. Utiles pour: • Répondre aux questions demandant une comparaison ou une corroboration (confirmation) • Obtenir certaines statistiques d’un grand nombre d’utilisateurs, par exemple: • « À quelle fréquence utilisez-vous la fonction X? » • « Quels sont les trois fonctionnalités que vous aimeriez le plus avoir? » 4. Entrevues: après s’être fait une bonne idée de ce qu’il y a à faire, quelques questions méritent probablement des réponses détaillées. • Vous ne perdrez pas votre temps ni celui des autres, mais le tout demande du travail et de la préparation! Module 2 : Élicitation des exigences

  10. Analyseethnographique Module 2 : Élicitation des exigences

  11. Analyse ethnographique • Veut dire littéralement « écrire la culture » • Cherche essentiellement à découvrir les facteurs humains/sociaux d’un système. • Des études ont démontré que le travail est souvent plus riche et complexe que ce qui est suggéré par des modèles simples dérivés d’entrevues. • Il existe des scientifiques sociaux spécialement formés dans l’observation et l’analyse du travail • La découverte se fait par observation et analyse; les travailleurs ne se font pas demander d’expliquer ce qu’ils font. • Façon instructive de découvrir ces facteurs • Par exemple, que fait un technicien nucléaire pendant la journée? À quoi ressemble son espace de travail? • Façon un peu moins utile pour les facteurs politiques • Les travailleurs sont conscients de la présence d’un observateur extérieur. Module 2 : Élicitation des exigences

  12. « Ethnographie focalisée » [Sommerville, chap. 5] • Sommervilleet al. étaient impliqués dans un projet où ils devaient éliciter les exigences d’un système de contrôle de trafic aérien. Ils ont observé les contrôleurs aériens en action avec un système existant. • Ils ont fait quelques observations surprenantes: • Les contrôleurs placent souvent des avions sur des chemins potentiellement conflictuels avec l’intention de les corriger plus tard • Le système actuel génère une alarme audible quand il y a un conflit possible • Les contrôleurs ferment ces alarmes parce qu’ils étaient importunés par ces avertissements factices constants… • Morale incorrecte: • Les contrôleurs n’aiment pas les alarmes audibles parce qu’ils les ferment. • Observation plus juste: • Les contrôleurs n’aiment pas être traités comme des idiots! • Trop de fausses alarmes (en général: des false positives) Module 2 : Élicitation des exigences

  13. Matrice de confusion ? [http://en.wikipedia.org/wiki/Sensitivity_and_specificity] Module 2 : Élicitation des exigences

  14. Ethnographie: En résumé • Les facteurs sociaux, humains, et politiques sont souvent très importants. • Plus d’études et d’exemples réels sont nécessaires! • Ce n’est pas toujours très scientifique, mais il faut bien adresser ces problèmes d’une façon quelconque… • Voilà un autre exemple du manque d’attention donné au côté humain/social en informatique. Module 2 : Élicitation des exigences

  15. Entrevues Module 2 : Élicitation des exigences

  16. Entrevue • Demande de la préparation et une bonne gestion de la communication • Il faut atteindre ses objectifs d’entrevue sans pour autant prévenir l’exploration de pistes prometteuses. • Idéalement, passer en entrevue autant de parties prenantes que possible • Clé: poser des questions orientées vers le problème • L’emphase prématuré sur des détails ou des solutions risque de faire manquer les vraies exigences utilisateurs. Par exemple, comparez: • Désirez-vous Word 2010, Excel 2010, ou les deux? • Désirez-vous faire du traitement de texte, des calculs, ou les deux Module 2 : Élicitation des exigences

  17. Entrevue: Objectifs et processus • Trois objectifs principaux: • Découvrir l’information de façon précise et efficace • Documenter l’information servant à la modélisation et l’analyse des exigences • Rassurer l’interlocuteur que sa compréhension du sujet a été entendue, explorée, et prise en considération • Processus • Planification et préparation • Session d’entrevue • Consolidation de l’information • Suivi • Plusieurs stratégies de questionnement Module 2 : Élicitation des exigences

  18. Entrevue: Planification et préparation • Définir les objectifs de l’entrevue • Acquérir le bagage de connaissances nécessaires pour mener une entrevue efficace • Sur le domaine (vocabulaire, problèmes…), mais aussi sur l’interlocuteur (tâches, attitude…) • Préparer les questions à l’avance, par sujet • Organiser votre environnement d’entrevue • Déterminer comment les notes d’élicitation seront prises (manuellement, audio, vidéo, par qui, etc.) Module 2 : Élicitation des exigences

  19. Entrevue: Session • Mettez votre interlocuteur à l’aise et en confiance • Soyez à l’écoute, ajustez-vous à votre interlocuteur • Vous avez vos objectifs • Soyez tenace, mais flexible! • Passez en entrevue plusieurs personnes à la fois • Création de synergie! Les interlocuteurs vont commenter et compléter les commentaires des autres. • La réponse du groupe pourrait être meilleure que la somme des réponses individuelles! • Exemple: « Contez-moi 10 blagues chacun » • Vous risqueriez de geler sans pouvoir en dire une seule… • En groupe nous pourrions en sortir des centaines (la plupart vous étant connues), les blagues évoquées stimulant votre mémoire et vous permettant de vous rappeler d’autres blagues. • Les gens connaissent bien des blagues mais peuvent difficilement s’en souvenir lorsqu’on leur demande. • Détectez les aspects politiques • Peuvent influencer le dit et le non dit… Module 2 : Élicitation des exigences

  20. Entrevue: Notes d’élicitation • Il faut les réviser et les compléter après l’entrevue • Important de le faire assez rapidement, car la mémoire oublie vite! • Identifier les incohérences et les reprendre dans une autre entrevue si nécessaire • Ou par courriel… • Conservez bien tous les schémas, diagrammes, modèles générés lors des discussions • Vous êtes en d’apprentissage, donc soyez précis • Faites attention à la terminologie • Utilisez celle du client • Identifiez les synonymes, en choisir un seul par concept • Définissez un glossaire au besoin • Remerciez les participants (p.ex., par courriel) et gardez la porte ouverte à des communications ultérieures Module 2 : Élicitation des exigences

  21. Entrevue: Erreurs typiques • Ne pas parler à toutes les bonnes personnes • Besoin de tous les points de vue pertinents • Poser des questions directes trop tôt • Pour un système de transport, avoir demandé « De combien de chevaux-vapeur avez-vous besoin » (direct) au lieu de « Combien de passagers? Sur quelle distance? En combien de temps? » (indirect) • Ne faire des entrevue qu’avec une seule personne à la fois • Dans les entrevues de groupe, laisser une personne dominer la discussion • Supposer que les besoins mentionnés sont corrects! • Souvent, les gens ne savent pas quoi manger et demandent « la même chose qu’elle »! • Besoin de séparer ce qui est demandé de ce dont ils ont besoin Module 2 : Élicitation des exigences

  22. Entrevue: Erreurs typiques • N’essayez pas de convaincre vos intervenants que vous êtes intelligent ! Ce n’est pas le bon endroit. • Démontrez plutôt à chaque opportunité que vous pensez que l’intervenant est intelligent. • Contrastez ces deux exemples: Mes ascenseurs sont trop lents. Je vois. Expliquez-moi pourquoi vous sentez qu’ils sont lents. Je ne pense pas.Je crois que vous avez un problème de débit, pas de vitesse. Alan M. Davis – Just enough requirements management, 2006

  23. Entrevue: Questions de démarrage • Ces questions sont indépendantes du contexte et cherchent à réduire la portée [Weinberg] • Identifier le client, les buts, les bénéfices • Qui est (réellement) derrière la demande pour ce système? • Qui va l’utiliser? Volontairement? Différents types d’utilisateurs? • Quel est le bénéfice (économique) potentiel d’une solution qui fonctionne? • Y a-t-il une solution existante disponible (d’une autre source)? Module 2 : Élicitation des exigences

  24. Entrevue: Questions de démarrage • Quand en avez-vous besoin? • Pouvez-vous prioriser vos besoins? • Quelles sont vos contraintes de temps, de budget, de ressources (humaines ou autres)? • Quelles sont les livrables/échéances attendues? Module 2 : Élicitation des exigences

  25. Entrevue: Questions de démarrage • Questions de calibrage (lors de la planification) • Êtes-vous la bonne personne pour répondre à ces questions? • Vos réponses sont-elles « officielles »? Sinon, qui pourrait les donner? • Ces questions sont-elles pertinentes au problème tel que vous le concevez? • Y a-t-il trop de questions? Sont-elles au bon niveau de détail? • Y a-t-il une autre personne à qui je devrais parler? • Y a-t-il d’autres questions que je devrais vous poser? • Avez-vous des questions? Module 2 : Élicitation des exigences

  26. Entrevue: Questions de démarrage • Questions qui ne peuvent pas être demandées directement… allez-y indirectement! • Êtes-vous opposé au système? • Tentez-vous de prévenir ou de retarder l’arrivée du système? • Tentez-vous de vous créer un rôle plus important? • Vous sentez-vous menacé par le système proposé? • Tentez-vous de préserver votre emploi (ou celui d’un collègue)? Module 2 : Élicitation des exigences

  27. Entrevue: Questions spécifiques • Aspects fonctionnels • Qu’est-ce que le système va faire? Quand le fera-t-il? • Y a-t-il plusieurs modes d’opération? • Quels types de calculs et de transformations de données doivent être faites? • Quelles-sont les réponses appropriées à un stimulus? • Quel devrait-être les formats de données en entrée et en sortie? • Y a-t-il des données qui doivent être préservées pour une période de temps? Module 2 : Élicitation des exigences

  28. Entrevue: Questions spécifiques • Contraintes de conception • Environnement physique • Où mettre l’équipement? Un ou plusieurs endroits? • Restrictions quant à la température, l’humidité, la taille, la consommation, le refroidissement…? • Contraintes sur les langages de programmation à cause de composant existants? • Interfaces • Les données viennent de un ou plusieurs autres systèmes? • Les sorties vont vers un ou plusieurs autres systèmes? • Des restrictions/directives sur le formatage et l’emmagasinage des données? • Normes et standards • Y a-t-il des normes ou standards pertinents pour le système? • Lois, politiques et règlements • Y a-t-il des lois, politiques ou règlements applicables? Module 2 : Élicitation des exigences

  29. Entrevue: Questions spécifiques • Contraintes de performance • Vitesse d’exécution, temps de réponse, débit, utilisation de ressources? • Quantité de données à traiter/emmagasiner? • Fréquences d’envois, de traitements, et autres utilisations? • Contraintes de sécurité • L’accès au système ou à l’information doit-il être contrôlé? • Les données d’un utilisateur doivent-elles être isolées des autres utilisateur? • Les programmes d’un utilisateur doivent-ils être isolés par rapport aux autres programmes sur un système d’exploitation? • Devrait-on prendre des précautions contre le vol, les attaques, et le vandalisme? Module 2 : Élicitation des exigences

  30. Entrevue: Questions spécifiques • Fiabilité et disponibilité • Le système doit-il détecter et isoler les fautes? • Quel devrait-être le temps moyen permis entre pannes, et le temps maximum de reprise après panne? • Les copies de sûreté doivent être prises à quelle fréquence, en combien de copies, et placées dans combien d’endroits? • Précautions contre le feu, l’eau, les pannes…? • Vitesse d’exécution, temps de réponse, débit, utilisation de ressources? • Maintenabilité • Maintenance pour corriger les erreurs ou aussi pour améliorer le système? • De quelle façon le système pourra-t-il évoluer? • Avec combien d’efforts un nouveau service pourra-t-il être ajouté? • Avec combien d’efforts le système pourra-t-il être porté sur une plateforme différente? Module 2 : Élicitation des exigences

  31. Entrevue: Questions spécifiques • Précision et exactitude • Avec quelle degré d’exactitude et avec quelle précision les calculs devront-ils être effectués? • Convivialité et facteurs humains • Quelle type de formation sera requis pour chaque type d’utilisateurs? • Quel degré de simplicité est-il désirable d’avoir pour qu’un utilisateur puisse comprendre et utiliser le système? • À quel point devra-t-il être difficile de mal utiliser le système? Module 2 : Élicitation des exigences

  32. Encore sur les entrevues • Attention aux questions sans réponses… • Comment attachez-vous vos lacets? • Voir aussi cet intéressant vidéo: • http://www.youtube.com/watch?v=2WBef84bodc Module 2 : Élicitation des exigences

  33. “Ignorance is a bliss” [The Matrix, 1999] • Selon Dan Berry, l’ignorance d’un domaine est une bonne chose! • L’ignorance (et non la stupidité!) permet d’exposer certaines hypothèses et certains faits implicites. • Berry suggère même qu’un jour les ingénieurs en exigences vont annoncer leurs domaines d’ignorance (plutôt que leurs domaines d’expertise) pour se trouver des emplois! • En fait, une équipe composée d’experts et d’ignorants est une bonne chose Ali Niknafs, Daniel M. Berry: An industrial case study of the impact of domain ignorance on the effectiveness of requirements idea generation during requirements elicitation. RE 2013: 279-283 Module 2 : Élicitation des exigences

  34. Questionnaires Module 2 : Élicitation des exigences

  35. Questionnaires et sondages • Quelques avantages: • Intéressants pour rejoindre plusieurs personnes • Asynchrones, à distance, et peuvent être courts • Peu coûteux • Répondants peuvent être anonymes • Défis: • Temps de préparation! • Choix de questions ouvertes et fermées (peu flexibles) • Choix de réponses et échelles (nominales, intervalles, Likert…); éviter les tendances centristes! • Statistiques significatives (analyse) • Validité des questions (biais, ambiguïtés) • Répétition et ordre des questions • Déterminer les bons participants à inviter (biais, fraude) • S’assurer que les personnes répondent à tout (épuisement, pas d’intérêt)! Module 2 : Élicitation des exigences

  36. Types de questions à considérer • Informations démographiques (de classification) • Âge, pays, emploi… Pour analyse sous plusieurs angles • Attention aux risques de ré-identification si le sondage est anonyme • Questions attitudinales • Que pensez-vous de…? Êtes-vous en accord avec…? • Échelle de 4-6 valeurs (sans neutre) ou 5-7 valeurs (avec neutre) • Fortement en accord • Un peu en accord • Ni en accord ni en désaccord (indécis) • Un peu en désaccord • Fortement en désaccord • Questions supplémentaires ouvertes • Peuvent être instructives, mais qualitatives • Questions optionnelles / alternatives, par population • Questions redondantes, pour robustesse… Module 2 : Élicitation des exigences

  37. Analyse à considérer… à l’avance! • Le sondage sera-t-il répété (avant/après pour comparaison)? • Prévoir le type d’analyse (statistique), p.ex.: • Signification statistique? http://en.wikipedia.org/wiki/Statistical_significance • Testez votre questionnaire et votre analyse sur un petit groupe! • Voir aussi cet important vidéo sur les sondages et questionnaires: http://www.youtube.com/watch?v=rSwVZJT9j1c Module 2 : Élicitation des exigences

  38. Remue-méninges Module 2 : Élicitation des exigences

  39. Remue-méninges • Pour inventer une meilleure façon de faire, essayez une séance de remue-méninges (brainstorming)! • Élément de surprise: il faut que les intervenant voient quelque chose qu’il ont toujours voulu sans le savoir! • Cette approche est très utile très tôt dans le processus d’I.E.: • Quand vous vous aventurez en terre inconnue • Quand vous avez peu d’expérience • Quand l’innovation est importante Module 2 : Élicitation des exigences

  40. Remue-méninges • Quand vous n’avez pas d’idée, ou encore trop d’idées, assoyez-vous et faites remuer tout ça… mais en suivant certaines règles de bases. • Cette approche est composée de deux activités principales: • Génération d’idées (la tempête) • Élagage (éliminations) d’idées pour en arriver à une liste finale (le calme) • Qui participe? • Experts du domaine, développeurs, utilisateurs… à peu près n’importe quelle partie prenante. • Souvent, les compagnies de développement de logiciel vont avoir une « personne à idées » qui va présider ou participer à ce genre de séance, sans aller plus loin dans le projet. Module 2 : Élicitation des exigences

  41. Remue-méninges • Vous devez d’abord désigner deux personnes différentes qui vont jouer des rôles particuliers: • Scribe • Son rôle est d’écrire toutes les idées. • Peu aussi contribuer aux idées. • Peut demander des questions de clarification (dans la partie I), mais sans critiquer. • Modérateur/leaderOn rencontre ici deux écoles de pensée: • Agent de circulation: Va imposer certaines règles pour maintenir l’ordre, sans vraiment aller plus loin. • Agent provocateur: Joue un plus grand rôle de leader, arrive préparé avec des idées et les suggère pour démarrer la discussion. Peut aussi chercher des variations ou des combinaisons d’autres suggestions. Ce n’est cependant pas une personne-je-sais-tout! Agit aussi comme agent de circulation. Module 2 : Élicitation des exigences

  42. Partie I: la tempête • Son but est de générer autant d’idées que possible. • Choisissez un thème ou un titre provocateur. • On cherche ici la quantité, et non nécessairement la qualité. • Chercher à combiner certaines idées déjà mentionnées. • Aucune critique ni aucun débat n’est permis ici! One ne veut pas freiner les participants. • Les participants doivent comprendre que rien de ce qu’ils disent ne pourra par la suite être retenu contre eux. • Le scribe prend note de toutes les idées où tous peuvent voir (tableau, feuilles affichées sur un mur, etc.) • « Wild is good »! Sentez-vous à l’aise d’être glorieusement dans les patates! • Les participants ne doivent PAS s’autocensurer ni prendre trop de temps pour considérer si une idée est pratique ou non. Laissez-vous aller! • La liste originale ne doit pas circuler hors de la réunion. Module 2 : Élicitation des exigences

  43. Partie II: le calme • Faites le tour de la liste et expliquez les idées plus clairement. • Catégorisez-les en « peut-être » et « non » par une méthode de consensus définie préalablement. • Consensus informel, 50% + 1 vs « majorité claire », encan Hollandais, qui a droit de veto, … • http://en.wikipedia.org/wiki/Dutch_auction • Attention au temps et aux gens! • Les réunions (surtout si elles sont de nature créative ou technique) tendent à perdre de leur efficacité après 90-120 minutes. Prenez des pauses et recommencez plus tard. • Attention de ne pas (trop) froisser de participants! • Réviser, consolidez, combinez, clarifiez, améliorez • Triez la liste par priorités d’une façon quelconque, et sélectionnez l’idée gagnante. Module 2 : Élicitation des exigences

  44. Élagage • Il y a quelques façon courantes d’éliminer certaines idées. Par exemple: • Vote avec seuil • Mélange d’idées • Budget Module 2 : Élicitation des exigences

  45. Élagage: vote avec seuil • Chaque personne a droit de voter jusqu’à n fois. • Conservez les idées qui ont plus de m votes. • Utilisez des tours de scrutins multiple où n est de plus en plus petit. Module 2 : Élicitation des exigences

  46. Élagage: mélange d’idées • Appliquez des critères d’acceptation (qui sont souvent ignorés dans la première étape) aux idées. • Triez les idées acceptées • Sélectionnez les k meilleures pour un vote. Module 2 : Élicitation des exigences

  47. Élagage: approche par budget • Donnez aux participants X$ à dépenser sur les idées • Que pouvez-vous vous offrir? Module 2 : Élicitation des exigences

  48. Remue-méninges • Avec beaucoup de bonnes idées, outrageuses et, voire, farfelues, le remue-méninges peut être vraiment très amusant! • Le plaisir stimule et motive les gens à bien performer! Module 2 : Élicitation des exigences

  49. Remue-méninges - outils • Peut être fait par courriel, mais un bon modérateur/leader est nécessaire pour • Prévenir les flingueurs (flamers) d’entrer en jeu • Prévenir la concurrence critique (race conditions); le courriel est un mécanisme de communication asynchrone. • Faire attention à ne pas trop entrer dans les détails. • Des outils de collaboration sont aussi envisageables • TWiki et bien d’autres plus appropriés tels que BrainStorm et IdeaFisher Module 2 : Élicitation des exigences

  50. Sessions JAD Module 2 : Élicitation des exigences

More Related