Systèmes d’information dans les entreprises (GTI515)

Slides:



Advertisements
Présentations similaires
La place accordée à l’expression des salariés sur leur travail et leurs conditions de travail dans l’entreprise Résultats sondage exclusif CSA/ANACT.
Advertisements

Mais vous comprenez qu’il s’agit d’une « tromperie ».
Le Nom L’adjectif Le verbe Objectif: Orthogram
ORTHOGRAM PM 3 ou 4 Ecrire: « a » ou « à » Référentiel page 6
Ma surprise du Zoo.
Licence pro MPCQ : Cours
Additions soustractions
Distance inter-locuteur
1 Plus loin dans lutilisation de Windows Vista ©Yves Roger Cornil - 2 août
Piloter l'utilisation des informations produits et services par les télé-conseillers pour améliorer la qualité de service délivrée Dominique Gilles – InStranet.
Les Européens et la Crise IV 07 Octobre Méthodologie.
International Telecommunication Union Accra, Ghana, June 2009 Relationship between contributions submitted as input by the African region to WTSA-08,
INSTITUT DE VEILLE SANITAIRE
Les numéros 70 –
Les numéros
Les identités remarquables
Le, la, les words Possessive Adjectives MINE!!. 2 My in french is mon, ma,mes... Le word/ begins with a vowel: Mon La word: Ma Les word: Mes.
Introduction à la logique
Analyse fonctionnelle
LES TRIANGLES 1. Définitions 2. Constructions 3. Propriétés.
Sondage sur les préjugés Ensemble et l’association d'études canadiennes 20 mars, 2013 Une recherche novatrice sur le lieu, la fréquence et les différents.
La législation formation, les aides des pouvoirs publics
1 7 Langues niveaux débutant à avancé. 2 Allemand.
COTE DIVOIRE IMAGES DES ATROCITES COMMISES PAR ALASSANE DRAMANE OUATARA, SORO GUILAUMES ET LEURS HOMMES 1.
SERABEC Simulation sauvetage aérien avec un Hercule C130. Départ de St-Honoré le 4 octobre Durée de vol 3 heures. Premier vol en Hercule pour les.
1 5 octobre 2011 / paw Présentation du 7 octobre 2011.
La méthodologie………………………………………………………….. p3 Les résultats
Écrit, animé et illustré par Sheila CartwrightTraduit par
Introduction au Génie Logiciel
Jack Jedwab Association détudes canadiennes Le 27 septembre 2008 Sondage post-Olympique.
le profil UML en temps réel MARTE
Le soccer & les turbans Sondage mené par lAssociation détudes canadiennes 14 juin 2013.
Présentation générale
1 Guide de lenseignant-concepteur Vincent Riff 27 mai 2003.
GRAM 1 CE2 Je sais transformer une phrase affirmative en phrase négative.
Le drapeau canadien comme symbole de fierté nationale : une question de valeurs partagées Jack Jedwab Association détudes canadiennes 28 novembre 2012.
1. 9 juillet 2009 Portrait du financement des organismes communautaires en santé et services sociaux Année de référence Ministère de la Santé
Session 7 1 IST/VIH/SIDA.
Le Concours de Conaissance Francais I novembre 2012.
Si le Diaporama ne s'ouvre pas en plein écran Faites F5 sur votre clavier.
Introduction Contexte Forum Enquête Groupe de travail Formations dévt durable Conclusion Samedi 17 septembre 2005 CROA Franche-Comté AG Luxeuil-les-Bains.
Les quartiers Villeray – La Petite-Patrie et les voisinages
Projet poker 1/56. Introduction Présentation de léquipe Cadre du projet Enjeux Choix du sujet 2.
LES NOMBRES PREMIERS ET COMPOSÉS
Vuibert Systèmes dinformation et management des organisations 6 e édition R. Reix – B. Fallery – M. Kalika – F. Rowe Chapitre 7 : Les méthodes de conception.
CLL11 : chlorambucil (CLB) versus CLB + rituximab (R)
Logiciel gratuit à télécharger à cette adresse :
Les chiffres & les nombres
IGL301 - Spécification et vérification des exgiences 1 Chapitre 1 Introduction (ref : Bray chapitre 1)
RACINES CARREES Définition Développer avec la distributivité Produit 1
DUMP GAUCHE INTERFERENCES AVEC BOITIERS IFS D.G. – Le – 1/56.
Année universitaire Réalisé par: Dr. Aymen Ayari Cours Réseaux étendus LATRI 3 1.
Jean-Marc Léger Président Léger Marketing Léger Marketing Les élections présidentielles américaines.
MAGIE Réalisé par Mons. RITTER J-P Le 24 octobre 2004.
1 INETOP
Évaluer et analyser les coûts de la régie communautaire de leau, comment ? Restitution du 16 nov Cartographie des activités et inducteurs de coût.
Aire d’une figure par encadrement
Comment rendre une femme heureuse…
P.A. MARQUES S.A.S Z.I. de la Moussière F DROUE Tél.: + 33 (0) Fax + 33 (0)
Les fondements constitutionnels
MAGIE Réalisé par Mons. RITTER J-P Le 24 octobre 2004.
1/65 微距摄影 美丽的微距摄影 Encore une belle leçon de Macrophotographies venant du Soleil Levant Louis.
Certains droits réservés pour plus d’infos, cliquer sur l’icône.
Nobody’s Unpredictable RÉSULTATS DE L’ENQUÊTE. UMR : Les Français et la réforme des retraites: bilan et perspectives d’avenir – Novembre 2010 © 2010 Ipsos.
Nom:____________ Prénom: ___________
Annexe Résultats provinciaux comparés à la moyenne canadienne
La formation des maîtres et la manifestation de la compétence professionnelle à intégrer les technologies de l'information et des communications (TIC)
Systèmes d’information dans les entreprises (GTI515)
Département de génie logiciel et des TI Université du Québec École de technologie supérieure Systèmes d’information dans les entreprises (GTI515) Chargé:
Transcription de la présentation:

