COSMIC Sizing Forums Estimating Convert CFP to hours

This topic contains 3 replies, has 2 voices, and was last updated by  Arlan Lesterhuis 1 month ago.

  • Author
    Posts
  • #12220

    Maricela Martínez
    Participant

    I have a project which have 2 functional process:
    One team will develop a functional process “Inquire client in black list”, which will receive different combinations of parameters from a user (human) and it will send this information to a different application in order to know if this client is or not in a black list, as a result the functional process (what is being measured) will receive a binary answer.

    The human user could give:
    Only name and last name
    name, last name and address
    name, last name and cellphone
    name, last name and CURP
    name, last name and RFC
    name, last name and cellphone and CURP, etc.

    At least eighteen combinations of parameters, so the team needs to invest a lot of time to test different combinations.

    We counted “Inquire client in black list” like this:
    1 Entry (from human user) – Client information (name, last name, address, etc.)
    1 Exit (from other application) – Client information (name, last name, address, etc.)
    1 Entry (from other application) – Answer (yes/not is in the black list)
    1 Exit (To human user) – Answer (yes/not is in the black list)

    Only 4 CFP

    Another team need to develop other functional process “Inquire clients registered in a given period”, in which the information of the client is in the Data base.
    1 Entry (started date, finish date)
    1 Read (client information)
    1 Exit (started date, finish date)
    1 Exit (show client information)
    1 Exit (messages like “there is not client registered in that period”)

    5 CFP

    The first question is, is the measurement ok? if so, the point is that the first functional process (“Inquire client in black list”) will need more time than the second (“Inquire clients registered in a given period”) due to the first one needs more time to validate the combination of parameters. If I have a number of hours per CFP to assign to every team, for a complete development cycle, I could calculate more hour to the second team because they have more CFPs, nevertheless the first team is who needs more hours. Could you help me with your comments?

  • #12229

    Arlan Lesterhuis
    Participant

    Dear Maricela,

    Both measurements are OK (assuming that there was no requirement for E/C messages in the first functional process).

    Your reasoning on effort estimating for two pieces of software is correct. However, when a number of pieces of software must be developed (a mixture of simple, moderate and difficult software), the general approach to estimating effort on the basis of CFPs is to use regression analysis (it produces a regression function). When you enter a size to the function, the function will produce the estimate of the effort to be expected. If it appears that you can divide the data of software development in two groups (say ‘simple software’ and ‘other software’) you could consider to apply regression analysis separately to both groups.

    I hope this is clear and helps.

    Regards,

    Arlan Lesterhuis

  • #12232

    Maricela Martínez
    Participant

    Dear Arlan,

    First of all thanks for your answere. I understand, nevertheless, it seems that we could find in the same functional process CFPs which correspond to difficult software and other which correspond to moderate software, for instance:

    It is necessary to show the following report, where:

    The “large Name” is Calculated like this:
    * Large Name = Name + Last Name + mother’s last name

    The CURP is calculated like this:
    * the 2 first characters of the name
    * plus the first character of the last name
    * plus the first character of the mother’s last name
    * plus the birthdate* plus the Number of the City of birth

    The email is calculated like this:
    * the name
    * plus the character “.”
    * plus the last name
    * plus the phase “@empresa.com”

    The Salary is calculated like this:
    SalaryWithoutTaxes = Salary – (Salary * 0.16)

    Period to get a report (Start Date, Finish Date) => Entry
    Information of the Employee (Name, Last Name, mother’s last name, Birthdate, number of City of Birth, Salary) => Read
    Manipulation to get Large Name => There is not CFP
    Manipulation to get CURP => There is not CFP
    Manipulation to get email => There is not CFP
    Manipulation to get SalaryWithoutTaxes => There is not CFP
    Show the Period (Start Date, Finish Date) => Exit
    Show report (Large Name, CURP, email, SalaryWithoutTaxes) => Exit

    The last two exit will not have the same degree of dificulty when the software must be developed
    Could you help me with your comments?

  • #12233

    Arlan Lesterhuis
    Participant

    Dear Maricela,

    Indeed, developing the software represented by the 3rd Exit is easier than the software represented by the 4rth Exit. How to estimate the development effort of each of them? Note that their functional sizes play no role here, as these are both 1 CFP.

    You could set up a very simple registration of such pieces of software, consisting of two attributes: ‘Requirement’ and ‘Effort’. ‘Requirement’ describes the requirement for the piece of software as shortly and clear as possible, and ‘Effort’ specifies the number of hours needed to develop this requirement. You could start with such pieces of software of the past of which the effort is known. Now, if you get some requirement of which you need an approximate effort, just look in your registration to see if one of the items applies (i.e.of which its requirement looks comparable to yours) and use its effort as an approximation for your new requirement. If some items apply, you could use their average as an approximate.

    Regards,

    Arlan Lesterhuis

You must be logged in to reply to this topic.