Uday K BhattEstimation Techniques
AgendaFunction Point EstimationUse-case Point EstimationESB/SOA EstimationCosmic FFPPoints to Ponder
Funtion Point Estimation
11/30/20094Introduction FPA Counting Practices(Definition:FPA is a method to break systems into smaller components, so they can be better understood and analyzed)Project Managers, Software Architects and above.
11/30/20095VocabularyEI = External InputsEQ = External QueriesEO = External OutputsILF = Internal Logical FilesEIF = External Logical filesVAF = Value Adjustment Factor
11/30/20096Overview System & ApplicationBoundaryEIEQEOOutsideApp BoundaryILFEIF
11/30/20097EIExternal Inputs (EI) - is an elementary process in which data crosses the boundary from outside to inside.  This data may come from a data input screen or another application. The data may be used to maintain one or more internal logical files.  The data can be either control information or business information.  If the data is control information it does not have to maintain an internal logical file.
11/30/20098EQExternal Inquiry (EQ) - an elementary process with both input and output components that result in data retrieval from one or more internal logical files and external interface files.  The input process does not update or maintain any FTR’s (Internal Logical Files or External Interface Files) and the output side does not contain derived data.
11/30/20099EOExternal Outputs (EO) - an elementary process in which derived data passes across the boundary from inside to outside.   Additionally, an EO may update an ILF.  The data creates reports or output files sent to other applications.  These reports and files are created from information contained in one or more internal logical files and external interface files.
11/30/200910ILF & EIFInternal Logical Files (ILF) - a user identifiable group of logically related data that resides entirely within the application boundary and is maintained through External Inputs.  Maintained is the process of modifying data (adding, changed and deleting) via an elementary process (via an External Input).External Interface Files (EIF) - a user identifiable group of logically related data that is used for reference purposes only.  The data resides entirely outside the application boundary and is maintained by another applications external inputs.  The external interface file is an internal logical file for another application
11/30/200911Rating:ComponentRET’sFTR’sDET’sExternal Inputs (EI) External Outputs (EO) External Inquiries (EQ) External Interface Files (EIF) Internal Logical Files (ILF) 
11/30/200912RET & FTR & DETRecord Element Type (RET): A RET is user recognizable sub group of data elements within an ILF or an EIF.  It is best to look at logical groupings of data to help identify them. File Type Referenced (FTR): A FTR is a file type referenced by a transaction.  An FTR must also be an Internal Logical File (ILF) or External Interface File (EIF). Data Element Type (DET): A DET is a unique user recognizable, non-recursive (non-repetitive) field.   A DET is information that is dynamic and not static.
11/30/200913Weight FactorsType ofComplexity of Components Component   LowAverageHighTotalExternal Inputs___  x 3 = ______  x 4 = ______  x 6 = ___ External Outputs___  x 4 = ______  x 5 = ______  x 7 = ___ External Inquiries___  x 3 = ______  x 4 = ______  x 6 = ___ Internal Logical Files___  x 7 = ______  x 10 = ______  x 15 = ___ External Interface Files___  x 5 = ______  x 7 = ______  x 10 = ___     Total Number of  Unadjusted  Function Points   _____
11/30/200914VAF (0-5)The value adjustment factor (VAF) is based on 14 general system characteristics (GSC’s) that rate the general functionality of the application being counted.  Each characteristic has associated descriptions that help determine the degrees of influence of the characteristics.
11/30/200915VAF (0-5)General System Characteristic Brief Description1.Data communicationsHow many communication facilities are there to aid in the transfer or exchange of information with the application or system?2.Distributed data processingHow are distributed data and processing functions handled?3.PerformanceDid the user require response time or throughput?4.Heavily used configurationHow heavily used is the current hardware platform where the application will be executed?5.Transaction rateHow frequently are transactions executed daily, weekly, monthly, etc.? 6.On-Line data entryWhat percentage of the information is entered On-Line?7.End-user efficiencyWas the application designed for end-user efficiency?8.On-Line updateHow many ILF’s are updated by On-Line transaction?9.Complex processingDoes the application have extensive logical or mathematical processing?10.ReusabilityWas the application developed to meet one or many user’s needs?11.Installation easeHow difficult is conversion and installation?12.Operational easeHow effective and/or automated are start-up, back up, and recovery procedures?13.Multiple sitesWas the application specifically designed, developed, and supported to be installed at multiple sites for multiple organizations?14.Facilitate changeWas the application specifically designed, developed, and supported to facilitate change?
16Templates
Use Case Point Estimation
Architecture World ‘09Use CasesBusiness use CaseBusiness level functionality, which can be sub divided into multiple or single use cases.Technical Use CaseAn independent behavior which can’t be further sub divided into any form.
Architecture World ‘09Use Case AnalyticsActors IdentificationHumans are always a complex actorSystem ActorUse case to use case interaction actorsIdentification of Primary and Alternate FlowIdentification of interaction with number of tables by a Use case.
Architecture World ‘09Complexity DefinitionHuman Actors are always complexSystem Actors are as follows0-5 Simple6 onwards ComplexUse Case Complexity0-5 Simple ( Flow / Tables)6-10 Medium ( Flow / Tables)11 onwards Complex (Flow/Tables)
Architecture World ‘09Use Case Technical Factors
ESB/SOA Estimation
Architecture World ‘09The Estimation Framework
Architecture World ‘09ESB/SOA DecompositionSOA/ESB hierarchical decomposition can help in identifying the primary components and processesFunctional Requirements termed as Business Factors (BFCT)Non- Functional Requirements termed as Technical factors (TF)
Architecture World ‘09Business Factor (BFCT)Definition: The components which represents the business requirements and transactions in terms of:-ProcessProcess consists of set of business processes workflowsServicesESB provides the routing and connectivity through services, hence services are the real backbone and defined as business servicesIntegrationESB provides a comprehensive persistent framework for integration of applications
Architecture World ‘09Business Factor: Process (BFCT-P)Process: The process factor is decomposed and are following:- Business Service Workflow (BSW)BSW can further be decomposed intoSequential (BSW-S)Parallel (BSW-P)Implementation service Workflow (ISW)ISW can further be decomposed intoSequential (ISW-S)Parallel (ISW-P)
Architecture World ‘09Business Factor: Process (BFCT-P)Process Complexity: Business Service Workflow(BSW) Complexity
BSW-S
0-10 Simple
11-20 Medium
21-30 Complex
BSW-P
2-4 Simple
5-8 Medium
8-12 Complex	Implementation Service Workflow(ISW) Complexity
ISW-S
0-8 Simple
9-14 Medium
15 -20 Complex
ISW-P
2-4 Simple
5-8 Medium
8-12 ComplexArchitecture World ‘09Business Factor: Service (BFCT-S)Services: Services herein defined as business services relation among  defined nodes in ESB pointProvider (S-P)Provider who provided the message/data/controlConsumer (S-C)Consumer who consumes the message/data/controlProvider/Consumer Complexity : Number of P-C Points0-5 Simple5-10 Medium10-15 Complex
Architecture World ‘09Business Factor: Integration (BFCT-I)Integration: Integration herein defined as relation among applications under consideration Application TypeProduct based (IA-P)Open Specification : SimpleProprietary              : MediumLegacy                     : ComplexCustomer developed (IA-C)Open specification : SimpleProprietary             : MediumLegacy  	             : ComplexIntegration TypeAdapter based or services already in place (IS-A)0-5                           : Simple6-10                         :Medium10 +                         :ComplexCustomized services to be developed (IS-D)Number of tables and fields define the complexityDET :RET Defines the complexity
Architecture World ‘09Weight Factors (Normalization)
Architecture World ‘09Technical Factors (TF)Definition: These are Non-functional requirements of any ESB integration. Most of the time applications take control of these factors:-RoutingVersioningTransformationMessagingResponse TimeDistributedOrchestrationProtocolTransactionsAAA
Architecture World ‘09Technical Factors (TF)These technical factors have degrees of influence between (0-5) and this has to be set to 3 at abinitio to  make degree of influence as a multiple of 1, which means no impact on size. As these are set to a max of 5 the maximum percentile impact would be 15 %TF =(DI*.01)+0.70Keeping DI at low impacted multiplier is due to the tools availability to cater these requirements.
Architecture World ‘09Derived Formula & Nominal ValueSOA/ESB Size= Adjusted BFCT Count=BFCT Count*TFEffort in Person Days =            (Adjusted BFCT Count*Productivity Figure)/8 HoursUnadjusted BFCT Count=Σ [Σ(BSW-S)S *WF+(BSW-S)M *WF+(BSW-S)C *WF+Σ (BSW-P)S *WF+(BSW-P)M *WF+(BSW-P)C*WF+Σ (ISW-S)S *WF+(ISW-S)M *WF+(ISW-S)C *WF+Σ (ISW-P)S *WF+(ISW-P)M *WF+(ISW-P)C*WF+Σ (S-P)S *WF+(S-P)M *WF+(S-P)C *WF+Σ (S-C) S  *WF+(S-C) M  *WF+(S-C)C*WF+Σ (IA-P) S*WF+ (IA-P)M*WF+(IA-P)C*WF+ Σ (IA-C)S*WF+ (IA-C)M*WF+ (IA-C)C*WF+Σ (IS-A) S*WF+(IS-A)M*WF+(IS-A)C*WF+ Σ (IS-D) S*WF+ (IS-D)M*WF+(IS-D)C*WF]Normalized Unadjusted BFCT Count=Σ [Σ(BSW-S)S *WF+(BSW-S)M *WF+(BSW-S)C *WF+Σ (S-P)S *WF+(S-P)M *WF+(S-P)C*WF+Σ (S-C) S  *WF+(S-C) M  *WF+(S-C)C*WF+ Σ (IA-P) S*WF+ (IA-P)M*WF+(IA-P)C*WF+Σ (IS-A) S*WF+(IS-A)M*WF+(IS-A)C*WF+ Σ (IS-D) S*WF+ (IS-D)M*WF+(IS-D)C*WF]
34Templates
Cosmic FFP Estimation