Systèmes d’information dans les entreprises (GTI515) Chargé: JF Couturier Cours # 12 GTI515 Été 2012 JF Couturier

Retour sur le dernier cours ITIL Service Strategy Service Design Service Transition Service Operation Continual Service Improvement GTI515 Été 2012 JF Couturier

Plan Rappel de RUP et ITIL Problèmes avec la maintenance Définition de la maintenance Perception de la maintenance Environnement de la maintenance S3M GTI515 Été 2012 JF Couturier

Rappel : RUP GTI515 Été 2012 JF Couturier

ITIL : Rappel GTI515 Été 2012 JF Couturier

Sources Le contenu de ce cours est inspiré des notes du cours MGL-804 d’Alain April. April, A. et Abran, A. Améliorer la maintenance du logiciel. Loze-Dion éditeur, ISBN 292118088X, 2006, 337 p. GTI515 Été 2012 JF Couturier

Plan Rappel de RUP, ITIL et ASL Problèmes avec la maintenance Définition de la maintenance Perception de la maintenance Environnement de la maintenance GTI515 Été 2012 JF Couturier

Quelques définitions GTI515 Été 2012 JF Couturier

Problème avec la maintenance vue par le client Coût élevé de la maintenance Service de maintenance lent Ne comprend pas comment le service de maintenance est priorisé et assigné From the customers’ (external) point of view, the main issues reported are [Pigosky 1997] high cost, slow delivery of services and fuzziness of prioritisation (internal IS/IT priorities versus users’ priorities). GTI515 Été 2012 JF Couturier

Opinion d’experts La maintenance logicielle souffre plus d’un manque de gestion que d’un simple problème de connaissances techniques On ne reconnait pas la maintenance On ne structure pas la maintenance On ne mesure pas la maintenance During 1987, Colter [Colter 1987] made the following observation: “The biggest problem in software maintenance is not technical, but it is rather its management”. Lets examine both viewpoints in more detail. GTI515 Été 2012 JF Couturier

Perceptions des clients sur le coût de la maintenance Sur le coût total du cycle de vie Foster-Monroe = 60 %-90 % Hall = 75 % Scott = 50 %-80 % Hanna > 60 % Erlikh = 90 % From the customers’ (external) point of view, the main issues reported are [Pigosky 1997] high cost, slow delivery of services and fuzziness of prioritisation (internal IS/IT priorities versus users’ priorities). It is reported that a greater portion of software life cycle costs come from software maintenance: 60-90% according to Foster & Munroe [Foster 1987], 75% according to Rand P. Hall [Hall 1987], 50-80% according to Tony Scott [Scott 1988], more than 60% according to Hanna [Hanna 1993] and 90% according to Erlikh [Erlikh 2000]. Boehm [Boehm 1987] states that, for every dollar spent on development, two will need to be spent on maintenance. GTI515 Été 2012 JF Couturier

Collecte inadéquate des données Les gestionnaires de la maintenance ont de la difficulté à expliquer leurs coûts Les gestionnaires de la maintenance ont de la difficulté à expliquer la valeur ajoutée de la maintenance. It is also reported that a significant part of the user’s perception of the high cost of maintenance may stem from inadequate communication by maintenance managers about the type of maintenance work performed on the customer’s behalf. Maintenance managers too often group enhancement and corrective work together in their management reports, statistics and budgets, which warps costs, in both maintenance budgets and reports. This aggregation maintains customer misconceptions about maintenance services and perpetuates the misleading perception that software maintenance is mainly concerned with correcting defective software. GTI515 Été 2012 JF Couturier

