Aller au contenu

« Développement par l'utilisateur final » : différence entre les versions

Un article de Wikipédia, l'encyclopédie libre.
Contenu supprimé Contenu ajouté
Floraud (discuter | contributions)
Floraud (discuter | contributions)
mAucun résumé des modifications
Ligne 9 : Ligne 9 :


==Définition==
==Définition==
Lieberman et Coll proposent la définition suivante<ref>{{Ouvrage|langue=anglais|auteur1=Lieberman, H., Paternò, F., Klann, M., and Wulf, V.|titre=End-User Development: An Emerging Paradigm|passage=ser. Human-Computer Interaction Series, vol. 9, Chapter 1, pp. 1-7|lieu=|éditeur=Springer Netherlands|date=2006|pages totales=|isbn=|lire en ligne=,doi:10.1007/1-4020-5386-X_1}}</ref> :
Lieberman et Coll proposent la définition suivante :


"Le développement de l'utilisateur final peut être défini comme un ensemble de méthodes, de techniques, et d'outils, qui permettent aux utilisateurs de systèmes logiciels (agissant en tant que développeur de logiciels non professionnels) un moment donné de créer, modifier ou étendre un artéfact logiciel."
"Le développement de l'utilisateur final peut être défini comme un ensemble de méthodes, de techniques, et d'outils, qui permettent aux utilisateurs de systèmes logiciels (agissant en tant que développeur de logiciels non professionnels) un moment donné de créer, modifier ou étendre un artéfact logiciel."
Ligne 22 : Ligne 22 :
L'une des évolutions apportées sur l'utilisation des appareils mobiles qui sont venus soutenir les activités de développement des utilisateurs finaux. De plus, les applications bureaux ne peuvent être proposées à nouveau du fait des caractéristiques spécifiques des appareils mobiles mais également interrogés sur le fait que les environnement du DUF ne permettant pax aux utilisateurs finaux de créer des applications de manière opportuniste lorsqu'ils sont en déplacement<ref>{{Lien web|langue=anglais|auteur1=Paternò F., 2013|titre=End User Development: Survey of an Emerging Field for Empowering People|url=https://www.hindawi.com/journals/isrn/2013/532659/|site=hindawi|périodique=|date=|consulté le=}}</ref>.
L'une des évolutions apportées sur l'utilisation des appareils mobiles qui sont venus soutenir les activités de développement des utilisateurs finaux. De plus, les applications bureaux ne peuvent être proposées à nouveau du fait des caractéristiques spécifiques des appareils mobiles mais également interrogés sur le fait que les environnement du DUF ne permettant pax aux utilisateurs finaux de créer des applications de manière opportuniste lorsqu'ils sont en déplacement<ref>{{Lien web|langue=anglais|auteur1=Paternò F., 2013|titre=End User Development: Survey of an Emerging Field for Empowering People|url=https://www.hindawi.com/journals/isrn/2013/532659/|site=hindawi|périodique=|date=|consulté le=}}</ref>.


Plus récemment, l'intérêt pour l'exploitation du DUF pour soutenir le développement des applications Internet des objets s'est accru. Dans ce domaine, la programmation d'action d'actions déclencheurs semblent être une approche prometteuse.
Plus récemment, l'intérêt pour l'exploitation du DUF pour soutenir le développement des applications Internet des objets s'est accru. Dans ce domaine, la programmation d'action d'actions déclencheurs semblent être une approche prometteuse<ref>Ghiani, G., Manca, M., Paternò, F., Santoro, C.: Personalization of Context-dependent Applications through Trigger-Action Rules. ACM Transactions on Computer-Human Interaction, Vol.24, Issue 2, Article N.14, April 2017.</ref>.


Les leçons qui ont pu être retirés des solutions émanant du DUF peuvent avoir une influence significative sur les cycles de vie des logiciels commerciaux, sur les développements internes de l'[[intranet]] et l'[[extranet]], et sur les déploiements de [[Progiciel de gestion intégré|progiciels de gestion intégrés]] (PGI).
Les leçons qui ont pu être retirés des solutions émanant du DUF peuvent avoir une influence significative sur les cycles de vie des logiciels commerciaux, sur les développements internes de l'[[intranet]] et l'[[extranet]], et sur les déploiements de [[Progiciel de gestion intégré|progiciels de gestion intégrés]] (PGI).

Version du 28 novembre 2019 à 15:07

