Sign In to Follow Application
View All Documents & Correspondence

Method And System For Estimating Productivity Of A Team

Abstract: The present invention provides a method, system and computer program product for estimating the productivity of a team for a project. The project includes various activities that are performed using an Extract, Transform and Load (ETL) tool. The method includes identifying the level of language of the ETL tool from a first predefined table which represents the relationship between the level of language and the generation of language of the ETL tool The method further includes assigning a rule number to the activities performed by the ETL tool for the project. Thereafter, the productivity of the team is calculated based on the level of language, the rule number of the activities, and the time taken by the team to complete the project.

Get Free WhatsApp Updates!
Notices, Deadlines & Correspondence

Patent Information

Application #
Filing Date
06 August 2008
Publication Number
7/2010
Publication Type
INA
Invention Field
COMPUTER SCIENCE
Status
Email
Parent Application

Applicants

INFOSYS TECHNOLOGIES LIMITED
PLOT NO. 44, ELECTRONICS CITY, HOSUR ROAD, BANGALORE 560 100.

Inventors

1. SATHYAN, HARISH
SITHARA SANGEETHA JUNCTION, KAVANAD P.O. KOLLAM 69103.
2. SATHYAN, JITHESH
SITHARA SANGEETHA JUNCTION, KAVANAD P.O. KOLLAM 69103.

Specification

BACKGROUND
The present invention relates to the field of productivity estimation for project management. More specifically the present invention relates to a method and system for estimating the productivity of a team working on a project being performed by using an Extract, Transform and Load (ETL) tool.
Productivity estimation is an integral part of project management in software organizations. The estimation of productivity facilitates and improves resource management, decision making, budget estimation, and so forth.
Currently, various techniques are available to estimate productivity. Some of these techniques include, but are not limited to, function point analysis technique. Lines of Code (LOC) technique, object points technique, use case technique, task-based estimation technique, and historical data based technique.
These techniques are used to estimate productivity for Information Technology (IT) projects and provide accurate results for projects performed using programming languages such as C++ Java, and so forth. However, one or more of the techniques above produce less accurate results when used to estimate productivity for projects performed using ETL tools.
One or more of these techniques use the Simple Medium Complex (SMC) model to estimate productivity. These techniques classify various tasks related to the project being performed into simple, medium or complex, based on the complexity level of the task. The estimation of productivity using the SMC model is based on experience and intuition. Further, the level of expertise of the team members is not considered while estimating productivity, which may produce inaccurate results. Typically, the estimate of productivity is expressed in terms of user-defined units. Therefore, the SMC model does not provide accurate results when used to estimate productivity for projects being performed using ETL tools.

There are some techniques provided in the art, which are available to estimate productivity for projects performed using ETL tools. Some of these techniques have one or more of the following limitations. One or more of these techniques rely on intuition and experience, which may not produce accurate results. Further, there is shortage of simple and standardized techniques to efficiently estimate productivity for projects using ETL tools. Moreover, these techniques do not use the level of language of the ETL tool to estimate productivity, which may also produce inaccurate results. These techniques do not provide an estimate of productivity in standard units. In addition, these techniques do not consider the level of expertise of the team members to estimate productivity.
In light of the above, there is a need for a method, system and computer program product for efficiently estimating productivity for projects using ETL tools. Further, the method should enable use of the level of language of the ETL tool to estimate productivity. Moreover, the method should enable use of the level of expertise of the team members to estimate productivity.
SUMMARY
An object of the invention is to efficiently estimate productivity for Extract, Transform and Load (ETL) tools.
Another object of the invention is to use the level of language of the ETL tool to estimate productivity.
Yet another object of the invention is to use the level of expertise of the team members to estimate productivity.
To achieve the objectives mentioned above, the invention provides a method, system and computer program product for estimating the productivity of a team working on a project. Various activities are performed using an ETL tool for execution of the project. The method includes identifying the level of language of the ETL tool from a first predefined table that represents the relationship between the level of language and the generation of language of the ETL tool. The method further includes assigning a rule number to the activities performed by the ETL tool. Thereafter, the productivity of the