Maintenance matérielle VS Maintenance logicielle? Remplacer une composante On pèse sur le bouton pour vérifier Schneidewind’s [Schneidewind 1987] opinion is that users’ perceptions of the slowness of service is partially based on a misunderstanding of the fundamental difference between electronic/computer hardware maintenance and the software maintenance domains. He finds that the user does not have a clear idea of what constitutes a software maintenance activity, describing, for example, how the repair of a broken printer or computer component may simply involve a modular component replacement activity. He also notes that electronic equipment design, being more mature than software design, is based on a thorough “modularization” of components, which does not create side-effects during maintenance activities. Moreover, when well designed, hardware allows complete testing and diagnostics of components at the touch of a button! Many users, unfamiliar with the software domain, may perceive that software is maintained in a similar fashion. Unfortunately, software has not yet matured to this stage. There remain many challenges to the existence of modularity and auto-testing in software, in particular because of its lack of maturity, and, furthermore, most software currently in use is more than a decade old and would not incorporate this type of architectural technology. VS. GTI515 Été 2012 JF Couturier

Maintenance matérielle VS Maintenance logicielle? Le matériel se dégrade sans maintenance Le logiciel se dégrade lorsqu’il est maintenu Software maintenance has some peculiarities when compared to maintenance in other domains: while hardware and mechanical components deteriorate when there is no maintenance, software, by contrast, deteriorates as a result of multiple maintenance activities [Glass 1992] Because software practices have not matured to the extent that hardware practices have, maintenance is performed by identifying one or many components and fixing them. Software maintenance often requires reworking in many, if not all, parts of the software. Multiple maintenance activities are blamed for further degrading its internal structure and making future maintenance activities progressively more difficult. If no strategy is put in place to control these effects, the software structure and quality continue to deteriorate. GTI515 Été 2012 JF Couturier

Maintenance matérielle VS Maintenance logicielle? Photocopier Repair $15/hr PC Repair $17/hr Camera Repair $20/hr TV Repair $20/hr Audio Repair $25/hr Web maintenance $40/hr Cobol Maintenance $50/hr Database maintenance $60/hr OS maintenance $70/hr ERP maintenance $125/hr GTI515 Été 2012 JF Couturier

Plan Rappel de RUP, ITIL et ASL Problèmes avec la maintenance Définition de la maintenance Perception de la maintenance Environnement de la maintenance S3M GTI515 Été 2012 JF Couturier

GTI515 Été 2012 JF Couturier

Perception Coût élevé et mauvais service Le client paie beaucoup Il ne voit pas la valeur pour son argent Pannes en production Erreurs logicielles Longs délais d'attente Coût élevé associé à un petit changement GTI515 Été 2012 JF Couturier

SLA flous La personne à la maintenance doit mettre fin à tous les autres travaux lorsqu'une défaillance en production se produit Perception : l’entretien ne se fait pas selon la priorité des utilisateurs Les utilisateurs ont tendance à classer toutes les demandes en tant que hautes Les utilisateurs envoient beaucoup de demandes Without agreed-upon and mature queue management mechanisms supported by detailed service level agreements (SLAs), users will fail to obtain service based on their real and stated priorities. In this situation, users have a tendency to rank all requests as high priority. Some users also demand that all problems and requests be addressed at the same time. Given that production system failures are random events, and that they need to be addressed first, such users will perceive that work on their requests is not progressing as they would expect. Bennett [Bennett 2000] also points out that, when customers become frustrated with the slow delivery of services, they will consider developing local solutions to solve their problems, or might consider a sub-contract or outsourcing maintenance work altogether. GTI515 Été 2012 JF Couturier

Est-ce que ces perceptions sont réelles? Plusieurs réponses possibles! Maturité du mainteneur Maturité du client Quel type de logiciel GTI515 Été 2012 JF Couturier

Temps de développement vs. Temps de maintenance Un projet de développement typique prend entre 1 et 2 ans La maintenance requiert un temps additionnel de 5 à 6 ans Règle du 80-20 (Pareto): 20 % de l’effort dans le développement 80 % de l’effort dans la maintenance. GTI515 Été 2012 JF Couturier

Mauvaise perception Oui, la maintenance est le coût le plus élevé!! ©Ian Sommerville 2004 GTI515 Été 2012 JF Couturier

Les coûts de la maintenance Yann-Gaël Guéhéneuc, IFT3902 :Gestion de projet pour le développement et la maintenance des logiciels GTI515 Été 2012 JF Couturier