Le Développement par l'Utilisateur Final (DUF) ou la Programmation par l'Utilisateur Final (PUF), fait référence aux activités et aux outils permettant à l'utilisateur final, soit quelqu'un n'étant pas un développeur professionnel, d'utiliser l'informatique, et notamment les outils du DUF afin de créer ou de modifier des artéfacts de logiciel (description de comportements automatisés), ainsi que des objects de données sans connaissance significative des langages de programmation. En 2005, d'après les statistiques du Bureau of Labour Statistics des États-Unis, on compterait plus de 55 millions de développeurs du DUF aux États-Unis, alors qu'il y'a moins de 3 millions de programmeurs professionnels[1]. Le DUF est une discipline (spécialité) dans le domaine de l'informatique et des interactions homme-machine. Il existe diverses approches du DUF. Par exemple, la programmation en langage naturel[2],[3], les tableurs[4], les langages de script -particulièrement dans une suite bureautique ou une application artistique -, la programmation visuelle, la programmation par action déclencheuse et la programmation par l'exemple.

Les tableurs constituent l'outil le plus utilisé du DUF. Étant peu sophistiqués, ils permettent aux utilisateurs d'écrire des programmes avec des données plus ou moins complexes, sans nécessité d'apprendre des langages de programmation de niveau inférieur[5]. En raison de leur utilisation relativement courante, ils permettent d'écrire des programmes qui représentent des modèles de données complexes, tout en les protégeant de la nécessité d'apprendre des langages de programmation de niveau inférieur. Aux États-Unis, on compte seulement 13 millions de programmeurs du DUF qui utilisent des feuilles de calcul[6]. Il existe plusieurs approches de programmation, notamment la programmation par l'exemple (PBE), qui réduit la nécessité d'apprendre les abstractions d'un langage de programmation classique. L'utilisateur introduit plutôt des exemples de résultats ou d'opérations à effectuer sur les données, puis le système PBE en déduit les abstractions correspondant à un programme qui produit cette sortie, et enfin, l'utilisateur peut affiner.

De nouvelles données peuvent alors être introduites dans le programme crée automatiquement, et l'utilisateur peut corriger les erreurs commises par le programme, afin d'améliorer sa définition. Les plateformes de développement à faible code sont également une approche du DUF.

Définition

Lieberman et Coll proposent la définition suivante[7] :

"Le développement de l'utilisateur final peut être défini comme un ensemble de méthodes, de techniques, et d'outils, qui permettent aux utilisateurs de systèmes logiciels (agissant en tant que développeur de logiciels non professionnels) un moment donné de créer, modifier ou étendre un artéfact logiciel."

KO et Coll proposent cette définition :

"Le développement de l'utilisateur final est une programmation visant à obtenir le résultat d'un programme principalement à usage personnel plutôt qu'à usage public."

Les artéfacts définis par les utilisateurs finaux peuvent être des objets décrivant un comportement ou une séquence de contrôle (telles que des demandes de bases de données ou des règles de grammaire), qui peuvent être décrits par certains paradigmes, tels que la programmation par la démonstration, la programmation par l'exemple, la programmation visuelle, ou encore la génération macro-définition. Ils peuvent également être des paramètres qui choisissent entre les comportements prédéfinit alternatifs d'une application. D'autres artefacts du développement de l'utilisateur final peuvent également se référer à la création de contenu généré par l'utilisateur final, comme des annotations pouvant être ou non interprétables par calcul.

Évolutions

L'une des évolutions apportées sur l'utilisation des appareils mobiles qui sont venus soutenir les activités de développement des utilisateurs finaux. De plus, les applications bureaux ne peuvent être proposées à nouveau du fait des caractéristiques spécifiques des appareils mobiles mais également interrogés sur le fait que les environnement du DUF ne permettant pax aux utilisateurs finaux de créer des applications de manière opportuniste lorsqu'ils sont en déplacement[8].

Plus récemment, l'intérêt pour l'exploitation du DUF pour soutenir le développement des applications Internet des objets s'est accru. Dans ce domaine, la programmation d'action d'actions déclencheurs semblent être une approche prometteuse[9].

Les leçons qui ont pu être retirés des solutions émanant du DUF peuvent avoir une influence significative sur les cycles de vie des logiciels commerciaux, sur les développements internes de l'intranet et l'extranet, et sur les déploiements de progiciels de gestion intégrés (PGI).

Application spécifique des plateformes de développement à code faible

