FORM 2
THE PATENTS ACT, 1970 (39 of 1970) & THE PATENTS RULES, 2003
COMPLETE SPECIFICATION
(See section 10, rule 13)
1. Title of the invention: PROJECT MANAGEMENT SYSTEM
2. Applicant(s)
NAME | NATIONALITY ADDRESS
TATA CONSULTANCY Indian Nirmal Building, 9th Floor, Nariman Point,
SERVICES LIMITED | | Mumbai, Maharashtra 400021, India
3. Preamble to the description
COMPLETE SPECIFICATION
The following specification particularly describes the invention and the manner in which it
is to be performed.
TECHNICAL FIELD
[0001] The present subject matter relates, in general, to project management and, in
particular, but not exclusively, to mapping of efforts in project management.
BACKGROUND
[0002] Computer programs generally undergo various phases before completion. During
the lifecycle of the computer program, developers of the software program create and/or modify the computer program and provide release versions of the computer program to associated test engineering groups, or marketing/sales and distribution groups, or even directly to end users/consumers. A test engineering group may test the received release of a computer program against a specification and, through an iterative process with the development engineers, converge on a particular release sufficiently tested to permit further distribution to customers or users.
[0003] Further, different people of the testing group may be focused on different subset
of activities related to the release versions of the computer program that pertain to particular features or functionality of the computer program itself. Also, each tester of the testing engineering group may spend different amount of efforts on an allocated activity depending upon personal expertise and complexity of the task associated with the release.
[0004] A key requirement for effectively managing software testing and similar projects
is the ability to track effort level information, i.e., how much time was spent on performing an activity. This information may be used in assessing whether a project is on schedule and to determine the cost and/or billing of a particular project. Therefore, an organization may monitor the efforts put in by testers to forecast the amount of effort required for different activities. Generally, the number of people working in the testing engineering group itself for the testing and quality analysis of a computer software program is huge, manual effort management by tracking the number of hours spent by each individual on various releases can be time consuming, cumbersome, and prohibitively expensive.
SUMMARY
[0005] This summary is provided to introduce concepts related to project management
which are further described below in the detailed description. This summary is not intended to identify essential features of the claimed subject matter nor is it intended for use in determining or limiting the scope of the claimed subject matter.
[0006] Methods and systems for project management for assessing and mapping of
efforts are described. The method of assessing efforts may include receiving a request for testing and Quality Analysis (QA) of a release of the computer program where the release is indicative of a version of the computer program. The method may further include associating a task ID with the release where the task ID is unique to each release of the computer program and, identifying efforts put in for the task ID for at least one activity associated with the testing and QA where the efforts are indicative of time spent by testers for performing the at least one activity.
BRIEF DESCRIPTION OF THE DRAWINGS
[0007] The detailed description is described with reference to the accompanying figures.
In the figures, the left-most digit(s) of a reference number identifies the figure in which the reference number first appears. The same numbers are used throughout the drawings to reference like features and components.
[0008] Fig. 1 illustrates a wireless communication environment implementing an efforts
mapping system, in accordance with an embodiment of the present subject matter.
[0009] Fig. 2(a) and 2(b) illustrate a class diagram and data structure table of an efforts
mapping system, in accordance with an embodiment of the present subject matter.
[0010] Fig. 3 illustrates a method to assess and map efforts put in during testing and QA
of a release of a computer program, in accordance with an embodiment of the present subject matter.
[0011] It should be appreciated by those skilled in the art that any block diagrams herein
represent conceptual views of illustrative systems embodying the principles of the present subject matter. Similarly, it will be appreciated that any flow charts, flow diagrams, state
transition diagrams, pseudo code, and the like represent various processes which may be substantially represented in computer readable medium and so executed by a computer or processor, whether or not such computer or processor is explicitly shown.
DETAILED DESCRIPTION
[0012] Method(s) and system(s) for project management are described. In one
implementation, efforts utilized for testing and performing Quality Analysis (QA) are tracked and mapped to provide the total time spend by the team members on each release of a computer program. The methods can be implemented in systems that include, but are not limited to, desktop computers, hand-held devices, laptops or other portable computers, mobile phones, landline phones, and the like. Although the description herein is with reference to certain computing devices, the methods and systems may be implemented in devices and systems, albeit with a few variations, as will be understood by a person skilled in the art.
[0013] Generally, a computer program development lifecycle is complex which
comprises multiple phases and numerous iterations including rigorous testing and extensive QA. The multiple phases of computer software development are either carried out sequentially or in parallel by different teams and individuals working on the development. In certain situations, different phases of development may occur at different geographic locations where even the teams of individuals are often located in different physical locations.
[0014] One important phase of computer program development is of testing and QA of
the computer program. Further, since the computer program is developed over multiple iterations, testing and QA of each revision is often required. The versions of the computer program, after each iteration, are generally referred to as releases of the computer program. Such releases, when provided to teams for testing and QA, can further be categorized into separate activities where one or more activities may be assigned to a team member. Each activity may be a subset of jobs required for performing testing and QA execution of the release. Further, each activity may also comprise one or more sub activities and so forth, as would be understood by those skilled in the art. Thus, testing of each release may be divided into any level of hierarchy of activities.
[0015] To successfully test and analyze each release of the computer program, different
testing teams working on the computer program, may co-ordinate with each other in an efficient manner to complete all the activities associated with the testing and QA of the release in a given time. Further, since the teams are sometimes located at different geographic locations, in such cases, it is may be difficult to estimate the amount of time spent on a particular activity of a particular release for testing the release of the computer program.
[0016] Generally, for various operational and management tasks, the time consumed in
terms of efforts put in by each individual and the efforts required for testing a particular release of the computer program may be computed The estimation of the efforts put in by various individuals for a particular release may required be for processes, such as the billing details for each release, the efficiency of each individual, the return on investment in testing of each release, and remaining time for completion of the project are dependent on the amount of effort spend on each release, the accurate management of efforts of each individual on various activities for testing and QA of a release along with the total efforts spent on each release, is required by an organization. Further, the correct knowledge of efforts spent on each release also helps in providing managers/ leads with knowledge about the current status of the activities, and also if the project is proceeding as planned.
[0017] Often times, team leads estimate the efforts spent on testing and QA of a release
by requesting the team members to manually fill out weekly or daily timesheets providing details of the time spent of various activities associated with testing and QA of the release. The team members usually fill these time sheets from their own recollections, and hence may do not provide an accurate estimate of the time spent on the various activities of a project.
[0018] Also, to estimate and identify different variants of efforts spent, such as, efforts
spent by each individual on an activity or a sub-activity on a timely basis, total efforts spent by an individual on testing and QA of the release, total efforts spent by the entire team on a particular activity of testing for the release, and total efforts spent by the team on testing and QA of the entire release, team leads have to collate data manually and perform the required analysis, which is often a time consuming and cumbersome task.
[0019] Inaccurate reporting or manual error in estimation of the efforts may lead to an
inaccurate identification of the current status of the project and efficiency of each individual.
Although certain project management tools are available for providing release control management, none of such tools provide the capability to effectively monitor, analyze, and identify the amount of effort spent by the testing team during testing and QA execution of each release of a computer program. Further, such tools also do not provide the capability to analyze and identify the activity for which the efforts are put in during the testing and QA of each release.
[0020] According to an embodiment of the present subject matter, systems and methods
for project management to identify and map efforts put in by different team members in testing and QA of a release are described. The team member forming a part of testing and QA group are hereinafter referred to as testers. The present subject matter is further described with reference to effort mapping in a testing project of a release of a particular computer program, which is only an example for the ease of explanation and it will be understood that the concepts explained in context thereof can be extended to other project management effort assessment applications as well. The described methods may provide a granular level assessment of the efforts, such as efforts put in different activities while performing testing and QA for different activities of a release, and effort per activity.
[0021] In an implementation, time spent on various activities by different testers for
testing a particular release may be tracked and recorded. On one hand, the time spent by each tester for different activities related to testing of the release are tracked, on the other, the complete time spent by the team to complete the testing of the release may also be analyzed.
[0022] The testing and QA of a release may be divided into different activities where
each activity may be required to perform testing and QA of the release. Each activity may be understood as a subset of the testing and QA execution of the release. In said implementation, a Work Breakdown Structure (WBS) may be utilized to identify and monitor the various activities for testing and QA associated with the release. Further, the WBS may facilitate the division of various tasks, in testing and QA of the release, into various activities at granular level, which may in turn provide for better work management and thereby facilitating better effort monitoring for each task and their activities associated with the release. It will be understood that, the different activities of testing and QA may be allocated to various testers based on their expertise
and availability. Further, a tester may also be provided with multiple activities depending upon the resource allocation of tasks. Alternately, one activity may be performed by multiple testers.
[0023] According to an implementation of the present subject matter, various activities
associated with testing and QA of a release may include, but are not limited to, test design, test data setup, and test execution. Further, each activity may further be provided to multiple testers based on the activity and the nature of the testing and QA to be performed. In one implementation, each release may be provided with a task ID, which may be shared with the tester working on different activities of testing and QA of the release.
[0024] Further, to analyze the efforts of each tester on various activities and total efforts
spend on the execution of the release, the efforts spent by each tester may be provided on a regular basis in WBS against the shared task ID. A system may automatically collate and generate the total efforts spent on the testing and QA based on collation of the effort data provided by the testers.
[0025] For example, if a computer program has a release 'a' which is to be tested and
QA'd by the testing team of five testers. The release 'a' may be provided with a task ID of 'A123BX' . Based on the WBS, for the release 'a', there may be six different activities identified. In such a scenario, a test lead may assign two activities of the total six activities to one tester and may assign the remaining activities equally among the remaining five testers. For the identified six activities, each tester may provide the amount of effort put in for the release 'a' with task ID 'A123BX'. And therefore, to identify the total amount of efforts spend in execution of the release 'a', the efforts reported by all the six testers against the task 'A123BX' may be collated. It would be appreciated that a tester may be working on more than one testing and QA task. In such a scenario, the tester may provide efforts spent on each task separately.
[0026] In one implementation, to identify the amount of efforts spent by the team
members per activity, the total efforts put in by the testers during the entire testing and QA of the release may be equally distributed among the total number of activities performed during the testing and QA of the release. This may provide the efforts per activity for the release that are put in during the testing and QA.
[0027] The described subject matter of effort assessment and mapping may provide an
automated, easier, accurate, and real time effort data for testing and QA of any particular release.
Since the efforts for each release are mapped based on a task ID associated with the release, the collation of the net effort can be done in real time without any manual help for collation. And hence, the efforts for different activities and the entire release provided through the described method are error and effort free. The described method may also provide for elimination of redundant work of manual data collation. Further, the system implementing the described method may provide an integration between a WBS and a project management tool to identify and assess effort for each release in a computer program development life cycle.
[0028] It should be noted that the description merely illustrates the principles of the
present subject matter. It will thus be appreciated that those skilled in the art will be able to devise various arrangements that, although not explicitly described herein, embody the principles of the present subject matter and are included within its spirit and scope. Furthermore, all examples recited herein are principally intended expressly to be only for pedagogical purposes to aid the reader in understanding the principles of the present subject matter and the concepts contributed by the inventor(s) to furthering the art, and are to be construed as being without limitation to such specifically recited examples and conditions. Moreover, all statements herein reciting principles, aspects, and embodiments of the present subject matter, as well as specific examples thereof, are intended to encompass equivalents thereof.
[0029] It will also be appreciated by those skilled in the art that the words during, while,
and when as used herein are not exact terms that mean an action takes place instantly upon an initiating action but that there may be some small but reasonable delay, such as a propagation delay, between the initial action and the reaction that is initiated by the initial action. Additionally, the word "connected" is used throughout for clarity of the description and can include either a direct connection or an indirect connection.
[0030] . While aspects of described systems and methods for efforts assessment can be
implemented in any number of different computing devices, environments, and/or configurations, the embodiments are described in the context of the following exemplary system(s).
[0031] Fig. 1 illustrates a network environment 100 implementing an efforts mapping
system 102, hereinafter referred to as system 102, in accordance with an embodiment of the present subject matter. In one implementation, the network environment 100 can be a public
network environment, including a large number of personal computers, laptops, various servers, and other computing devices. In another implementation, the network environment 100 can be a private network environment with a limited number of personal computers, servers, laptops and other computing devices. In yet another implementation, the environment 100 may be a combination of a private and a public network.
[0032] The system 102 may be communicatively connected to a plurality of user devices
104-1, 104-2,...104-N, collectively referred to as the user devices 104 and individually referred to as a user device 104, through a network 106. The system 102 and the user devices 104 may be implemented as any of a variety of conventional computing devices, including, servers, a desktop personal computer, a notebook or portable computer, a workstation, a mainframe computer, a mobile computing device, and a laptop. Further, in one implementation, the system 102 may itself be a distributed or centralized network system in which different computing devices may host one or more of the hardware or software components of the system 102. In another implementation, the various components of the system 102 may be implemented as a part of the same computing device.
[0033] The system 102 is connected to the user devices 104 over the network 106
through one or more communication links. The communication links between the system 102 and the user devices 104 are enabled through a desired form of communication, for example, via dial-up modem connections, cable links, digital subscriber lines (DSL), wireless or satellite links, or any other suitable form of communication.
[0034] The network 106 may be a wireless network, a wired network, or a combination
thereof. The network 106 can also be an individual network or a collection of many such individual networks, interconnected with each other and functioning as a single large network, e.g., the Internet or an intranet. The network 106 can be implemented as one of the different types of networks, such as intranet, local area network (LAN), wide area network (WAN), the internet, and such. The network 106 may either be a dedicated network or a shared network, which represents an association of the different types of networks that use a variety of protocols, for example, Hypertext Transfer Protocol (HTTP), Transmission Control Protocol/Internet Protocol (TCP/IP), etc., to communicate with each other. Further, the network 106 may include network devices, such as network switches, hubs, routers, for providing a link between the
system 102 and the user devices 104. The network devices within the network 106 may interact with the system 102 and the user devices 104 through the communication links.
[0035] In an implementation, the system 102 can receive efforts spent in various
activities of testing and QA of a release of a computer program by various testers from one or more of the user devices 104 over the network 106. The efforts may be provided by the testers, through a corresponding user device, executing different releases from time to time and may pertain to the time spent by the testers during various activities of testing and QA. In said implementation, the user devices 104 may either provide a direct access to the system 102 through the means of an application, or may provide a web portal to the testers to report the efforts put in by them in different activities across different releases. Further, the system 102 may act as an interface between a WBS and a project management system (not shown in the figures) to provide efforts based on WBS to the project management tool. In one implementation, such activities may include, but are not limited to, test design, test data setup, test execution, and the like. Further, the activities may include sub-activities that may in-turn include sub-sub-activities. Further, in one implementation, the system may provide effort mapping along with project management.
[0036] On receiving the efforts from the testers, the system 102 may assess the total
efforts put in by the testers and may perform operations to map the efforts to the release and determine efforts per activity for the release. For this purpose, the system 102 includes one or more processor(s) 108, a memory 112 coupled to the processor(s) 108, and interface(s) 110. The processor(s) 108 may be implemented as one or more microprocessors, microcomputers, microcontrollers, digital signal processors, central processing units, state machines, logic circuitries, and/or any devices that manipulate signals based on operational instructions. Among other capabilities, the processor(s) 108 are configured to fetch and execute computer-readable instructions and data stored in the memory 112.
[0037] The functions of the various elements shown in the figure, including any
functional blocks labeled as "processor(s)", may be provided through the use of dedicated hardware as well as hardware capable of executing software in association with appropriate software. When provided by a processor, the functions may be provided by a single dedicated processor, by a single shared processor, or by a plurality of individual processors, some of which
may be shared. Moreover, explicit use of the term "processor" should not be construed to refer exclusively to hardware capable of executing software, and may implicitly include, without limitation, digital signal processor (DSP) hardware, network processor, application specific integrated circuit (ASIC), field programmable gate array (FPGA), read only memory (ROM) for storing software, random access memory (RAM), non-volatile storage. Other hardware, conventional and/or custom, may also be included.
[0038] The interface(s) 110 may include a variety of software and hardware interfaces,
for example, interface for peripheral device(s), such as a keyboard, a mouse, an external memory, a printer, etc. Further, the interface(s) 110 may enable the system 102 to communicate over the network 106, and may include one or more ports for connecting the system 102 with other computing devices, such as web servers and external databases. The interface(s) 110 may facilitate multiple communications within a wide variety of protocols and networks, such as a network, including wired networks, e.g., LAN, cable, etc., and wireless networks, e.g., WLAN, cellular, satellite, etc.
[0039] The memory 112 may include any computer-readable medium known in the art
including, for example, volatile memory, such as static random access memory (SRAM) and dynamic random access memory (DRAM), and/or non-volatile memory, such as read only memory (ROM), erasable programmable ROM, flash memories, hard disks, optical disks, and magnetic tapes. The memory 112 also includes modules 114 and data 116.
[0040] The modules 114 include routines, programs, objects, components, data
structures, etc., which perform particular tasks or implement particular abstract data types. The modules 114 further include a request processing module 118, an effort processing module 120, and other modules 122. The other modules 122 may include programs or coded instructions that supplement applications and functions on the system 102, for example, programs in the operating system.
[0041] The data 116, amongst other things, serves as a repository for storing data
processed, received, and generated by one or more of the modules 114. The data 116 includes a tester data 124, release data 126, and other data 128. The other data 128 may include data generated as a result of the execution of one or more modules in the other modules 122.
[0042] Although, the release data 126 has been illustrated internal to the system 102;
however, it will be understood that the release data 126 may be hosted on external memory device(s) or external computing device(s) communicatively connected to the system 102.
[0043] In one embodiment, the request processing module 118 may receive a request to
perform testing and QA for a release of a computer program. The request processing module 118, upon receiving such a request may associate a task ID with each release of the computer program. The task ID can be considered as a unique identifier associated with the release to map the efforts of the testers spent in various activities of the release.
[0044] In one implementation of the present subject matter, the task ID associated with
each release may be provided to each of the tester performing various activities related to testing and QA of the release. The release may include multiple activities to be performed for its testing and QA. Such activities may be a subset of jobs required to be done for performing the testing and QA. Further, the activities may also include multiple sub-activities which in turn may again include one or more sub-sub activities and so forth. In such a scenario, an activity may be provided for execution to one or more testers depending upon the complexity of the activity and the competency of the tester. It will be understood that work allocation can be at sub-activity level, however for the purposes of explanation and not as a limitation, jobs allocated to a tester, at whichever granular level, may be referred to as an activity.
[0045] Further, the activities related to the testing and QA of the release may be
identified based on a WBS. WBS may provide a granular level description of the activities to be performed for testing and QA of a release. Hence, based on WBS for the release, different identified activities may be provided to different testers. The distribution of activities among different testers for testing and QA lies beyond the scope of the present subject matter and therefore, has not been described in detail for the sake brevity. However, the efforts received by the system 102 from different testers are based on the efforts put in by the testers on the activities allocated to them.
[0046] In said implementation, each tester may provide the efforts put in during the
execution of one or more activities for testing and QA to the request processing module 118.
[0047] The request processing module 118 may receive the efforts against the task ID
associated with the release. Further, it would be understood that a tester may provide efforts
against one or more task IDs depending upon the number of releases (s)he is working on for testing and QA of one or more computer program. The efforts may indicate the time, or man hours spent by the testers during the testing and QA of each activity of a release. In one implementation, the system 102 may store the efforts provided by each testers in tester data 124.
[0048] It would be understood that a tester may be performing the job of testing and QA
for more than one release, and therefore, may provide efforts for all the activities (s)he is performing during testing and QA of various releases. In one implementation, the request processing module 118 may also assign activity IDs to the activities associated with testing and QA of a release. Further, the request processing module 118 may also determine the activities for which a tester may provide efforts put in based on the allocated activities to the tester. Based on the allocation, any efforts provided by the tester against an activity not assigned to the tester may also be identified.
[0049] In an implementation, once the system 102 receives the effort information, the
effort processing module 120 may be configured to process the efforts information provided to identify the total efforts spent in various activities and on a particular release. The effort processing module 120 may also process the efforts information to identify the total efforts put in by a tester in various activities. Since the efforts provided by the testers are based on the activity performed and the release for which the activity is performed, the effort processing module 120 may identify the total efforts in different forms where each form may provide efforts put in by the testers.
[0050] For example, 5 testers may perform 12 activities for testing and QA of a release of
a computer program. During the execution of such activities, each tester may spend some efforts and may report the same to the system 102 through the user devices 104. In said example, the effort processing module 120 may process the efforts of all the 5 testers spent across all the 12 activities to identify the total efforts spent by the testers for the release. The effort processing module 120 may also identify the efforts put in by each tester individually. In another implementation, the effort processing module 120 may also compute the efforts spent per activity during the testing and QA of the release. For this purpose, the effort processing module 120 may divide the total efforts spent by the testers for the release equally among the total number of activities performed.
[0051] In another example, 5 testers may perform a single activity for testing and QA of
a release of a computer program. Also, each tester may provide the efforts spent by him/her during the execution of the portion of the activity. In such a scenario, the effort processing module 120 may identify the total effort spend by all the testers on performing the activity. It would be appreciated that the effort processing module 120 may thus process the efforts of each tester and provide either the total efforts put in by the testers during the testing and QA of the release, the total efforts put in by the testers during execution of each activity, or total efforts put in by each tester individually of various activities or any other variant as thereof.
[0052] Further, apart from receiving efforts from testers through the user devices 104, the
system 102 may also allow administrators, such as project managers and team leads to view the efforts processed by the effort processing module 120. In one implementation, the administrator may access the system 102 through a dedicated port of the interface 110. In another implementation, the administrator may access the system 102 with the help of any of the user device 104 through the network 106.
[0053] In any of the above described scenario, the effort processing module 120 may
provide an administrator with the total efforts put in by the testers during the testing and QA of the release, the total efforts put in by the testers during execution of each activity, and total efforts put in by each tester individually of various activities. Further, the effort processing module 120 may also allow the administrator to view the breakup of the details of the efforts, such as the efforts spend by any tester on any activity, efforts put in by a group of testers on an activity, or efforts put in by a group of testers on a release. It would be understood by those skilled in the art that the testers and the administrators may require different set of credentials to access the system 102.
[0054] As described before, the testers provide the efforts spent by them during the
testing and QA to the system 102 based on the activity and task ID associated with the release. The effort processing module 120 may further map the processed efforts of the release based on the task ID to the release details of a project management tool. It would be understood by those skilled in the art that a project management tool may manage different versions/releases of a computer program where among other things; details regarding the release may be managed.
[0055] The effort processing module 120 may map the task ID of the release to the
release details of the project management tool to provide the effort utilization data per release. In one implementation, the mapping may be based on the task ID where the efforts reported by the testers for a task ID are mapped to the corresponding release in the project management tool. In other words, the system 102 may act an interface to map the efforts of the testers to the release of a computer program in the tool. Further, in said implementation, the data related to the release of a computer program, such as task ID associated with the release, number of activities associated with the release, task ID, and efforts per release may be stored by the system 102 in the release data 126.
[0056] In one implementation, the effort processing module 120 may also generate
reports associated with the processed total efforts. The report may include multiple fields where the processed efforts are mapped with the activity and its corresponding release details. Further, the effort processing module 120 may generate reports based on different requirement. For example, the effort processing module 120 may generate a report with total efforts mapped against each release of a computer program. Further, the effort processing module 120 may also generate another report where total efforts are mapped to each activity of the release along with contribution of each tester. The effort processing module 120 may also generate another report in which the efforts of a tester are mapped to different activities and releases. It would be appreciated that the reports can be generated for any particular time duration, such as one report may be generated to describe efforts of a tester w.r.t. different activities and releases over a period of one month. Similarly, another report may be generated to describe efforts of the tester w.r.t. different activities and release over a period of two quarters.
[0057] Fig. 2(a) and 2(b) represent a class diagram 205 and a data structure table 210 of
the system 102, according to an embodiment of the present subject matter. Referring to Fig. 2(a), the class diagram 205 describes the structure of the system 102 by describing the various classes of the system 102 along with their attributes, operations (or methods), and the relationships among the classes. The class diagram describes a class task entity, which may include the details of a task associated with a release. Each task may have a unique task ID and may also include other attributes like task name and task description. In one implementation, the testers may provide the efforts spent on different activities against a task ID. For this purpose, the request processing module 118 may provide the activities allocated to the tester based on the task ID
selected by him/her. The tester may provide his/her efforts put in each activity separately for that particular task ID.
[0058] Referring to Fig. 2(b), according to an implementation, the data structure table
210 depicts a way of storing and organizing efforts provided by the testers, in the system 102. The WBS data structures include task ID and the task master includes the task ID as the key attribute of the data structures. This enables the testers to provide their efforts corresponding to a task ID that can then be stored according to the data structure table 2(b). The efforts thus stored in the activities are mapped to the task ID which can then be mapped to the corresponding release in a project management tool to provide a granular level effort detail along with consolidated effort data. Hence, the system 102 may act an interface to map the efforts of the testers to the release of a computer program in the project management tool. The data structure table 210 may include various tables, such as the aspnet users, WBS daily update, deply master, and task master; and these tables may be linked together. The efforts provided for the activities associated with the task ID may then be mapped from these tables to the project management tool.
[0059] Fig. 3 illustrates a method 300 for effort mapping of a release, in accordance with
an embodiment of the present subject matter. According to an aspect, the concepts of effort mapping are described with reference to the system 102 described above.
[0060] The method(s) may be described in the general context of computer executable
instructions. Generally, computer executable instructions can include routines, programs, objects, components, data structures, procedures, modules, functions, etc., that perform particular functions or implement particular abstract data types. The method may also be practiced in a distributed computing environment where functions are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, computer executable instructions may be located in both local and remote computer storage media, including memory storage devices.
[0061] The order in which the method is described is not intended to be construed as a
limitation, and any number of the described method blocks can be combined in any order to implement the method 300, or an alternative method. Additionally, individual blocks may be deleted from the methods without departing from the spirit and scope of the subject matter
described herein. Furthermore, the method 300 can be implemented in any suitable hardware, software, firmware, or combination thereof. The method 300 is explained with reference to the system 102, however, it will be understood that the method 300 can be implemented in other systems as well.
[0062] At block 302, a request to perform testing and quality analysis (QA) for a release
of a computer program is received. In one implementation of the present subject matter, a new release of a computer program is indicative of a new version of computer program. In said implementation, for testing and QA of the release of the computer program, one or more activities may be required. Such activities may be distributed among different testers based on their workload and professional expertise. In one example, the request processing module of the system 102 may be configured to receive the request.
[0063] At block 304, a task ID is associated with the release where the task ID is unique
to each release of the computer program. In one implementation, the task ID is provided to the testers working on various activities for testing and QA of the release. The testers may provide the efforts put in while performing different activities during testing and QA of the release against the task ID. In one implementation, the request processing module 118 of the system 102 may allocate task ID to the received releases of different computer program.
[0064] At block 306, efforts from one or more testers associated with the testing and QA
of the release are received for at least one activity. According to an implementation of the present subject matter, the request receiving module 118 of the system 102 is configured to receive the efforts from the testers. The efforts may represent the time spent by the testers while performing the activities during the testing and QA. Further, the testers may provide the efforts for each activity performed separately. This may allow the system 102 to process the efforts of each tester based on different activities individually. Also, each tester reporting the efforts for the activity performed, may provide the task ID against which the activity has been performed. It would be appreciated that the task ID is associated with the release of the computer program.
[0065] At block 308, efforts put in for the task ID are identified for the activity associated
with the release. Different testers may provide efforts for different activities. For example, one tester may provide efforts for more than one activity. Further, for another activity more than one tester may also provide their efforts. In such a scenario, the total efforts put in by the testers on
performing testing and QA of the release may be identified. Further, the total efforts put in by various testers for a particular activity may also be identified, in accordance with an implementation of the present subject matter. Further, the effort processing module 120 of the system 102 may identify the total efforts put in by the testers.
[0066] At block 310, a report based on the identified efforts may be generated. In one
implementation, the effort processing module 120 of the system 102 may generate a report of efforts based on different requirements. For example, a report may be generated based on the total efforts put in by various testers for performing the testing and QA of the release. Further, another report may also be generated based on the total efforts put in by various testers in performing a particular activity associated with the testing and QA of the release. Also, a report may be generated based on the efforts put in by the testers for different activities and different releases over a period of time.
[0067] Although embodiments for methods and systems for effort mapping and project
management have been described in a language specific to structural features and/or methods, it is to be understood that the invention is not necessarily limited to the specific features or methods described. Rather, the specific features and methods are disclosed as exemplary embodiments for data communication.
I/We claim:
1. A method to assess efforts utilized in testing and quality analysis (QA) of a computer
program, the method comprising:
receiving a request for testing and QA of a release of the computer program, wherein the release is indicative of a version of the computer program;
associating a task ID with the release, wherein the task ID is unique to each release of the computer program; and
identifying efforts put in for the task ID for at least one activity associated with the testing and QA, wherein the efforts are indicative of time spent by testers for performing the at least one activity.
2. The method as claimed in claim 1, wherein the at least one activity comprises one or more of test design, test data setup, and test execution.
3. The method as claimed in claim 1, wherein the identified efforts for activities based on a work breakdown structure (WBS) of the release are mapped to release details in a project management tool managing the release based on the task ID.
4. The method as claimed in claim 1, wherein the identifying further comprises collating efforts for each activity associated with the testing and QA of the release, and wherein the collated efforts provide the total efforts utilized in execution of the testing and QA of the release.
5. The method as claimed in claim 1, wherein the method further comprises identifying efforts put in by a tester during the testing and QA for a predetermined duration of time period, and wherein the efforts are associated with one or more activities of one or more releases.
6. The method as claimed in claim 1, wherein the method further comprises generating a report based on the identified efforts.
7. The method as claimed in claim 6, wherein the report comprises one or more of total efforts utilized in execution of the testing and QA of the release, total efforts put in by the testers for performing an activity, and efforts put in by a tester during the testing and QA for a predetermined duration of time period.
8. An efforts mapping system (102) to assess and map efforts utilized in testing and quality analysis (QA) of a computer program comprising:
a processor (108); and
a memory (112) coupled to the processor (108), the memory (112) comprising:
a request processing module (118) configured to receive a request for the testing and QA of a of the computer program, wherein the release is indicative of a version of the computer program; and
an effort processing module (120) configured:
associate a task ID with the release, wherein the task ID is unique
to each release of the computer program; and
identify efforts put in for the task ID for at least one activity
associated with the testing and QA, wherein the efforts are indicative of
time spent by testers for performance of the at least one activity.
9. The efforts mapping system (102) as claimed in claim 8, wherein the effort processing module (120) is further configured to map the efforts put in during the testing and QA of the release for activities identified from a work breakdown structure (WBS) of the release to a project management tool managing the release
10. The efforts mapping system (102) as claimed in claim 8, wherein the effort processing module (120) is further configured to collate efforts for each activity associated with the testing and QA of the release based on the task ID, and wherein the collated efforts provide the total efforts utilized in execution of testing and QA of the release.
11. The efforts mapping system (102) as claimed in claim 8, wherein the effort processing module (120) is further configured to generate a report based on the identified efforts.
12. A computer-readable medium having embodied thereon a computer readable program code for executing a method comprising:
receiving a request for testing and QA of a release of the computer program, wherein the release is indicative of a version of the computer program;
associating a task ID with the release, wherein the task ID is unique to each release of the computer program; and
identifying efforts put in for the task ID for at least one activity associated with the testing and QA, wherein the efforts are indicative of time spent by testers for performing the at least one activity.