Coût de la maintenance Habituellement plus élevé que le développement 2 à 100 fois plus, dépendant de l’application Touché par des facteurs techniques et non techniques Augmente au fur et à mesure que le logiciel est maintenu. La maintenance dégrade la structure du logiciel, rendant la maintenance plus difficile. Les vieux systèmes peuvent avoir des coûts plus élevés vieux langages, compilateurs GTI515 Été 2012 JF Couturier

Fausse perception des coûts Le service de maintenance n’est pas clair lorsque: Les parties et les processus sont immatures (pas de SLA); Symptômes priorités confuses, délais, coûts non justifiés Oui, la main d’œuvre est chère, mais lorsqu’elle est utilisée pour ajouter de nouvelles fonctionnalités… To better justify maintenance costs, management must do a better job of communicating the many maintenance activities, especially the value-added ones. To do this, it is important that management understand the maintainers’ processes and services and their many challenges. To ease the mounting pressure, maintainers must better communicate that there is a fair and efficient queue and priority process in place that manages and monitors the status of each maintenance request/event. This process has many inputs and concurrent interrupting sources, such as: 1) operators who report system failures; 2) users who notice service degradation; 3) development project managers who require current software information and inputs in re-engineering studies; and 4) customers who require urgent information. A maintainer must clearly point out that there is a process and an SLA based on the priorities of everyone involved to obtain his resources, and that this sometimes leads to contention in requests for his services [Dorfman 2002]. GTI515 Été 2012 JF Couturier

Perception interne Logiciel très mal conçu et programmé Conception douteuse Absence de documentation Pas de système de test automatisé Maintainers are often confronted with a million lines of somebody else's source code. They must familiarise themselves quickly and process urgent changes without disrupting service GTI515 Été 2012 JF Couturier

Réalité de mainteneur Logiciels large et complexe avec peu de documentation; Doit être changé rapidement sans interrompre le service; To make things more difficult, the newly developed software often has a number of urgent changes pending that the software developers could not include in the initial development, as they had been under pressure to deliver. The average age of software under maintenance is 15-19 years old GTI515 Été 2012 JF Couturier

Les lois de Lehman Changement continue Complexité croissante Un logiciel doit continuellement être adapté. Sinon la satisfaction du client diminuera. Ces changements se font sous l’effet de la pression de l’environnement (les utilisateurs) dans lequel le système évolue et par l’écart qui existe entre les caractéristiques du système et les besoins du domaine. Complexité croissante La complexité du logiciel augmente à chaque évolution à moins que cette évolution soit faite pour maintenir ou diminuer cette complexité. Les interactions et les dépendances augmentent, le couplage croit et le risque d’erreur croit. Si beaucoup d’effort est consacré à éviter la croissance de la complexité, alors ce sont moins de ressources et de temps disponibles pour la transformation du système. Lehman [Lehman 1985, 1997] reports that, in addition to age, the structure of software undergoing maintenance becomes increasingly complex as it is modified over time. The size and complexity of the software increases, and an increasing number of resources is required to maintain it. Lehman [Lehman 1980] states that “being unavoidable, changes force software applications to evolve, or else they progressively become less useful and obsolete.” Maintenance is therefore considered inevitable for application software which is being used daily by employees everywhere in a changing organisation. 3) (Gosh! – in English it means that the process of the evolution has behavioral and statistical features that can be forecasted and measured) GTI515 Été 2012 JF Couturier

Lois de Lehman Croissance continue Qualité décroissante Le contenu fonctionnel d’un logiciel doit continuellement croître afin de satisfaire les besoins des utilisateurs durant toute sa vie utile. Qualité décroissante La qualité d’un logiciel va être perçue comme décroissante à moins d’une maintenance rigoureuse et adaptée aux changements dans l’environnement opérationnel. 4) It means: after some time of maintenance effort the ratio resources/result stabilizes optimally. Adding more resources will only worsen an effort. 5) means: each new release adds less to the system's functionality than the previous one, to finally reach the level of “functional saturation” GTI515 Été 2012 JF Couturier

Conclusion sur les lois Observations: Les logiciels évoluent ou disparaissent Un logiciel qui grossit implique une complexité qui va limiter sa capacité de croître. Solutions: Nécessité de gérer la complexité Revoir périodiquement le design Activités de refactoring pour rajeunir le logiciel GTI515 Été 2012 JF Couturier

Classification des problèmes selon Dr. Bennet Problèmes d’alignement (A) Problèmes de processus (P) Problèmes techniques (T) (A) Et (P) sont des problèmes de management (T) Sont des problèmes techniques Est-ce qu’il est vrai que la plupart des problèmes de maintenance sont des problèmes de management? Bennett [Bennett 2000] stipulates that software maintenance problems can be grouped into three categories: 1) problems of alignment with the organisation’s objectives; 2) process problems; and 3) technical problems. GTI515 Été 2012 JF Couturier

