Presentation on theme: "International Function Point Users Group"— Presentation transcript:
1International Function Point Users Group Functional Sizing Standards CommitteeTammy Preuss, ChairPeter Thomas, MemberInternational Cost Estimation & Analysis Association ConferenceJune 18,2013
2Agenda Function Points Software Non-Functional Assessment Process Why use FP and SNAP methodologies?About IFPUG/ISMAQuestion/Answer
3Why are they important to software measurement? Function PointsBrief HistoryWhat they are?How are they used?Why are they important to software measurement?
4Function Points Brief History 1979 1980s 1990s 2000s Today Developed by Alan Albrecht at IBMA New Way of Looking at Tools1980sFirst Formal Function Point GuidelinesIFPUG elects first Board of DirectorsPublication of Counting Practices Manual1990sPublication of Function Points as an AssetCertified Function Point Specialist Certification2000sIFPUG FSM Method: ISO/IEC 20926:2009 Software and systems engineering - Software measurement - IFPUG functional size measurement methodCFPS certification test is automatedPublication of IFPUG Guide to IT & Software Measurements (2012)TodayCounting Practices Manual v4.3.1International Software Measurements Association Conference #8 in Rio de Janeiro, BrazilSpecial interest groups in Agile methodology & CloudWorking relationships with industry groups including TM Forum, CCC, ICEAA, OMG, NIST, ISBSG4
5Function PointsWhat are they?Measuring functionality provided to the user based primarily on logical design. It is technology agnostic.User can be a person using the system, another application, a system administrator, etc.
6Function Points Counting Process 1. Gather Available Documentation 2. Determine counting scope & boundaries. Identify functional user requirement3. Measure Data Functions4. Measure Transactional Functions5. Calculate Functional Size6. Document & Report
7Function Points Let’s Get Started Gather documentation Application Being ConsideredOtherApplicationsGather documentationDetermine counting scope and boundaryIdentify functional user requirements
8Function Points Measure Data ExternalInterface FilesApplication Being ConsideredInternalLogicalFileOtherApplicationsILF = Logical group of data maintained by the applicationEIF = Logical group of data referenced but not maintained
9Function Points Measure Transactions ExternalInterface FilesExternal InputApplication Being ConsideredExternal OutputInternalLogicalFileExternal InputExternal InquiryExternal OutputOtherApplicationsExternal InquiryEI = Maintains ILF or passes control data into the applicationEO = data sent out of application with added value (e.g. calculated totals)EQ = External Inquiry (e.g. queries)
10Calculate Functional Size & Document Function PointsCalculate Functional Size & DocumentFunction Type Low Average HighEI x 3 x 4 x 6EO x 4 x 5 x 7EQ x 3 x 4 x 6ILF x 7 x 10 x 15EIF x 5 x 7 x 10
11Estimation Benchmarking Outsourcing Contracting Productivity Function PointsWhere are they used?EstimationBenchmarkingOutsourcingContractingProductivityProcess Improvement
12Range of Price Per Function Point Function PointsRange of Price Per Function PointNote large variation and need to set “price” well above average
13View of ISBSG Benchmark data Function PointsView of ISBSG Benchmark dataFor several projects each meeting selection criteria
14Why are they important to software measurement? Software Non-Functional Assessment ProcessBrief HistoryWhat they are?How are they used?Why are they important to software measurement?
15Software Non-Functional Assessment Process Brief History 2007IFPUG approval to ITPC for the project ‘Technical Sizing Framework’Goal: Define a framework covering technical aspects of software not covered by Function Points2009IFPUG Software Non-functional Assessment Process Release 0.1 (Oct 2009) released2010First Beta version released for pilot in industryPost industry feedback SNAP APM Release 1.0 BETA released2011Further beta testing in May 2011 across globeSNAP APM Release 1.0 launched at ISMA 6 workshopTodayBeta tested in 10 countries and 18 organizationsAPM updated with beta test resultsSNAP APM Release 2.1 launched at April 201315
16Software Non-Functional Assessment Process Why SNAP? Defines a framework that would size the Non-Functional/Technical aspects of software development.It provides a quantifiable measure for non-functional size of software development by means of documented guidance, definitions and practices about non-functional software features and related sizing criteria. This enables the organization to:Build better benchmarksImprove software estimationDemonstrate stronger correlation between software size & effortBetter communicating NFR issues between stakeholders16
17Software Non-Functional Assessment Process Counting Process 1. Determine Assessment Purpose, Scope & Boundary2. Associate Non-Functional Requirements to Categories & Sub-categories3. Identify the SNAP Counting Units (SCU)4. Determine Complexity of SCU5. Calculate the SNAP points of the SCU6. Calculate the Non-Functional Size
18Technical Environment Software Non-Functional Assessment ProcessAssociate non-functional requirements to categories & sub-categoriesData Operations1.1 Data Entry Validation1.2 Logical and Mathematical Operations1.3 Data Formatting1.4 Internal Data Movements1.5 Delivering Added Value to Users by Data ConfigurationInterface Design2.1 UI Changes2.2 Help Methods2.3 Multiple Input Methods2.4 Multiple Output MethodsTechnical Environment3.1 Multiple Platforms3.2 Database Technology3.3 Batch ProcessesArchitecture4.1 Component based software4.2 Multiple Input / Output Interfaces18
19Software Non-Functional Assessment Process SNAP Calculation Steps For each non-functional requirement, it is possible to determine the non-functional size in three steps1.Identify the Snap Counting Unit (SCU). This is the unit of measurement for the sub-category such as elementary process, assessed application, user identified batch job.2.Determine the non-functional size (SP) for each SCU within the sub category, by using the equations or the tables for the sub-categories3.Determine the SP for a specific project or application by using the formula for the project type in questionThe SCU is a component or activity, in which complexity and size is assessed. The SCU can be a component, a process or an activity identified according to the nature of the sub-category/sub-categories.
20Software Non-Functional Assessment Process Analysis Steps NFRSNAP Cat 1(Data Operations)SNAP Cat 2(Interface Design)SNAP Cat 3(TechnicalEnvironment)SNAP Cat 4(Architecture)SCU = Elementary Process (Data Formatting)SCU = Assessed application (Help)SCU = User identified batch job (Batch Processes)SCU = Elementary Process (Multiple Inputs/Outputs)Rate complexity of SCUSNAP Points
21Software Non-Functional Assessment Process Example of Calculating SNAP PointsTechnical Environment: Multiple PlatformsSCU = Elementary ProcessHow many SNAP points does an application written in Cobol & Java with multiple browser support contribute to the count?Answer: 40 (Category 2) + 10 (Category 3) = 50 SP
22Why use both FP and SNAP methodologies? A requirement may contain both functional and non-functional aspectsFunctional size measured in Function Points; Non-functional size measured in SNAP PointsRequirement should be broken into its functional and non-functional componentsThe segregation should be agreed by both the users and developersUse FP for FR related tasks and SP for NFR related tasks22
23Why use both FP and SNAP methodologies? Increase ProductivityImprove QualityImprove ProcessesMeasure Your Portfolio of Software AssetsReduce CostsEstablish/Improve Your Software Metrics Program
24About IFPUG/ISMA International Function Point Users Group Volunteers who maintain the standards, publish materials to assist counters, and software measurement programsEstablished in 1982Headquarters in Princeton, New Jersey, USACurrently 1,200 members in 30 CountriesMembers are in AT&T, Steria, IBM, HP, Accenture, Booz Allen Hamilton, Northwestern Mutual, LG CNS, USMC, Banco Brandesco, Banco Central do Brasil, US Department of Defense, SemantysInternational Software Measurement Association is IFPUG annual conference
25Counting Practices Manual 4.3.1 www.ifpug.org About IFPUG/ISMAPublicationsCounting Practices ManualAssessment Practices Manual 2.1The IFPUG Guide to IT and Software Measurement by CRC Press
26International Software Measurement Conference #8 About IFPUG/ISMAInternational Software Measurement Conference #8Co-located with the IT Confidence ConferenceOctober 1 – 2, 2013Rio de Janeiro, BrazilWorkshops, Presentations, NetworkingSponsored by IFPUG & ISBSG
27Come chat with us in the Exhibitor Hall! Questions/AnswersCome chat with us in the Exhibitor Hall!Contact information:Tammy PreussPeter Thomas