team is calculated, based on the level of language, the rule number of the activities, and the time taken by the team to complete the project.
The method enables use of the level of language of the ETL tool to estimate productivity. Further, the level of language helps in efficient estimation of productivity.
BRIEF DESCRIPTION OF THE DRAWINGS
Various embodiments of the invention will hereinafter be described in conjunction with the appended drawings, provided to illustrate, and not to limit, the invention, wherein like designations denote like elements, and in which:
FIG. 1 illustrates a flowchart of a method for estimating the productivity of a team, in accordance with an embodiment of the invention;
FIG. 2 illustrates a flowchart of a method for estimating the productivity of a team, in accordance with another embodiment of the invention;
FIG. 3 illustrates a section of a Caper Jones Language Table® used to estimate the productivity of a team in accordance with an embodiment of the invention;
FIG. 4 illustrates a section of a Caper Jones language level relationship to productivity table® used to estimate the productivity of a team, in accordance with an embodiment of the invention; and
FIG. 5 is a block diagram of a system for estimating the productivity of a team, in accordance with an embodiment of the invention.
DESCRIPTION OF VARIOUS EMBODIMENTS
The invention describes a method, system and computer program product for estimating the productivity of a team working on a project. Productivity provides a quantitative and qualitative value which indicates the efficiency of the team in the project. The team includes one or more members. The project includes one or more

activities performed using an Extract, Transform and Load (ETL) tool. Examples of ETL tools include, but are not limited to, Ab Initio®, Oracle Warehouse Builder® (OWB), Business Objects Data Integrator and Services® (BODI), and Informatica®. Examples of the activities being performed using the ETL tool include, but are not limited to, reading from files, writing to files, reading from tables, writing to tables, use of transformations such as sort and join, use of aggregations such as roll up and record format changes, and creating user-defined functions.
FIG. 1 illustrates a flowchart of a method for estimating the productivity of a team working on a project, in accordance with an embodiment of the invention.
At 102, the level of language of the ETL tool is identified from a first predefined table. In various embodiments of the invention, the level of language represents the complexity level of the language used for the development of the ETL tool. The level of language is identified, based on the generation of language of the ETL tool. The generation of language of an ETL tool represents the generation of the programming language used to build the ETL tool. The generation of language corresponding to each ETL tool is provided in the art. For example, Ab Initio® is built using the fourth-generation language, and the level of language used to build Ab Initio® may be 16, in accordance with the first predefined table. In various embodiments of the invention, the first predefined table represents the relationship between the generation of language and the level of language.
At 104, a rule number is assigned to the one or more activities of a project. In various embodiments of the invention, the rule number of an activity represents the number of rules that should be completed to complete the activity. In various embodiments of the invention, a rule represents a business rule defined by a user. The rule further represents the number of processes of the activity that may be performed and the effort that will be required to perform the processes. For example, if an activity -'using an input table component for reading data from a database' includes the processes - mapping the data flow, entering the label and comment, and specifying the read port record format and the effort required to perform the activity is 5 minutes per

team member, the number of rules to perform the activity may be one, according to the user.
At 106, productivity is calculated for the team working on the project. The productivity of the team is calculated, based on the level of language of the ETL tool, the rule number of the one or more activities being performed on the ETL tool, and the time taken by the team to complete the project. Calculation of productivity is described in detail in conjunction with FIG. 2.
FIG. 2 illustrates a flowchart of a method for estimating the productivity of a team for a project, in accordance with another embodiment of the invention. To describe the method, reference is made to FIG. 1, although it is understood that the method can include fewer or greater number of steps than those illustrated in FIG. 1.
At 102, the level of language of the ETL tool is identified from a first predefined table. In various embodiments of the invention, the level of language represents the complexity level of the language used for the development of the ETL tool. The level of language is identified based on the generation of language of the ETL tool. The generation of language corresponding to each ETL tool is provided in the art. In an embodiment of the invention, the first predefined table is a Caper Jones Language Table®, which has already been provided in the art. The Caper Jones Language Table® is further described in detail in conjunction with FIG. 3.
At 104, a rule number is assigned to the one or more activities of the project. In various embodiments of the invention, the rule number of an activity represents the number of rules that need to be completed to finish the activity. The rule number of an activity is assigned, based on one or more processes that are executed to perform the activity.
In an embodiment of the invention, the rule number is assigned to each activity, based on the complexity level of the activity. In an embodiment of the invention, activities may be classified into various complexity levels. For example, the activities are classified into three complexity levels, namely, simple, medium and complex. In an