Another survey, using participants at successive software maintenance conferences [Dekleva 1992], presents a list of 19 key maintenance problems, ranked by importance, as perceived by software maintenance engineers (see Table II). The majority of the problems reported by this survey can be categorized in the maintenance process and management category (items 3, 7, 8, 9, 10, 13, 14, 15, 16, 18 and 19 of Table II). Sondage de Dakleva GTI515 Été 2012 JF Couturier

Le système est imposé Imposé aux mainteneurs Il a souvent beaucoup de problèmes Un grand nombre de problèmes à résoudre Un backlog qui vient avec Pas de support du management pour vous aider dans cette situation Faites-le! Maintenance engineers also claim that their professional status is perceived as being inferior to that of developers [Landsbaum 1992] and that they have no choice but to accept the newly developed software, which is being forced on them whatever its level of quality. From their point of view, the software is transferred to the maintenance organisation with a backlog of changes and problems which, in their opinion, should have been addressed by the developers and which are hard to handle with a small number of individuals. The maintainers also report being poorly equipped, supported and understood by management, while being responsible 24/7 for the proper functioning and management of software and, more importantly, for the support of all customer-related issues. GTI515 Été 2012 JF Couturier

Le conflit Les clients ont besoin d’un système maintenant! Les attentes sont élevées. Les développeurs construisent rapidement (plus vite et en deçà du budget si possible) Les mainteneurs veulent un système sans défaut, venant avec une documentation pour la maintenance du système pour les prochaines années It has long been recognised that an immature software development process creates a number of problems in the final product delivered to the customer and to the maintenance organisation. Various authors have claimed that a mature process which clearly captures and manages requirements and specifications resulting in a stable design will lower maintenance costs [Khan 2005 p. 345, Schach 2000, MICAH 1990]. Use of immature development processes creates an initial maintenance backlog which needs to be addressed, on a priority basis, during the first months/year of operation of the new software. It is observed that processing this backlog creates a large increase in the number of lines of code during the first three years of software maintenance. Gibbs [Gibbs 1994] reports this situation as a major cause of increased maintenance costs and initial dissatisfaction of customers. Bennett [Bennett 2000 s6] indicates that, in a context where financial resources are limited, the analysis, design and testing phases of the initial software development project are all put under pressure and are often only partially completed. Such omissions necessarily lead to dire consequences for software maintenance. GTI515 Été 2012 JF Couturier

Points de pression REQUIREMENTS ANALYSIS SYSTEM DESIGN PROGRAM CODING UNIT & INTE- GRATION TESTING TESTING ACCEPTANCE OPERATION & MAINTENANCE La pression sur le développement résulte en un logiciel de mauvaise qualité qui est transféré à la maintenance lors de la phase de transition A second group of problems have been identified as originating from the software development process itself (items 4, 6, 11 and 12 of Table II). Schneidewind [Schneidewind 1987, Pigoski 1997 s2] also identifies other maintenance problems stemming from the same source: poor traceability to the processes and products that created the software; changes rarely documented; difficulty of change management and monitoring, and ripple effects of software changes. Transition GTI515 Été 2012 JF Couturier

Coûts d’une faute Le coût de correction d’une faute croît avec le temps Si trouvée, combien elle coûte à réparer? Prenons un problème dans les exigences, mais que nous identifions plus tard… 4x si trouver et corriger pendant le design 10x si trouver et corriger pendant l’implémentation 30 – 52 x si trouver…lors de l’intégration 200 – 368 x si trouver … lors de la maintenance GTI515 Été 2012 JF Couturier

Processus immatures Âge moyen des codeurs en inde: 26-27 En afrique du sud : 28-32 Il y a toujours une grande proportion de développeurs/processus de développement immatures. Les processus matures permettent de créer des logiciels plus faciles à maintenir Ces logiciels arrivent souvent avec un gros backlog Clients insatisfaits Average age of a software developer is : India 26-27 South-Africa 28-32 It has long been recognised that an immature software development process creates a number of problems in the final product delivered to the customer and to the maintenance organisation. Various authors have claimed that a mature process which clearly captures and manages requirements and specifications resulting in a stable design will lower maintenance costs [Khan 2005 p. 345, Schach 2000, MICAH 1990]. Use of immature development processes creates an initial maintenance backlog which needs to be addressed, on a priority basis, during the first months/year of operation of the new software. It is observed that processing this backlog creates a large increase in the number of lines of code during the first three years of software maintenance. Gibbs [Gibbs 1994] reports this situation as a major cause of increased maintenance costs and initial dissatisfaction of customers. GTI515 Été 2012 JF Couturier

Les méthodes agiles ne règlent rien ©Ian Sommerville 2004 GTI515 Été 2012 JF Couturier

