[Logo] Function Point Analysis And Software Estimation Forum
  [Search] Search   [Recent Topics] Recent Topics   [Hottest Topics] Hottest Topics   [Members]  Member Listing   [Groups] Back to home page 
[Register] Register / 
[Login] Login 
Messages posted by: RoyceEdwards
Forum Index » Profile for RoyceEdwards » Messages posted by RoyceEdwards
Author Message
I'm not clear on what you mean by "where the output is Open Source code". I understand that you are not providing a finished application, but what exactly are you providing? If the "code to anyone who can then use it to develop their own custom applications" is a library of functions, count it as you would any middle-ware bundle.

If your code is some type of software development system, than count it as an actual application. For example, people use Dreamweaver to create web applications, and they can measure those applications, but Adobe can measure the size of Dreamweaver as well. One has nothing to do with the other.

Remember, to have a useful measurement you need to know what question you hope to answer. For example, what is the size of my Dreamweaver application is different from what is the size of the functionality my team uses when they use Dreamweaver and still different from what is the size of a given application I create with Dreamweaver.
The first step in performing a function point count is to use the Functional User Requirements to identify the purpose of the count. The purpose of a function point count is to provide an answer to a business question and that purpose will help you identify the type of count, the counting scope and the application boundary. The purpose might, for example to determine the size of a suite of software for the purpose of negotiating an outsourcing contract for maintenance.

Based on the purpose you will determine the type of count you are performing (development, enhancement or application). For example, if you've made changes to a production application and want to know the change in size, you would do an enhancement count. If you're dealing with an enhancement count you use the existing counting scope and application boundary that was set when you performed your baseline count.

Next you would use the purpose and the type of count to establish the counting scope. In our example of an enhancement count, the counting scope would include all transactional and data functions added, changed or deleted as well as any conversion requirements.

Finally you establish the application boundary based on the user view of the application, not on technical considerations. For example, a company may have an application to monitor when employees are in a company facility. It's been decided that the purpose of the count is to establish a size of the application for comparison against other products developed by outside vendors. The leads us to perform an application count of the running application with a counting scope that includes all functionality currently present in the application. The boundary exists between the application and each user.

Different classes of users may be established to allow different functionality. For example, an employee has the ability to enter and exit the building using their company ID. Another class of users exist in the HR department, their functionality includes the ability to allow employees access to some facilities but not others, and to set the time of day and days of the week that they will be allowed to enter. Building security probably has some functionality which allows them to block specific employees on a temporary basis.

There is a different type of user that is often overlooked and can severely affect that accuracy of a function point count. This is the non-human user. Put simply there may be other machine who are allowed to perform unique tasks with the application and this functionality must be counted as well. Remember that everything counted is based on the business requirements and not on technical considerations. One phrase that is sometimes used to describe this is "functionality requested and received by the user" and can be found in the documentation that you gathered at the start of your function point count.

I hope that this helps. - Royce
I would agree with what has already been said, because I'm believing that the application boundary existed before this layer was introduced.

So it's that correct to say the end user has no visible difference to the way they do work.

If you wish to measure the size of the communications layer, by itself, you would set a bounday around that piece and measure it by itself.

I would retain the full value. When it's translated to effort you don't want a round up error. The full value will look fine on a report. - Royce
Forum Index » Profile for RoyceEdwards » Messages posted by RoyceEdwards
Go to:   
Powered by Function Point Modeler © FPM Team