OVERCOME MEASUREMENT CHALLENGES WITH … · Point Analysis, ISBSG, Software and Systems Measurement. ... software. Function point analysis. A standard method for measuring software
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
�� Active in ISO/IEC JTC1 SC7 WG12Active in ISO/IEC JTC1 SC7 WG12(Functional Size Measurement) since 1994:(Functional Size Measurement) since 1994:
�� ISO project editor: ISO/IEC 14143ISO project editor: ISO/IEC 14143--5: Determination5: Determinationof Functional Domains for Use with Functional Sizeof Functional Domains for Use with Functional SizeMeasurement (TR2, 2003)Measurement (TR2, 2003)
�� IFPUG Category C Liaison Representative to WG12IFPUG Category C Liaison Representative to WG12
��U.S. Delegate to SC7 / WG12U.S. Delegate to SC7 / WG12
�� Experience:Experience:��Past president of IFPUG,Past president of IFPUG, P.EngP.Eng. (Canada), S/W. (Canada), S/W
Development & Project Management, FunctionDevelopment & Project Management, FunctionPoint Analysis, ISBSG, Software and SystemsPoint Analysis, ISBSG, Software and SystemsMeasurement. Author of >60 published articles.Measurement. Author of >60 published articles.
1. Performed:Level 1 process is a performed process that is often ad hoc and occasionallychaotic. The competence and heroics of the people doing the work drive howthe activities are performed.
2. Managed:Level 2 process is a managed process that is planned, performed, monitored,and controlled for individual projects, groups, or standalone processes toachieve a given purpose. Managing the process achieves both the specificgoals for the process as well as other goals, such as cost, schedule, andquality.
3. Defined:Level 3 process is a defined process that is tailored from the organization’s setof standard processes. Deviations beyond those allowed by the tailoringguidelines are documented, justified, reviewed, and approved.
4. Quantitatively Managed:Level 4 process is a quantitatively managed process that is controlledusing statistical and other quantitative techniques. Product quality, servicequality, and process performance are understood in statistical terms andare controlled throughout the life cycle.
5. Optimizing:Level 5 process is a quantitatively managed process that is improvedbased on an understanding of the common causes of process variationinherent in the process. An optimizing process focuses on continuallyimproving the range of process performance through both incremental andinnovative improvements.
Decision Analysis and ResolutionRisk ManagementIntegrated Project ManagementOrganizational TrainingOrganizational Process DefinitionOrganizational Process FocusValidationProduct VerificationProduct IntegrationTechnical SolutionCustomer and Product Requirements
Defined (3)
Process Innovation DeploymentOrganizational Process TechnologyCausal Analysis and Resolution
Quantitatively Managed (4) Quantitative Management of Quality and ProcessOrganizational Process Performance
�GilbWe need to define requirements in terms of desired futureend states: testable & measurable.
�KowalBehavior models produce “true” sets of requirements thatdocument the customer’s or user’s expectations and doesnot propose a form of the solution. The two most importantaspects of requirements: names of the data, and customerexpectations of system behavior.
IFPUG Definition1: An Internal Logical File(ILF) is a user identifiable group oflogically related data or controlinformation maintained within theboundary of the application. The primaryintent of an ILF is to hold data maintainedthrough on one or more elementaryprocesses of the application beingcounted.
ILF
1IFPUG Function Point Counting Practices Manual, Release 4.2
IFPUG Definition1: An External Interface File (EIF)is a user identifiable group of logically relateddata or control information referenced by theapplication, but maintained within the boundary ofanother application. The primary intent of an EIFis to hold data referenced through on one or moreelementary processes within the boundary of theapplication being counted. This means an EIFcounted for an application must be in an ILF inanother application.
EIF
1IFPUG Function Point Counting Practices Manual, Release 4.2
Purchase Order File - maintained1. Purchase order number (key)2. Item Description3. Item Number4. Quantity Required
Example ILF Counts What is the complexity (Low,Average or High) of each logical data group (“File”) ?
*** Need to examine FP Matrix (DETs, RETs)
Item File - maintained1. Item Number (key) 8. Current Vendor2. Item Description 9. Vendor Address3. Stock on Hand 10. Open Purchase Order Number(s)4. Stock on Order 11. Qty required for each open PO5. Monthly Demand 12. Status for each open PO6. Unit Price 13. Vendor Code for each open PO7. Unit of Issue
External Input (EI) – An external input (EI) is anelementary process that processes data or controlinformation that comes from outside theapplication boundary. The primary intent of an EI isto maintain one or more ILFs and/or to alter thebehavior of the system.
To complete an order, the user enters all of theunderlined fields of data in screens A & B (nextpage). Both screens must be completed. Screen Bautomatically comes up when screen A iscompleted and the user enters all three fields, thenpresses enter to commit the order. This processuses the order ILF (referenced and maintained) anditem EIF (to validate item code). This is to add anorder only. Error messages are from a hard codederror file.
External Output (EO) – An external output (EO) is anelementary process that sends data or controlinformation outside the application boundary. Theprimary intent of an EO is to present information to a userthrough processing logic other than, or in addition to, theretrieval of data or control information.
The processing logic must contain at least onemathematical formula or calculation, or createderived data. An external output may alsomaintain one or more ILFs and/or alter thebehavior of the system.
External Inquiry (EQ) – An external inquiry (EQ) isan elementary process that sends data or controlinformation outside the application boundary. Theprimary intent of an EQ is to present information to a userthrough retrieval of data or control information from an ILFor EIF.
The processing logic contains NOmathematical formulas or calculations, andcreates no derived data. NO ILF ismaintained during the processing, nor isbehavior of the system altered.
To: X Customer NameX Address Line 1X Address Line 2X Address Line 3
The following status is provided on your customer order number XXXXXXfor item ordered X X.
Status: X Text is filled in herefrom the status file
X
Based on the anticipated delivery schedule and standard mailing days, we anticipate that your orderwill reach you by mm /dd /yyyy.
Please call the Customer Service department at 420-1234 if you would like further information on thisorder. Thank you.
9 (Page number system generated)
System Generated LetterThe customername/addressare from theCustomer ILF;the order # &item are fromthe Order ILF;status andstatus date arefrom the StatusILF; and thecalculated dateis determinedby using theOrder ILF and ahard codedalgorithm.
Decision Analysis and ResolutionRisk ManagementIntegrated Project ManagementOrganizational TrainingOrganizational Process DefinitionOrganizational Process FocusValidationProduct VerificationProduct IntegrationTechnical SolutionCustomer and Product Requirements
Defined (3)
Quantitative Management of Quality and ProcessOrganizational Process Performance
Quantitatively Managed (4)
Process Innovation DeploymentOrganizational Process TechnologyCausal Analysis and Resolution
Optimized (5)CMMI-SE/SWProcess Areas(PA) by MaturityLevel
�Level 1 process is a performed process thatis often ad hoc and occasionally chaotic.The competence and heroics of the peopledoing the work drive how the activities areperformed.
� Level 2 process is a managed process that isplanned, performed, monitored, and controlled forindividual projects, groups, or standaloneprocesses to achieve a given purpose. Managingthe process achieves both the specific goals for theprocess as well as other goals, such as cost,schedule, and quality.
�Requirements Management - Use FPs to quantifythe size of the functional requirements
� Project Planning - Use FPs with other variables(non-functional, technical, risk) to estimate effortand cost
� Project Monitoring and Control - Use FPs tokeep track of scope changes, % complete, etc.
� Supplier Agreement Management - Use FPs todefine size of requirements (application/projectbeing outsourced) and for monitoring supplier'sprogress; evaluate alternatives for outsourcing;writing service level agreements (SLAs)
FPs Added, Changed, Deleted over time� Project Cost per FP - $ per FP� Defect Ratio – defects per FP� Testing Proficiency Ratios - % defects found pre-
delivery/total defects (up to 1 month post-delivery)
�Level 3 process is a defined process that istailored from the organization’s set ofstandard processes. Deviations beyondthose allowed by the tailoring guidelines aredocumented, justified, reviewed, andapproved.
Sample measures� Application Support Rates for Organization� Support Activity Trends� Application Maintenance Load per Person� Application Maintenance Cost per FP� Mean Time to Repair
Sample project metrics - compare projects� Delivery Rates by type of project (development, enhancement,
maintenance, language, platform, etc.) (hours per FP)� Duration Delivery Rates by type of project (elapsed duration)� Trending of delivery rates� Testing Proficiency Ratios� Scope creep/requirements volatility - comparisons between
� Level 4 process is a quantitativelymanaged process that iscontrolled using statistical andother quantitative techniques.Product quality, service quality,and process performance areunderstood in statistical terms andare controlled throughout the lifecycle.
�Quantitative Management of Quality andProcess - use FPs as the common denominator forselecting measures and statistical control ofproducts and quality
�Organizational Process Performance - use FPsas one of the measure for establishing performancebaselines for processes.
� Level 5 process is a quantitatively managedprocess that is improved based on anunderstanding of the common causes of processvariation inherent in the process. An optimizingprocess focuses on continually improving the rangeof process performance through both incrementaland innovative improvements.
�Causal Analysis and Resolution - Analyze defectdata using FPs as the common denominatorenables comparisons between projects; allowsevaluating the impact of changes also by using FPsas the common denominator
�Organizational Process Technology Innovation- use FPs as a basic size normalizing measurefor establishing process improvementobjectives
Sample measures� Repair Cost Ratio� Defect Density� Cumulative Defects (size as % of whole)� Defect Distribution by Severity� Defects by Cause (phase)� Mean Time between Defects� Application Support Rate Trends after process
Sample project measures� Defect Detection Ratio (by phase found) aka inspection effectiveness� Defect Removal Efficiency� Defect Distribution by Severity� Defects by Cause� Delivery Rate Trends after process improvements� SPC of defect data� Cost of defect removal by inspection phase� SPC of process info� Software quality - post-release defect density