Plan Rappel de RUP, ITIL et ASL Problèmes avec la maintenance Définition de la maintenance Perception de la maintenance Environnement de la maintenance S3M GTI515 Été 2012 JF Couturier

L’environnement de travail de la maintenance Développeur Tom De Marco [DeMarco 1985] has investigated the impact of the work environment on programmer productivity, and reported that the physical environment (noise and interruptions) hinders their performance. Also present in literature is the issue of the lack of software maintenance skills being taught in schools [Cardow 1992, Kajko-Mattsson 2001a]. Authors recognize that what is taught there does not reflect what software maintenance is in reality. This leads to a workforce with a lack of knowledge of maintenance-related processes and techniques. Could there also be a cultural factor that would explain why software maintenance is not as visible, and not promoted, in software development? Bennett [Bennett 2000] conducted a study in Japan, during 1993, as a result of which he describes how the managers’ perceptions, based on the notion that software improvement increases customer satisfaction on a daily basis, seem a more important concept in a Japanese organisation than it is in a European or American one. Without good software maintenance, these Japanese organisations report that they would rapidly lose market share. The quality culture being stronger in Japan [Azuma 1994], maintenance activities benefit from more visibility and achieve greater recognition: maintenance engineer morale is higher and maintenance management is more visible, both to managers and customers. Mainteneur GTI515 Été 2012 JF Couturier

Problème: Le morale 11.9 % des problèmes pendant la maintenance sont le résultat d’un mauvais moral Pendant la maintenance, 8 % des problèmes proviennent d’un programmeur poussé dans trop de dossiers, l’empêchant de se concentrer suffisamment longtemps pour régler un seul problème. Sari Lawrence Pfleeger GTI515 Été 2012 JF Couturier

Inexpérience Qui fait la maintenance: 25 % des étudiants 61 % des programmeurs d’expériences (Swanson-Beath) Dans une autre étude 60 % à 80 % - personnes récemment engagées. GTI515 Été 2012 JF Couturier

Qui fait la maintenance Parfois des développeurs: Moins d’intérêts, il veulent quitter pour un meilleur travail (créatif) Difficile d’embaucher Problème de continuité (roulement) Moins d’indépendance Moins bonne qualité Moins de transparence A maintainer is defined, in ISO12207, as an organisation which performs maintenance activities. In the industry, software organisations currently favour two organisational structures with regard to the location of the software maintenance function. The first model favors maintenance of the software by its developer. In another model, a software maintenance organisation, independent of the developer, takes care of the organisation’s software maintenance needs. Pigoski [Pigoski 1997 s2] describes each organisational model, along with their advantages and disadvantages as follow. There are a number of disadvantages to letting the development team maintain the software after it has been put into production: 1) developers do not like performing maintenance and are more likely to leave for more interesting work; 2) new hires in the development team will be both surprised and dissatisfied to discover that they also need to maintain existing software; 3) developers are often re-assigned to other development projects and prefer this kind of work; and 4) when the individuals who developed the software leave, the other employees will probably not be qualified to maintain it. GTI515 Été 2012 JF Couturier

Qui fait la maintenance Parfois des mainteneurs: Grandes organisations Plus d’indépendance Qualité et transparence accrues Compétition pour résoudre les problèmes entre développeurs et mainteneurs Besoin d’établir la frontière entre le développement et la maintenance A maintainer is defined, in ISO12207, as an organisation which performs maintenance activities. In the industry, software organisations currently favour two organisational structures with regard to the location of the software maintenance function. The first model favors maintenance of the software by its developer. In another model, a software maintenance organisation, independent of the developer, takes care of the organisation’s software maintenance needs. Pigoski [Pigoski 1997 s2] describes each organisational model, along with their advantages and disadvantages as follow. There are a number of disadvantages to letting the development team maintain the software after it has been put into production: 1) developers do not like performing maintenance and are more likely to leave for more interesting work; 2) new hires in the development team will be both surprised and dissatisfied to discover that they also need to maintain existing software; 3) developers are often re-assigned to other development projects and prefer this kind of work; and 4) when the individuals who developed the software leave, the other employees will probably not be qualified to maintain it. GTI515 Été 2012 JF Couturier

Sommaires 19 problèmes identifiés par Dekleva Point de vue divergent avec client/utilisateur Grande proportion de problèmes de management Les rapports de maintenance ne montrent pas réellement ce qui se passe. La complexité des logiciels est croissante Le coût de la maintenance est élevé et en croissance La mauvaise qualité du développement est toujours un problème (Agile…) La maintenance n’est pas un travail intéressant (morale) Manque de méthodologies/Outils/Formation GTI515 Été 2012 JF Couturier

Processus de la maintenance Nécessité d’identifier le travail correspondant à une maintenance versus un projet de développement Une modification qui prend 5 mois n’est sûrement pas de la maintenance Le processus n’est pas le même GTI515 Été 2012 JF Couturier

