Publié par Adam Alami, PhD Fellow, IT University of Copenhagen (traduit de l'anglais)
INTRODUCTION
Les exigences non fonctionnelles sont largement représentées dans la littérature. Les définitions et les exemples d'exigences non fonctionnelles ne manquent pas. L'Institut international d'analyse des affaires (IIBA) définit les exigences non fonctionnelles comme suit:
Les exigences non fonctionnelles capturent des conditions qui ne sont pas directement liées au comportement ou à la fonctionnalité de la solution, mais décrivent plutôt les conditions environnementales dans lesquelles la solution doit rester efficace ou les qualités que le système doit posséder. Ils sont également appelés attributs (indicateurs) de qualité ou exigences supplémentaires. Il peut s'agir d'exigences liées à la bande passante, à la vitesse, à la sécurité, à la disponibilité, à l'architecture de l'information et à la présentation de l'interface utilisateur.
Les mots-clés de cette définition ne sont "pas directement liés au comportement ou à la fonctionnalité de la solution". Ce sont soit des «conditions» soit des «qualités».
Conditions : ce sont des restrictions externes ou internes. Les contraintes internes sont les politiques et l'autoréglementation de l'organisation, tandis que les contraintes externes sont les règles gouvernementales, les normes de l'industrie et d'autres paramètres qui déterminent l'environnement commercial.
Qualités : il s'agit d'exigences métier qui ne définissent pas un comportement systémique et ne sont pas liées au processus, mais sont des exigences de qualité de la solution.
Exemples:
i) Conditions
a. Image de marque
b. Confidentialité des données
s Compatibilité PCI;
ii) Qualités
a. La disponibilité
b. Performance.
Même l'analyste commercial le plus expérimenté fait beaucoup d'efforts pour identifier les exigences non fonctionnelles. La raison principale de ces difficultés est que les exigences non fonctionnelles ne sont pas faciles à identifier et qu'il n'y a pas de processus prédéterminé pour leur identification. Pour définir ces exigences, il faut être créatif et penser largement, en dépassant certaines limites!
POURQUOI DES EXIGENCES NON FONCTIONNELLES SONT NÉCESSAIRES
Conformément à tous les types d'exigences, l'omission de l'une ou l'autre exigence peut potentiellement compromettre l'intégrité et l'exhaustivité de la décision. Les exigences fonctionnelles et non fonctionnelles sont étroitement liées par de multiples relations.
Généralement, l'accent est mis sur l'aspect fonctionnel des exigences, et l'importance des exigences non fonctionnelles est souvent sous-estimée.
Pourquoi les exigences non fonctionnelles sont-elles sous-estimées?
1. L'accent est mis sur les exigences fonctionnelles, car elles fournissent des retours tangibles. Les exigences non fonctionnelles contribuent à l'infrastructure et non au comportement du système. L'infrastructure commerciale, qui est intangible, semble insignifiante.
2. L'équipe de prise de décision est récompensée et mesurée en termes de fonctions système, de processus et de comportement. Les utilisateurs professionnels considèrent les exigences non fonctionnelles comme des «exigences informatiques», et le service informatique considère tous les «besoins» comme des besoins commerciaux et non technologiques. La technologie fournit des services et les affaires gèrent les besoins. Au cours de ce processus, l'informatique oublie parfois qu'elle n'a qu'un rôle «consultatif».
Chaque solution atteint son efficacité à partir d'une liste exhaustive d'exigences, collectées à la fois au début et pendant le processus de mise en œuvre. Les exigences peuvent être divisées en deux grandes catégories: substantielles et fondamentales. Les exigences essentielles découlent de leur analogie avec les «exigences fonctionnelles» et semblent être directement liées à la solution. Cependant, les exigences dites fondamentales peuvent ne pas être directement liées à la solution, mais elles sont fondamentales pour créer un environnement durable dans lequel les exigences fonctionnelles essentielles sont maintenues. Par conséquent, ces «exigences non fonctionnelles» constituent la structure et l'infrastructure qui prennent en charge les solutions système.
QU'EST-CE QUE L'EVOLUTIVITÉ?
L'évolutivité est la capacité d'un système ou d'un processus à gérer un volume accru d'opérations sans restrictions ni goulots d'étranglement structurels. Chaque modèle d'entreprise est d'une importance primordiale pour générer une entreprise, ce qui entraîne une augmentation du volume de transactions et une augmentation subséquente des activités d'exploitation. La mise à l'échelle des opérations pour gérer l'expansion de l'activité commerciale est inhérente et intégrée dans la conception du système. L'évolutivité peut être divisée en deux catégories: physique et intangible.
1. Évolutivité physique
Il fait référence aux paramètres qui sont essentiels pour garantir qu'une organisation est équipée d'outils (éventuellement en option) pour gérer un nombre croissant d'opérations. Cela implique une stabilité physique. Cela indique la présence de facteurs nécessaires du point de vue des composants physiques du processus pour assurer la stabilité (c'est-à-dire le stockage des données, la bande passante du réseau, le matériel, etc.).
Que signifie être durable? Il répond aux exigences actuelles sans compromettre la capacité de répondre aux besoins futurs. Par exemple, si les caractéristiques d'une solution réseau répondent aux besoins actuels, elles devraient également pouvoir répondre aux besoins futurs au cours des trois à cinq prochaines années. En général, la durabilité est déterminée et évaluée à l'aide de prévisions sur trois à cinq ans.
Pourquoi est-il nécessaire de déterminer le besoin de durabilité lors du développement d'un modèle / solution d'entreprise? Un modèle d'entreprise durable est basé sur sa conception et sa structure, qui sont les mieux adaptées pour parvenir à une solution grâce à des systèmes, des processus et une infrastructure stables et fiables. La stabilité physique vise à atteindre deux caractéristiques principales: la stabilité et la fiabilité des solutions commerciales et technologiques.
Stabilité : qui permet à l'entreprise de rester stable, résistante aux influences extérieures. L'infrastructure informatique est résiliente et garantit un support pour les opérations commerciales pour la période prévue à l'avenir.
Fiabilité : si l'entreprise est en croissance constante depuis cinq ans, alors que l'infrastructure reste stable. La fiabilité permet aux entreprises de se concentrer sur leurs compétences de base dans une infrastructure durable.
2. Évolutivité intangible
Cela fait référence à la capacité inhérente à soutenir la croissance non physique. La croissance des entreprises est essentielle au maintien de la part de marché et de la compétitivité. La croissance peut être à la fois interne et externe, basée sur des moteurs et des stratégies acceptés. Voici quelques exemples:
* Nouveaux produits à héberger sur la même plateforme / solution
* Marques supplémentaires (pour les organisations multimarques)
* Processus commerciaux supplémentaires
Quelle est la différence entre physique et immatériel? Bien que les deux puissent sembler similaires, ils ne sont pas identiques. La solution peut être physiquement durable, mais peut ne pas soutenir la croissance intangible. Par exemple, si le volume des opérations augmente, la solution doit être physiquement stable. Si une entreprise introduit de nouveaux produits, elle est classée comme une croissance intangible et la solution doit avoir des fonctions et des processus évolutifs (non physiques) pour soutenir cette croissance.
Pourquoi devons-nous définir des exigences d'extensibilité intangibles? La nécessité de définir les exigences d'évolutivité intangible devient nécessaire car c'est une condition préalable qui soutient la croissance. Les exigences d'évolutivité reflètent en fait le désir de croissance de l'organisation et la nécessité d'une solution pour soutenir la croissance avec des changements et des perturbations minimes dans les activités quotidiennes.
COMMENT DÉTERMINER LES EXIGENCES D'ÉVOLUTION?
Il n'y a pas d'explication simple ni de méthodologie simple pour déterminer les exigences d'évolutivité. Il est extrêmement subjectif et relativement difficile de déterminer les conditions et les caractéristiques nécessaires pour prendre une décision durable. C'est l'une des raisons pour lesquelles cela s'appelle «analyse». Voici une approche qui a toujours fonctionné pour l'auteur. Cependant, cela ne convient pas à toutes ces situations.
Évolutivité physique:1. Identifiez les composants physiques de la solution que vous souhaitez faire évoluer.
2. Définissez les fonctions qui peuvent rendre un composant particulier évolutif.
3. Définissez les paramètres des fonctions de mesure.
4. Définissez les valeurs de chaque paramètre défini ci-dessus. Ce sont des exigences non fonctionnelles (définition des paramètres).
Les réponses à ces questions doivent être formulées du point de vue de l'entreprise et non du point de vue de l'informatique.
Un exemple:Situation: votre organisation est une institution financière qui émet des cartes de crédit aux clients. Elle fait des efforts pour transformer sa technologie et ses systèmes.
Quelles questions devraient être posées pour commencer à analyser l'identification de l'évolutivité physique? Afin de simplifier, nous réduisons la portée. Voici quelques exemples:
1. Quel est le volume actuel de clients, de transactions, de comptes, etc.?
2. Quels volumes sont attendus des systèmes le premier jour?
3. Quelle est la croissance annuelle en volume (clients, transactions, etc.) attendue au cours des trois à cinq prochaines années?La question 1 devrait être posée pour déterminer l'état actuel.
La question 2 détermine les besoins immédiats dès le premier jour de vie (opération).
La question 3 est une contribution à la détermination des exigences d'évolutivité d'une solution. Par exemple, si une organisation prévoit une augmentation de 10% de nouveaux clients par an et une croissance annuelle de 15% des transactions, les exigences d'évolutivité peuvent être les suivantes:
1. La solution devrait soutenir la croissance annuelle de 10% des nouveaux clients.
2. La solution devrait soutenir une croissance annuelle de 15% du nombre de transactions précédentes.
Cependant, dans cet exemple, je suggérerais de définir davantage les attentes selon lesquelles l'exigence implique un «soutien» (c'est-à-dire que la technologie ne nécessite aucun changement pour gérer la croissance)?
Évolutivité intangible:C'est la croissance des entreprises, pas le développement de la technologie, des infrastructures ou de la logistique. Cela variera d'une entreprise à l'autre et dépend des spécificités du domaine. Par conséquent, la connaissance des affaires et de l'industrie, développée grâce à la recherche d'experts, est la clé pour déterminer les paramètres d'évolutivité au niveau du détail. Cependant, une stratégie commerciale de haut niveau est formulée sur la base des détails de la définition de la vision de l’organisation.
Un exemple:Situation: votre organisation est une institution financière qui émet des cartes de crédit à ses clients. Elle fait des efforts pour transformer sa technologie et ses systèmes.
Quelles questions devraient être posées pour commencer l'analyse de l'identification de l'extensibilité intangible? Afin de simplifier, nous réduisons la portée. Voici quelques exemples:
1. L'organisation prévoit-elle de lancer de nouveaux produits (par exemple, les paiements mobiles, des produits comme Apple Pay ou Bitcoin)?
2. Y a-t-il des acquisitions ou des fusions futures avec des entités similaires?
3. Quelle est la stratégie de l'organisation (c.-à-d. Nouveaux canaux de distribution, accès à de nouveaux marchés, etc.)?
Ces questions aident à déterminer la croissance intangible. Par exemple, si une organisation prévoit de lancer une nouvelle marque de produits de carte de crédit, les exigences d'évolutivité sont les suivantes:
1. La solution doit pouvoir placer deux marques différentes: la marque A et la marque B.
2. Les deux marques devraient pouvoir utiliser les mêmes systèmes et processus.Ces exigences sont assez élevées et ne sont données qu'à titre d'exemple. Dans un scénario réel, ils devraient être étudiés plus en détail.
Il n'y a pas de méthode simple pour déterminer les exigences non fonctionnelles. Il est relativement difficile de déterminer les conditions et les fonctions nécessaires pour créer une solution évolutive.
__________________________________________________________
Publié par Adam Alami, Ph.D., Copenhagen IT University
Adam Alami est doctorant à l'IT University of Copenhagen. Adam a une riche expérience en technologie de l'information. Il a commencé sa carrière en tant que développeur de logiciels, puis est passé à l'analyse commerciale et à la gestion de projet. Ses 20 ans d'expérience sont associés à de grands projets de transformation d'entreprise et d'amélioration de processus. Il a accumulé de riches meilleures pratiques dans de grands projets dans le domaine de la transformation d'entreprise, l'intégration, la migration et la modernisation des systèmes.
Il a un certain nombre de réalisations académiques. Il détient un baccalauréat en génie logiciel de l'Université du Québec à Montréal (UQÀM) et une maîtrise en génie informatique de l'Université de technologie de Sydney (UTS).
Courriel: adamalami2016@gmail.com
Publié sur
Modernanalyst.com