embodiment of the invention, the complexity level of an activity is determined based on the complexity of the one or more processes being executed to perform the activity.
For a particular complexity level, the rule number may be a value assigned from a predefined range, in accordance with an embodiment of the invention. For example, the rule number of an activity with a simple complexity level is assigned a value between one and five, the rule number of an activity with a medium comple)^ity level is a value between six and nine, and so forth. Further, the rule number of the activity can vary, depending on the scenario. For example, the rule number of the activity - 'changing the record format' can be two when the number of variables where changes affected are 10, and the rule number can be four when the number of variables where changes affected are 20.
After each activity of the one or more activities has been assigned a rule number, an activity-to-rule number table is developed by the user. In various embodiments of the invention, the activity-to-rule number table includes the one or more activities and the rule number corresponding to each activity. The activity-to-rule number table includes a column for the rule number corresponding to each activity. The activity-to-rule number table is used to determine the rule number that is expected to be completed by a team member. Further, the rule number that is expected to be completed by the team member is used for the calculation of productivity.
In various embodiments of the invention, the rule number is assigned by a user. Examples of the user include a software developer, a team member of the project, and so forth.
At 202, a first factor is determined for the calculation of productivity. In an embodiment of the invention, the first factor is a factor for the workforce approximation of the team.
In an embodiment of the invention, the first factor for a team member is determined based on the level of language determined at 102, the rule number of the one or more activities, as determined at 104, and a productivity estimate.

The level of language determined at 102 is used to identify a ratio of average source code statements to function points, from the first predefined table. The ratio is used to determine the first factor. For example, if the level of language is one, the ratio may be 320, and if the level of language is three, the ratio may be 107, and so forth.
The rule number of the one or more activities determined at 104 is used to determine a number of rules that may be completed by a team member of a particular level of expertise. For example, the number of rules that may be completed by a team member with a basic level of expertise is 1800 per month, and the number of rules that may be completed by a team member with an advanced level of expertise is 2200 per month. In an embodiment of the invention, the number of rules that may be completed by the team member is identified from the activity-to-rule mapping table, which is described in detail in FIG. 1.
The productivity estimate used to determine the first factor represents the number of function points a team member is expected to complete in one month. Typically, the productivity estimate is assigned by the user. The productivity estimate is expressed in terms of function points per team member per month, i.e., the number of function points a team member should complete in a month. The productivity estimate is determined based on an average level of expertise of the team and a productivity range. For example, if the average level of expertise is medium and the productivity range is 15 to 30, the productivity estimate may be 24 function points per team member per month.
The average level of expertise of the team is determined by the user based on the level of expertise of the one or more team members. For example, the average level of expertise is medium when more than half of the team members have a medium level of expertise.
The productivity range represents a range of function points a team member is expected to complete over a predefined time period. In an embodiment of the invention, the predefined time period is one month. In an embodiment of the invention, the productivity range is identified from a second predefined table, which represents the relationship between the level of language and the productivity range.

.

Documents

Application Documents

# Name Date
1 1890-che-2008 abstract.pdf 2011-09-03
1 1890-che-2008 form-5.pdf 2011-09-03
2 1890-che-2008 claims.pdf 2011-09-03
2 1890-che-2008 form-3.pdf 2011-09-03
3 1890-che-2008 correspondence-others.pdf 2011-09-03
3 1890-che-2008 form-1.pdf 2011-09-03
4 1890-che-2008 description (complete).pdf 2011-09-03
4 1890-che-2008 drawings.pdf 2011-09-03
5 1890-che-2008 description (complete).pdf 2011-09-03
5 1890-che-2008 drawings.pdf 2011-09-03
6 1890-che-2008 correspondence-others.pdf 2011-09-03
6 1890-che-2008 form-1.pdf 2011-09-03
7 1890-che-2008 claims.pdf 2011-09-03
7 1890-che-2008 form-3.pdf 2011-09-03
8 1890-che-2008 abstract.pdf 2011-09-03
8 1890-che-2008 form-5.pdf 2011-09-03