GTI515 Été 2012 JF Couturier

Qu’est-ce qui est petit? UKSMA : Moins de 5 jours ISBSG : Moins de 5 jours Company A : Moins de 45 jours L’important est de définir une limite This process takes into consideration as an input the estimated size of the modification. April [April 2001, Maya 1996] presents the process used in a Cable & Wireless member company, in which the maximum acceptable effort for an adaptive request is five days. This five-day limit is also recognized by the United Kingdom Software Metrics Association (UKSMA): “The distinction between maintenance activity of minor enhancements and development activity of major enhancement is observed in practice to vary between organisations. The authors are aware that in some organisations an activity as large as to require 80 workdays is regarded as maintenance, while in others the limit is five days. Initially it is proposed that the ISBSG and UKSMA will adopt the convention that work requiring five days or less will be regarded as maintenance activity” [ISBSG 2005]. This threshold is very important in IS/IT organisations, as it dictates when software development starts and when software maintenance ends. For this thesis and for the proposed maturity model, no limit in days should be specified. What is essential is that the maintenance work be identified, whatever its estimation effort, and be performed by individuals and not project teams. GTI515 Été 2012 JF Couturier

Catégoriser les billets Définitions: Haute Le problème est sérieux Le client ne peut plus travailler Il n’y a pas de voie de contournement connue  Élevée La majorité des problèmes des applications Représente 80 % du volume  Basse Problèmes mineurs http://www.lgc.com/customersupport/supportservices/servicelevels/default.htm GTI515 Été 2012 JF Couturier

La réponse au billet  Réponse : L’intervalle de temps entre une demande de support et la réponse d’un analyste technique.   Au téléphone : Temps d’attente d’un client pour parler à un analyste du soutien technique. Boîte de messagerie: Temps entre l’enregistrement du message et la réponse de l’analyste. Courriel – Temps entre la réception du courriel et la réponse de l’analyste au client. http://www.lgc.com/customersupport/supportservices/servicelevels/default.htm GTI515 Été 2012 JF Couturier

Résolution d’un billet Résolution: L’intervalle de temps entre la demande de support et lorsque l’analyste technique trouve une solution et ferme le billet.   Répondre à une question Expliquer un processus Proposer une solution de rechange Signaler un défaut à corriger ou une amélioration à apporter pour le compte du client. http://www.lgc.com/customersupport/supportservices/servicelevels/default.htm GTI515 Été 2012 JF Couturier

Centre de support Centre de service centralisé ou: Tous les problèmes et les demandes de services sont acheminés Ces problèmes et demandes sont réglés ou assignés Ces problèmes et demandes de services sont suivis GTI515 Été 2012 JF Couturier

http://tecfa.unige.ch/~roiron/recherche/memoire/memoire.htm GTI515 Été 2012 JF Couturier

Le niveau 1 Le niveau 1 doit avoir la responsabilité de chaque demande du client. Le help desk devrait être habilité à résoudre autant de demandes que possible. Le niveau 1 fournit le point de contact client (CCP), qui est le point de contact unique pour l'utilisateur de demander un service. Les organisations devraient toujours superviser le niveau 1 afin de garantir la qualité de la relation client. http://irm.state.nc.us/techarch/chaps/chap11-04.htm GTI515 Été 2012 JF Couturier

Le niveau 2 Le soutien à la clientèle fournit l'expertise technique. Leur responsabilité est d'étudier les demandes acheminées vers eux et de résoudre les problèmes. Les ressources à ce niveau peuvent être composées de spécialistes du personnel et/ou des tiers fournisseurs / vendeurs. http://irm.state.nc.us/techarch/chaps/chap11-04.htm GTI515 Été 2012 JF Couturier

Le niveau 3 Le niveau 3 est composé d’experts techniques spécialisés. Les appels qui ne peuvent pas être résolus aux niveaux 1 et 2 sont acheminés à ce niveau. Les ressources à ce niveau peuvent être composées de spécialistes du personnel et/ou des tiers fournisseurs et vendeurs GTI515 Été 2012 JF Couturier

Processus Gestion des problèmes et des demandes Communiquer Documenter Évaluer (en fonction des politiques) Résoudre ou assigner Suivre Clore / Fermer GTI515 Été 2012 JF Couturier

Niveau de service à l’interne Peut-être très utile pour prioriser la maintenance des systèmes patrimoniaux Peut aussi être utilisé pour mettre au rencart graduellement un vieux système. GTI515 Été 2012 JF Couturier

Catégorie de requête GTI515 Été 2012 JF Couturier