Estimation Techniques V1.0

  • 1.
  • 2.
    AgendaFunction Point EstimationUse-casePoint EstimationESB/SOA EstimationCosmic FFPPoints to Ponder
  • 3.
  • 4.
    11/30/20094Introduction FPA CountingPractices(Definition:FPA is a method to break systems into smaller components, so they can be better understood and analyzed)Project Managers, Software Architects and above.
  • 5.
    11/30/20095VocabularyEI = ExternalInputsEQ = External QueriesEO = External OutputsILF = Internal Logical FilesEIF = External Logical filesVAF = Value Adjustment Factor
  • 6.
    11/30/20096Overview System &ApplicationBoundaryEIEQEOOutsideApp BoundaryILFEIF
  • 7.
    11/30/20097EIExternal Inputs (EI)- is an elementary process in which data crosses the boundary from outside to inside. This data may come from a data input screen or another application. The data may be used to maintain one or more internal logical files. The data can be either control information or business information. If the data is control information it does not have to maintain an internal logical file.
  • 8.
    11/30/20098EQExternal Inquiry (EQ)- an elementary process with both input and output components that result in data retrieval from one or more internal logical files and external interface files. The input process does not update or maintain any FTR’s (Internal Logical Files or External Interface Files) and the output side does not contain derived data.
  • 9.
    11/30/20099EOExternal Outputs (EO)- an elementary process in which derived data passes across the boundary from inside to outside. Additionally, an EO may update an ILF. The data creates reports or output files sent to other applications. These reports and files are created from information contained in one or more internal logical files and external interface files.
  • 10.
    11/30/200910ILF & EIFInternalLogical Files (ILF) - a user identifiable group of logically related data that resides entirely within the application boundary and is maintained through External Inputs. Maintained is the process of modifying data (adding, changed and deleting) via an elementary process (via an External Input).External Interface Files (EIF) - a user identifiable group of logically related data that is used for reference purposes only. The data resides entirely outside the application boundary and is maintained by another applications external inputs. The external interface file is an internal logical file for another application
  • 11.
    11/30/200911Rating:ComponentRET’sFTR’sDET’sExternal Inputs (EI) ExternalOutputs (EO) External Inquiries (EQ) External Interface Files (EIF) Internal Logical Files (ILF) 
  • 12.
    11/30/200912RET & FTR& DETRecord Element Type (RET): A RET is user recognizable sub group of data elements within an ILF or an EIF. It is best to look at logical groupings of data to help identify them. File Type Referenced (FTR): A FTR is a file type referenced by a transaction. An FTR must also be an Internal Logical File (ILF) or External Interface File (EIF). Data Element Type (DET): A DET is a unique user recognizable, non-recursive (non-repetitive) field. A DET is information that is dynamic and not static.
  • 13.
    11/30/200913Weight FactorsType ofComplexityof Components Component   LowAverageHighTotalExternal Inputs___ x 3 = ______ x 4 = ______ x 6 = ___ External Outputs___ x 4 = ______ x 5 = ______ x 7 = ___ External Inquiries___ x 3 = ______ x 4 = ______ x 6 = ___ Internal Logical Files___ x 7 = ______ x 10 = ______ x 15 = ___ External Interface Files___ x 5 = ______ x 7 = ______ x 10 = ___     Total Number of Unadjusted  Function Points   _____
  • 14.
    11/30/200914VAF (0-5)The valueadjustment factor (VAF) is based on 14 general system characteristics (GSC’s) that rate the general functionality of the application being counted. Each characteristic has associated descriptions that help determine the degrees of influence of the characteristics.
  • 15.
    11/30/200915VAF (0-5)General SystemCharacteristic Brief Description1.Data communicationsHow many communication facilities are there to aid in the transfer or exchange of information with the application or system?2.Distributed data processingHow are distributed data and processing functions handled?3.PerformanceDid the user require response time or throughput?4.Heavily used configurationHow heavily used is the current hardware platform where the application will be executed?5.Transaction rateHow frequently are transactions executed daily, weekly, monthly, etc.? 6.On-Line data entryWhat percentage of the information is entered On-Line?7.End-user efficiencyWas the application designed for end-user efficiency?8.On-Line updateHow many ILF’s are updated by On-Line transaction?9.Complex processingDoes the application have extensive logical or mathematical processing?10.ReusabilityWas the application developed to meet one or many user’s needs?11.Installation easeHow difficult is conversion and installation?12.Operational easeHow effective and/or automated are start-up, back up, and recovery procedures?13.Multiple sitesWas the application specifically designed, developed, and supported to be installed at multiple sites for multiple organizations?14.Facilitate changeWas the application specifically designed, developed, and supported to facilitate change?
  • 16.
  • 17.
    Use Case PointEstimation
  • 18.
    Architecture World ‘09UseCasesBusiness use CaseBusiness level functionality, which can be sub divided into multiple or single use cases.Technical Use CaseAn independent behavior which can’t be further sub divided into any form.
  • 19.
    Architecture World ‘09UseCase AnalyticsActors IdentificationHumans are always a complex actorSystem ActorUse case to use case interaction actorsIdentification of Primary and Alternate FlowIdentification of interaction with number of tables by a Use case.
  • 20.
    Architecture World ‘09ComplexityDefinitionHuman Actors are always complexSystem Actors are as follows0-5 Simple6 onwards ComplexUse Case Complexity0-5 Simple ( Flow / Tables)6-10 Medium ( Flow / Tables)11 onwards Complex (Flow/Tables)
  • 21.
    Architecture World ‘09UseCase Technical Factors
  • 22.
  • 23.
    Architecture World ‘09TheEstimation Framework
  • 24.
    Architecture World ‘09ESB/SOADecompositionSOA/ESB hierarchical decomposition can help in identifying the primary components and processesFunctional Requirements termed as Business Factors (BFCT)Non- Functional Requirements termed as Technical factors (TF)
  • 25.
    Architecture World ‘09BusinessFactor (BFCT)Definition: The components which represents the business requirements and transactions in terms of:-ProcessProcess consists of set of business processes workflowsServicesESB provides the routing and connectivity through services, hence services are the real backbone and defined as business servicesIntegrationESB provides a comprehensive persistent framework for integration of applications
  • 26.
    Architecture World ‘09BusinessFactor: Process (BFCT-P)Process: The process factor is decomposed and are following:- Business Service Workflow (BSW)BSW can further be decomposed intoSequential (BSW-S)Parallel (BSW-P)Implementation service Workflow (ISW)ISW can further be decomposed intoSequential (ISW-S)Parallel (ISW-P)
  • 27.
    Architecture World ‘09BusinessFactor: Process (BFCT-P)Process Complexity: Business Service Workflow(BSW) Complexity
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
    8-12 Complex Implementation ServiceWorkflow(ISW) Complexity
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
    8-12 ComplexArchitecture World‘09Business Factor: Service (BFCT-S)Services: Services herein defined as business services relation among defined nodes in ESB pointProvider (S-P)Provider who provided the message/data/controlConsumer (S-C)Consumer who consumes the message/data/controlProvider/Consumer Complexity : Number of P-C Points0-5 Simple5-10 Medium10-15 Complex
  • 44.
    Architecture World ‘09BusinessFactor: Integration (BFCT-I)Integration: Integration herein defined as relation among applications under consideration Application TypeProduct based (IA-P)Open Specification : SimpleProprietary : MediumLegacy : ComplexCustomer developed (IA-C)Open specification : SimpleProprietary : MediumLegacy : ComplexIntegration TypeAdapter based or services already in place (IS-A)0-5 : Simple6-10 :Medium10 + :ComplexCustomized services to be developed (IS-D)Number of tables and fields define the complexityDET :RET Defines the complexity
  • 45.
    Architecture World ‘09WeightFactors (Normalization)
  • 46.
    Architecture World ‘09TechnicalFactors (TF)Definition: These are Non-functional requirements of any ESB integration. Most of the time applications take control of these factors:-RoutingVersioningTransformationMessagingResponse TimeDistributedOrchestrationProtocolTransactionsAAA
  • 47.
    Architecture World ‘09TechnicalFactors (TF)These technical factors have degrees of influence between (0-5) and this has to be set to 3 at abinitio to make degree of influence as a multiple of 1, which means no impact on size. As these are set to a max of 5 the maximum percentile impact would be 15 %TF =(DI*.01)+0.70Keeping DI at low impacted multiplier is due to the tools availability to cater these requirements.
  • 48.
    Architecture World ‘09DerivedFormula & Nominal ValueSOA/ESB Size= Adjusted BFCT Count=BFCT Count*TFEffort in Person Days = (Adjusted BFCT Count*Productivity Figure)/8 HoursUnadjusted BFCT Count=Σ [Σ(BSW-S)S *WF+(BSW-S)M *WF+(BSW-S)C *WF+Σ (BSW-P)S *WF+(BSW-P)M *WF+(BSW-P)C*WF+Σ (ISW-S)S *WF+(ISW-S)M *WF+(ISW-S)C *WF+Σ (ISW-P)S *WF+(ISW-P)M *WF+(ISW-P)C*WF+Σ (S-P)S *WF+(S-P)M *WF+(S-P)C *WF+Σ (S-C) S *WF+(S-C) M *WF+(S-C)C*WF+Σ (IA-P) S*WF+ (IA-P)M*WF+(IA-P)C*WF+ Σ (IA-C)S*WF+ (IA-C)M*WF+ (IA-C)C*WF+Σ (IS-A) S*WF+(IS-A)M*WF+(IS-A)C*WF+ Σ (IS-D) S*WF+ (IS-D)M*WF+(IS-D)C*WF]Normalized Unadjusted BFCT Count=Σ [Σ(BSW-S)S *WF+(BSW-S)M *WF+(BSW-S)C *WF+Σ (S-P)S *WF+(S-P)M *WF+(S-P)C*WF+Σ (S-C) S *WF+(S-C) M *WF+(S-C)C*WF+ Σ (IA-P) S*WF+ (IA-P)M*WF+(IA-P)C*WF+Σ (IS-A) S*WF+(IS-A)M*WF+(IS-A)C*WF+ Σ (IS-D) S*WF+ (IS-D)M*WF+(IS-D)C*WF]
  • 49.
  • 50.