SIMPLIFIER ET REDUIRE LES COÛTS DES POINTS DE FONCTION Roberto Meli CEO Patrick Hamon CEO Paris, 4 juillet 2013
Agenda 9h30: Introduction Patrick HAMON 10h - 12h30: Simple Function Point Methodology - Concepts - Compatibility - Benefits - Questions & Answers Roberto MELI 14h00 : Workshop, Practice of the "Simple Function Point" method Roberto MELI Copyright Spirula 2011 Tous droits réservés Les Points de Fonctions 2
Des projets sous pression Echec 21% Succès 37% En retard ou hors budget 42% Rapport Chaos 2010 Copyright Spirula 2011 Tous droits réservés GPS de Projets 3
Industrialiser : une nécessité Copyright Spirula 2011 Tous droits réservés GPS de Projets 4
Un suivi de projet lourd et coûteux Copyright Spirula 2011 Tous droits réservés GPS de Projets 5
Reporting Excel «Tout le monde ment» Copyright Spirula 2011 Tous droits réservés GPS for Projects Page 6
GPS de Projets Copyright Spirula 2011 Tous droits réservés GPS de Projets 7
Offre Conseil Déploiement des outils : Formation Assistance Support Expertise : Estimation de projets Points de Fonction (taille du logiciel) CMMI (amélioration des processus) Copyright Spirula 2011 Tous droits réservés GPS de Projets 8
Gains Automatisation du reporting 770 000 / an pour 100 projets, Fiabilité des estimations et du suivi Moins de 10% d erreur Gouvernance objectivée Performance réelle mesurée Maitrise des sous-traitants Comparer les livraisons (coûts, qualité, délais) Copyright Spirula 2011 Tous droits réservés GPS de Projets 9
Clients Copyright Spirula 2011 Tous droits réservés GPS de Projets 10
Notions de base sur les Points de Fonction Copyright Spirula 2011 Copyright Tous droits Spirula réservés 2011 Tous droits réservés
1790 : commerce équitable? Pas d unité de mesure commune 20 définitions du pieds dans le royaume de France Longueur, surface, volume Pouce, doigt, poignée, brassée, pied, pas Travail : Hommée, fauchée, journal Transport : Ânée, charge, sac, tonneau Comment être sûr de ce qu on achète? Copyright Spirula 2011 Tous droits réservés Les Points de Fonctions 12
Et aujourd hui, le logiciel? Quels «UO»? KLOC, nb écrans, nb de Menus, de rapports, de tables, d attributs, Homme.jour 7h, 8h, 9h, 10h, Pas d unité de mesure commune 20 définitions différentes de LOC (Line of Code) l exception des Points de Fonction Copyright Spirula 2011 Tous droits réservés Les Points de Fonctions 13
Taille logicielle: mesures techniques et fonctionnelles TECHNIQUE LOC, nombre de programmes, de modules, d états, d écrans, classes, objets, composants, boîtes, widgets etc. FONCTIONNEL Exigences fonctionnelles de l utilisateur/client Dépendant de la technologie Indépendant de la technologie Copyright Spirula 2011 Tous droits réservés Les Points de Fonctions 14
Objectifs des Points de Fonction Quantifier les fonctionnalités contenues dans un logiciel et livrées à l'utilisateur en se basant essentiellement sur la conception logique : Mesurer de manière «simple» Mesurer de manière "standard", en permettant une comparaison cohérente entre les différents projets et les différentes organisations Copyright Spirula 2011 Tous droits réservés Les Points de Fonctions Page 15
Analogie Taille d'un appartement (m²) indépendant de : o Qui a construit Nb de personne, expérience o Quand il a été construit Âge, le style o Quand il est mesuré Sur plan, après la livraison o Comment il a été construit Méthode, Processus, Phases o Avec quoi il est construit Qualité des matériaux, emploi de modules préfabriqués Les FP sont au logiciel, ce que sont les m² au bâtiment Copyright Spirula 2011 Tous droits réservés Les Points de Fonctions Page 16
Composants des FP Interrogation de mes commandes (EQ) Création de commande (EI) Site Marchand Commandes (ILF) Stock Produits (ILF) Taux de TVA (EIF) Création de la facture (EO) Copyright Spirula 2011 Tous droits réservés Mesurer la productivité 17
Avantages des FP o o o o Norme Internationale Mesure les fonctionnalités du point de vue de l utilisateur (client) Indépendant des techniques et des technologies indépendant des langages indépendant des plateformes Utilisable tout au long du cycle de vie du logiciel Copyright Spirula 2011 Tous droits réservés Les Points de Fonctions Page 18
Evolution de la mesure SW Copyright Spirula 2011 Tous droits réservés Les Points de Fonctions 19
International Function Point Users Group (IFPUG) IFPUG est conforme à la norme ISO / IEC 14143-1:2007 - Software Measurement Objectifs Promouvoir et encourager l utilisation des Points de Fonction Développer des méthodes de comptage efficaces et précises Avantages Communauté de compteurs IFPUG Counting Practices Manual Projets de recherche Hotline Newsletter Certification Membres Tous les secteurs d activités sont représentés Plus de 1200 membres dans plus de 30 pays http://www.ifpug.org/ Copyright Spirula 2011 Tous droits réservés Les Points de Fonctions Page 20
ISBSG http://www.isbsg.org Mission: Aider à améliorer la gestion des ressources IT Gestion d une base de connaissances publiques Les données à disposition sont standardisées, contrôlées et sont représentatives des technologies courantes et récentes. Copyright Spirula 2011 Tous droits réservés Les Points de Fonctions Page 21
Projets Contrats soustraitants Gouvernance Qualité Function Points Analysis (FPA) Coûts Relation clients Maintenance Copyright Spirula 2011 Tous droits réservés Les Points de Fonctions Page 22
SIMPLIFIER ET REDUIRE LES COÛTS DES POINTS DE FONCTION Roberto Meli CEO Patrick Hamon CEO Paris, 4 juillet 2013
Starting point Although it is possible to manage an organization that produces software without measuring the main product itself (it has been done for years...) when you want to be sure to handle it efficiently and in a "competitive mood, measuring is unavoidable. But measurement must be adequate to the situation! N. 24
Measurement and Governance Measurement has assumed an important role in the governance of software processes. you can not manage what you do not know and you can not know what you do not measure N. 25
Why do we measure? Cognitive aspect (internal value) To improve the level of knowledge of a phenomenon (product, process) Social aspect (contractual value) To give evidence of knowledge obtained to third parties N. 26
Measuring in order to to have a "dashboard" for the company's software production: tasks, processes, problems, trends, etc..: to formulate more realistic and more achievable strategies because they are based on reliable and objective data; to improve the quality of the economic estimates of the projects to objectively verify and validate results and achievement of goals; to better understand the processes in the management of everyday operations : information help to predict and prevent future problems, to guide the process of continuous improvement. N. 27
Some Governance questions how much will the next project cost us? how many and what kind of resources do we need? is the requested / offered price reasonable / fair? have I received / given what was promised? are production processes more efficient today than in the past year? and by how much? is the unit cost of software increased or decreased? do we produce with a better or worse quality? what is the size of the software asset? N. 28
In a Project Management context Time Quantity Cost Minimize Project Manager Quality Maximize RISKS N. 29
What do we measure? Software products Functional Size Technical Size Quality Projects and Continuative Services Duration Effort Staffing Cost Benefits/Revenues Risks N. 30
Measurement actuation Management committment Commercial Practices Measurement actuation Competitive context Measurement System Processes Methods & Techniques Tools / Infrastructures Information Systems Motivations Know-how Organizational Structures N. 31
And when game is running N. 32
Cost savings? More accurate estimations (T,, Q, Q) Avoid stress/over-heating Avoid expansion law for gaseous software Risks reduction Quantitative management of reuse Quantitative management of improvement Requirements filtering Change requests control Better priority management N. 33
Heisenberg uncertainty principle applied to software measurement N. 34
Who is him? http://www.windows2universe.org/people/modern_era/heisenberg.html N. 35
An atomic perspective Before Heisenberg After The more precisely the position is determined, the less precisely the momentum is known in this instant, and vice versa. Werner Heisenberg formulated the uncertainty principle (best known as principle of indeterminacy ) at Niels Bohr's institute in Copenhagen, while working on the mathematical foundations of quantum mechanics. N. 36
An important consequence Reality is not certain anymore but only understandable on an experimental and statistical base. The theory is tested on large numbers: the experiment is repeated many times, to ensure that the solutions appear as often as predicted by theory. The theory does not predict a number any more, but a set of values associated with a probability. N. 37
Unfortunately the more precise the measurement, the more it is invasive and disturbing the phenomenon being measured. N. 38
And.. In social sciences this is much more true Measuring behaviours means influencing them N. 39
So what? Manager expectations for ICT are still based on the assumption that the software production process is deterministic. They just want one answer to an estimation problem and usually dislike to hear about risks. The tollerance for resource estimation is less than 10%, possibly none. Contracts are fixed price / turn key. They live in a Newton world! N. 40
But the world has changed N. 41
First principle The only possible software process knowledge is a statistically based one! 12 10 ln(impegno) y = 0,8061x + 3,3821 R² = 0,4145 8 6 4 ln(impegno) Lineare (ln(impegno)) 2 0 0 2 4 6 8 10 N. 42
Second principle You cannot measure one single software attribute without influencing it or other correlated variables (if you wish to use it for assessment or control ) Size Quality Effort N. 43
Variables are interdependent 20 15 10 DURATION 5 0 1 3 5 7 9 11 13 15 17 19 SIZE EFFORT STAFF COST N. 44
Third principle Organizational issues and cognitive traps influence estimations! The anchoring trap The approval by someone The psychological pressure The need to negotiate resources The experience on the estimation methods The knowledge of similar cases The visibility of the relevant factors The time available to estimate N. 45
Fourth principle Estimation will influence actuals! A software project is like a gas: it tends to fit into the space that is granted. If you compress it, it will use less space but it will increase the resistance to the reduction action, if you leave it free, it will expand its space usage... N. 46
Fifth principle When the estimated budget is always respected than it is quite likely that the organization is wasting resources N. 47
So, what is an estimation? An effort estimation is not a scientific guess of an independent variable describing reality but a social contract statistically based for giving a more or less comfortable and agreed framework to the project team in using organizational resources. N. 48
How do we estimate? Development effort Effort= A (FP) B
Basic definitions in ISO14143 Functional Size: A size of software derived by quantifying the FUR s. Functional User Requirements (FUR): a sub-set of the user requirements. FUR s represent the user practices and procedures that the software must perform to fullfil the users needs. They exclude Quality Requirements and any Technical Requirements. FP Base Functional Component (BFC): an elementary unit of FUR s defined by and used by a FSM Method for measurement purposes. N. 50 N. 50
IFPUG FP Reference Model EQ EIF ILF ILF EI EO User domain(human+systems) N. 51
FP: Counting sources User Requirements Conceptual, logical, (physical) data models A T Process model B Q Reports and views Logical / (physical) flowcharts Views N. 52
Counting process basic steps Users, Analysts and FP counters Identification of the application boundary, goal and scope of counting Document Analysis Measurement report drafting Function list Measurement adjustment Data functions and transactions identification Identifying BFC details Functional measurement cycle N. 53
IFPUG method (process): Pros and Cons IFPUG method main Pros: It is consolidated by a several decades use Many benchmarking data are publicly available IFPUG method main Cons: it requires a very high level of details in FURs it provides a wealth of rules not always easily applicable it does not provide a layered model compatible with recent development architectures based on software components it induces uncertainty in the final value of a measurement exercise depending on interpretations of rules (multimedia issue, decoding tables etc.). Values may fluctuate from 5 to 20% it is relatively easy to use it for ex novo development projects but difficult to apply to ordinary maintenance, not well documented enhancement projects and for keeping asset management measures always updated. N. 54
Counting process basic steps Users, Analysts and FP counters Identification of the application boundary, goal and scope of counting Document Analysis Measurement report drafting Function list Measurement final calculation >60% of measurement Data functions and transactions identification effort and duration Identifying BFC details Functional measurement cycle N. 55
Market needs Market requires fast, agile, very challenging measurement methods with low impact on production processes, which require not too specialized skills, that are reliable in results, not dependent on counters opinions, technology and related to effort, cost, duration of a software project. The current FSMMs are only partially compliant with these needs. N. 56
Research & Development DPO, creator of the Early & Quick FP method for IFPUG FP estimation, in late 2010 decided to start a research project to identify an FSM method alternative to IFPUG one, although totally compatible with it, in order to let the organizations saving the full value incorporated in the previous measuring models and services. On April 2011 the first report of a successful research was published. N. 57
Research project goals Define a new functional measurement consistent with the framework of the ISO 14143 family of standards, totally compatible with the IFPUG when applied on the same object of measurement, but...: 1. easier to apply 2. easier to learn 3. less susceptible to different interpretations 4. less susceptible to "manipulation" of measurements 5. designed to allow an easier update of existing measurement assets 6. designed to allow an immediate conversion of existing assets counted with the IFPUG method N. 58
True or False? To obtain an acceptable statistical correlation between effort required to develop or mantain a software application and its functional size is necessary to consider the numerosity AND the internal complexity of BFCs. In other words we assume that BFC s complexity is relevant to effort estimation. N. 59
Really? Studies conducted by DPO on a sample of about 800 projects, extracted by ISBSG data bases, counted with the IFPUG method have shown that this assumption, at least in the context of this methodology, is not true. It's true, instead, the following statement: The accuracy of a model of correlation between actual effort and the software functional size does not decrease when considering only the number of BFC in each of the two classes (data or transaction). N. 60
Only the number of BFCs? Yes! but using only the number of BFCs as a unit of measurement (i.e. every BFC = 1 UFP) we have not a measure which is numerically equivalent to IFPUG. We do have a similar correlation in terms of accuracy effort/size but with a different PDR ratio. We needed a further step in research: to find some BFC definitions and individual weights in order to have the same numerical value if both the methods (IFPUG FP and the new one) are applied to the same software application. N. 61
And we found them! Simple FP are based only on two BFCs and we called them: Unspecified Generic Elementary Process (UGEP) Unspecified Generic Data Group (UGDG) The values associated with each Simple FP BFC are: UGEP = 4,6 SiFP UGDG = 7,0 SiFP N. 62
SiFP Reference Model UGEP UGDG UGDG UGDG UGEP UGEP User domain(human+systems) N. 63
Correlation with effort The correlation between effort and SiFP is identical to the one between effort and IFPUG UFP in both the cases of development and enhancement maintenance projects. The two measures can be used interchangeably in the determination of cost models and with the same unit prices of the market. N. 64
Correlation with effort ln(effort) by SiFP cost model The correlation between the two cost models (one based on IFPUG FP and the other based on SiFP) is impressive! The two logarithmic models are related to each other as y=0,9915x + 0,0476 with determination coefficient R 2 = 0.9777. The single minimum difference (in absolute value) is 0%, the maximum is 37%, the average is 8%, the median is 7%. For about 90% of the projects the difference is below 17%. The final difference of a portfolio of cumulative effort values of about 2'437'087 hours is -51'364 hours equal to -2%. 12 10 8 6 4 2 y = 0,9915x + 0,0476 R² = 0,9777 0 0 2 4 6 8 10 12 ln(effort) by IFPUG cost model N. 65
What are the implications? This finding makes the whole system of rules aimed at the differentiation between IFPUG EI, EO, EQ, ILF and EIF and at the determination of the complexity of the single BFC (DET, RET, FTR), useless. N. 66
What about the size convertibility? By replacing the IFPUG method with the SiFP method at the portfolio level (i.e. on a number of initiatives greater than 30-40) any differences are compensated and the specific size evaluations are almost identical. If we consider the ISBSG data set of circa 800 sample points as a portfolio valued 284 005 UFP the correspondant SiFP value is 282 882 SiFP (absolute difference is 1 123 units equal to <0.4%) N. 67
Frequenza Frequenza UFP vs SiFP 9 8 7 ln(sifp) y = 0,9988x R² = 0,9776 6 5 4 ln(sifp) Lineare (ln(sifp)) 3 2 1 0 0 2 4 6 8 10 Distribuzione variabile ln(ufp) standard Distribuzione variabile ln(sifp) standard 180 120,00% 180 120,00% 160 160 100,00% 100,00% 140 140 120 80,00% 120 80,00% 100 100 80 60 60,00% 40,00% Frequenza % cumulativa 80 60 60,00% 40,00% Frequenza % cumulativa 40 20 20,00% 40 20 20,00% 0 0 0,5 1 1,5 2 2,5 3 3,5 4 4,5 5 5,5 6 6,5 7 7,5 8 8,5 9 9,5 10 Altro 0,00% 0 0 0,5 1 1,5 2 2,5 3 3,5 4 4,5 5 5,5 6 6,5 7 7,5 8 8,5 9 9,5 10 Altro 0,00% Intervalli Intervalli N. 68
Migrating from IFPUG to SiFP Totally painless: it arises from the documentation of the actual measure and it is not necessary to return to the user requirements Total recovery of investment in training (who knows IFPUG just needs an update of a couple of hours in distancelearning). Recovery of the IFPUG certification that will be migrated on demand after a short refresher course indicated above. Considering the equivalence of metrics, contracts drawn using IFPUG FP may be migrated by agreement of the parties. N. 69
ISBSG data ready to be used ISBSG data sets already contain all the information needed to calculate, for each project, the value of SiFP. It is not necessary to start a new collection of data to have a usable benchmarking data base: it is already there! It is only needed that the information about number of EI,EO,EQ,ILF EIF (available on demand) is published in the standard spreadsheet file. N. 70
Learnability & Repeatability We run an experiment involving more than 180 practitioners with no previous knowledge of FP Analysis, grouped in 75 teams exposed to a half a day training on SiFP. They had to measure the Joyland case study using SiFP in 30-45 minutes. The specifications were not completely defined and contained some areas of arbitrary decisions. The target proposed value was 254 SiFP. Class Frequency % cumulative -35% 1 1,33% -27% 2 4,00% -18% 9 16,00% -10% 24 48,00% -1% 14 66,67% 7% 18 90,67% 16% 2 93,33% 24% 3 97,33% >24% 2 100,00% -10%<x<+7% 75% -18%<x<+16% 89% 71
SiFP is not only an estimation method It is a FSMM compliant with ISO 14143 framework It has it s own (simple and few) rules, reference model and manual It is maintained by a specific association It is fully integrated into the Early & Quick FP technique ver. 3.1 N. 72
Simple Function Point - SiFP A new method based on only two functional BFCs: Unspecified Generic Elementary Process (UGEP) Unspecified Generic Data Group (UGDG) Totally compliant with IFPUG benchmarks 2 to 5 times faster Easy to learn It lowers customer-supplier disputes Available for non-specialists of measurement Same unitary costs of the IFPUG FP Immediate conversion of assets N. 73
International Association Protection of registered brand Evolution of Standards Cost model research Networking Knowledge dissemination www.sifpa.org N. 74
Case Study Joyland! N. 75
Questions? N. 76