Types de maintenance Corrective Préventive Perfective Adaptative La correction d’une défectuosité découverte par la clientèle Préventive Modifier un logiciel pour détecter et corriger des fautes avant qu’elles ne deviennent des défaillances Perfective Améliorer les fonctionnalités d’un logiciel Adaptative Modifier un logiciel afin de le mettre en relation avec d’autres applications GTI515 Été 2012 JF Couturier

Types de maintenance Perfective: 50 % Corrective: 21 % Adaptative: 25 % Corrective: 21 % Préventive: 4 % http://www.massworkforce.org/ResourceCenter/SteeringCommMinutes/2006/Word/June06A.doc GTI515 Été 2012 JF Couturier

Les défaillances ne sont pas la première source Les défaillances ne représentent pas le plus gros pourcentage de maintenance. Lorsque correctement mesuré: 55 % requêtes sont des améliorations (Lientz) Le plus gros pourcentage d’effort est dépensé dans l’ajout de fonctionnalité en réponse à un besoin d’affaires (Pressman) But, is this user perception representative of the actual maintainers’ workload? On the basis of a survey of 487 software maintenance specialists, Lientz and Swanson [Lientz 1980] were the first to point out that 55% of requests routed to maintenance organisations concerned new functions rather than failure correction. Another study [Abran 1991], based on data collected over a few years and for each maintenance activity category, further confirmed this fact. Pressman [Pressman 1997, s27.2.1] also notes, based on feedback collected from maintenance engineers, that, rather than spending from 50% to 80% of their effort on correcting problems, they spend the biggest portion of their effort on software evolution, on adding user-requested functionality and on answering all kinds of questions about the business rules of application software. Unfortunately, such value-added activities are poorly communicated and rarely reported in detail to the clients as monthly maintenance accomplishments. “The more substantial portion of maintenance costs is devoted to accommodating necessary functional changes to the software in order to keep pace with changing user needs. Based on the data we had reviewed, we also noted that systems with well-structured software were more able to accommodate such changes.” [Fornell 1992] GTI515 Été 2012 JF Couturier

Ian Sommerville’s % ©Ian Sommerville 2004 GTI515 Été 2012 JF Couturier

Similitude avec logiciel Processus définis Il y a du code et des tests Il y a de l’assurance qualité Il y a de la gestion de la configuration Alain April & al., Software Maintenance MaturityModel,: the software maintenance process model GTI515 Été 2012 JF Couturier

Activités distinctes Gestion du service et des évènements Existence d’un SLA (parfois…) Transition Support opérationnel Résolution de problème Analyse d’impact Évolution et retrait Alain April & al., Software Maintenance MaturityModel,: the software maintenance process model GTI515 Été 2012 JF Couturier

Caractéristiques de la maintenance Réception des requêtes aléatoires Budget difficile à évaluer Charge de la maintenance Gestion par files d’attente et non par gestion de projet Taille des requêtes limitées Assignation du travail dynamique Arrêt des travaux quand il y a une panne Contraintes face à une application déjà développée Attentes du client élevées Alain April, Log-240, cours 1 GTI515 Été 2012 JF Couturier

Différence avec le développement La situation est beaucoup moins favorable pour le mainteneur. Le système existe, avec ses défauts et ses contraintes architecturales. Il faut vivre avec. Les outils sont parfois désuets et ne supportent pas les techniques modernes de maintenance. Conséquemment, il y a moins d’options pour les améliorations. Les délais sont souvent courts. ASL, Application Service Library – A Management Guide , p55 GTI515 Été 2012 JF Couturier

Plan Rappel de RUP, ITIL et ASL Problèmes avec la maintenance Définition de la maintenance Perception de la maintenance Environnement de la maintenance S3M GTI515 Été 2012 JF Couturier

S3M S3M Exemple Software Maintenance Maturity Model GTI515 Été 2012 JF Couturier

Niveau de maturité GTI515 Été 2012 JF Couturier Alain April & al., Software Maintenance MaturityModel,: the software maintenance process model GTI515 Été 2012 JF Couturier

Exercice Une nouvelle infrastructure réseau a été déployée pendant le week-end. Le service des opérations vous appelle ce matin et vous demande de vérifier si les logiciels vont fonctionner sur le nouveau réseau Dans quelle catégorie de maintenance classez-vous ce travail? Devez-vous demander l’autorisation à vos clients avant de commencer le travail? GTI515 Été 2012 JF Couturier

Ressources MGL-804 S3M April, A. et Abran, A. Améliorer la maintenance du logiciel. Loze-Dion éditeur, ISBN 292118088X, 2006, 337 p. GTI515 Été 2012 JF Couturier

Conclusion La maintenance est un élément essentiel dans le fonctionnement des TI Le cycle de la maintenance est distinct d’un cycle de développement logiciel Plus de détails dans le cours MGL-804 portant sur la maintenance. GTI515 Été 2012 JF Couturier