Une quarantaine de fournisseurs offrent aujourd'hui des solutions destinées aux utilisateurs finaux pour réduire les efforts de programmation. Ces solutions ne nécessitent pas de programmation traditionnelle, et peuvent être basées sur des fonctionnalités relativement étroites, telles que la gestion de contrat, la gestion de relation-client, le suivi des problèmes et des bogues. Souvent appelées plateformes de développement à faible code, les interactions web guident l'utilisateurs dans le développement d'une application entre 40 et 80 heures. Les développeurs peuvent ainsi échaffauder des parties génériques d'une application et fournir un code modifiable de qualité, pouvant être inséré, modifié et personnalisé, pour répondre aux besoins des utilisateurs finaux. On les qualifie surtout de plateformes de développement à code faible. Les interactions basées sur le web guident un utilisateur pour développer une application de façon relativement rapide.

Modélisation de l'avantage-coûts

Selon Alistair Sutcliffe, le DUF externalise essentiellement ses services de développement à l'utilisateur final. Puisque cela demande des efforts d'apprendre un outil DUF, la motivation des utilisateurs dépend de leur confiance qui va valoriser leur travail, leur permettre de gagner du temps sur leur travail ou d'augmenter leur productivité. Dans ce modèle, les bénéfices apportés aux utilisateurs sont initialement basés sur le marketing, des démonstrations, ainsi que le bouche-à-oreilles. Une fois que la technologie est mise en utilisation, l'expérience vécue grâce aux avantages procurés devient la motivation clé.

Cette étude définit les coûts comme étant des sommes de coûts :

- techniques : le prix et la technologie de son installation

- de formation : le temps pris pour comprendre la technologie

- de développement : les frais de développement liés à l'utilisation de la technologie

- d'essais et de corrections : le temps pris pour vérifier le système

Les deux premiers coûts sont encourus lors de l'acquisition, alors que les deux derniers sont encourus chaque fois que l'application est développée. Les bénéfices (qui peuvent être perçus ou réels) sont vus comme :

- la fonctionnalité développée par la technologie

- la flexibilité dans les réponses aux besoins

- la facilité d'utilisation des applications produites

- la qualité générale des applications produites

Collaborations dans le Développement par l'Utilisateur Final

Beaucoup d'utilisateurs finaux des activités de développement sont collaboratifs par nature, incluant la collaboration entre développeurs professionnels et développeurs du DUF, et la collaboration au sein du DUF.

Le développement mutuel est une technique par laquelle des développeurs professionnels et des développeurs de l'utilisateur final travaillent ensemble dans la création de solutions logicielles. Dans le développement mutuel, les développeurs professionnels "conceptualisent" souvent le système, et procurent les outils pour permettre à ceux ayant des problèmes, de créer une solution convenable à tout moment pour leurs besoins, objectifs, et ceux du DUF peuvent souvent stimuler la formalisation ad hoc des modifications par les utilisateurs finaux dans les artéfacts du logiciel, transformant les solutions développées par l'utilisateur en produit aux caractéristiques commerciales, ayant un impact incontestable sur les solutions locales.

Au sein de ces collaborations, de nombreuses approches telles que Software Shaping Workshop, sont proposées pour faire un pont entre les développeurs professionnels et ceux du DUF. Ces approches fournissent souvent une certaine translucidité selon le modèle de translucidité sociale, permettant à chaque collaborateur d'être averti par des changements effectués par les autres, et d'être tenus responsables de ses actions, pour des raisons de sensibilisation.

Outre les collaborations sur le paramétrage des plateformes telles que GitHub, qui sont principalement utilisés par des développeurs experts, en raison de la significativité de leur apprentissage. Les collaborations du DUF se déroulent souvent sur des plateformes Wiki, où les artéfacts des logiciels créés sont partagés. Le DUF est aussi souvent utilisé pour créer des scripts automatiques ou des tutoriels interactifs, afin de partager la connaissance technique. Dans de telles applications, l'utilisateur peut créer des scripts pour les tâches utilisant un langage pseudo-naturel où vient une programmation de la démonstration. Les utilisateurs peuvent choisir de mettre en ligne le script dans un référentiel de script, type Wiki. Sur ce Wiki, les utilisateurs peuvent consulter les scripts disponibles, et étendre ceux déjà existants pour assister les paramètres additionnels, pour manier les conditions additionnelles, ou pour opérer sur des objects additionnels.

Les communautés en ligne et hors ligne des développeurs de l'utilisateur final ont également été formés, de manière à ce qu'ils puissent résoudre, de façon collaborative, les problèmes du DUF relatifs aux intérêts partagés ou aux bénéfices mutuels. Dans de telles communiqués, les experts locaux apportent leur expérience, et leurs conseils. Les membres de la communauté fournissent également un appui social à chacun dans la construction collaborative du logiciel.

Critiques

Les commentateurs ont été préoccupés par le fait que les utilisateurs finaux ne comprennent pas comment tester et sécuriser leurs applications. Carren Harrison, professeur de sciences informatiques à l'Université d'État de Portland, a écrit (traduit de l'anglais) :

" C'est tout bonement incompréhensible que nous nous attendions à de la sécurité...de la plus grande majorité des applications logicielles diffusées, quand elle est écrite en petit, s'il y'en a une, connaissance de l'acceptation des conditions générales d'utilisation, telles qu'une précision avant de chiffrer, un test systématique, etc. Combien de X, pour des livres destinés à des idiots finis (où "X" est le langage de chiffrage favori), sont en vente actuellement ? Au départ, cette tendance m'amusait, mais récemment, je suis devenu gêné en pensant aux endroits où amateurs appliquaient cette toute nouvelle connaissance."

Ce point de vue suppose que tous les utilisateurs finaux soient également naïvement lorsqu'il en vient à comprendre le logiciel, bien que Pilskin et Shoval clament que ce n'est pas le cas. Ces utilisateurs finaux sophistiqués sont capables de pratiquer le DUF. Toutefois, comparés à des programmeurs experts, les programmeurs d'utilisateurs finaux ont rarement le temps ou un intérêt pour la systématicité et la discipline dans le développement des logiciels d'ingénieurie, ce qui assure la qualité particulièrement challengeante de l'artéfact du logiciel, produit par le DUF.

En réponse à cela, l'étude de l'ingénierie logiciel d'utilisateur final a émergé . Elle est touchée par des problèmes au-delà du DUF, selon lesquels les utilisateurs finaux sont devenus motivés à considérer les problèmes tels que la ré-utilisabilité, la sécurité, la vérifiabilité, lors du développement des solutions.

Un scénario alternatif serait que les utilisateurs finaux ou leurs consultants emploient des outils de programmation déclarative qui aident rigoureusement à la gestion et à la sécurité des règles à la charge de la performance et de la flexibilité; les outils créés utilisant le DUF vont typiquement avoir des efficiences moins bonnes que celles créées par les programmeurs professionnels, qui sont, elles, réglementaires. Toutefois, ce qui sépare la fonctionnalité de l'efficience est la séparation des préoccupations, qui peut amener à une situation où les utilisateurs finaux vont compléter l'analyse des exigences et le prototypage logiciel, sans intervention des analystes opérationnels. Ainsi, les utilisateurs vont définir les fonctions requises avant que ces experts n'aient l'occasion de considérer les limites d'une application ou d'une framework. L'appui de la haute direction pour les initiatives de l'utilisateur final dépend de son attitude, existante ou potentielle, vis-à-vis des vendeurs uniques (enfermement propriétaire). ("vendor lock-in")

Références

  1. Erwig, Martin., Schürr, Andreas. et IEEE Computer Society. Technical Committee on Multimedia Computing., 2005 IEEE Symposium on Visual Languages and Human Centric Computing : proceedings : 20-24 September 2005, Dallas, Texas, IEEE Computer Society, (ISBN 0-7695-2443-5 et 978-0-7695-2443-6, OCLC 62123882, lire en ligne)
  2. (en) Little, Greg, and Robert C. Miller, « Translating keyword commands into executable code », Proceedings of the 19th annual ACM symposium on User interface software and technology, acm, 2006. (consulté le )
  3. (en) Bruckman, Amy, and Elizabeth Edwards, « "Should we leverage natural-language knowledge? An analysis of user errors in a natural-language-style programming language." », proceedings of the sigchi conference on human factors in computing systems. acm, 1999. apa
  4. (en) Burnett, Margaret M.; Scaffidi, Christopher, « End-User Development », sur Interaction-Design.org. at "Encyclopedia of Human-Computer Interaction".
  5. (en) Abraham, R.; Burnett, M; Erwig, M (2009), "Spreadsheet programming". Wiley Encyclopedia of Computer Science and Engineering., pp. 1–10.
  6. (en) Scaffidi, C., Shaw, M. & Myers, B., 2005, « Estimating the Numbers of End Users and End User Programmers »
  7. (en) Lieberman, H., Paternò, F., Klann, M., and Wulf, V., End-User Development: An Emerging Paradigm, Springer Netherlands, (,doi:10.1007/1-4020-5386-X_1), ser. Human-Computer Interaction Series, vol. 9, Chapter 1, pp. 1-7
  8. (en) Paternò F., 2013, « End User Development: Survey of an Emerging Field for Empowering People », sur hindawi
  9. Ghiani, G., Manca, M., Paternò, F., Santoro, C.: Personalization of Context-dependent Applications through Trigger-Action Rules. ACM Transactions on Computer-Human Interaction, Vol.24, Issue 2, Article N.14, April 2017.