US20070118433A1 - System and method for agent based developer self selection - Google Patents

System and method for agent based developer self selection Download PDF

Info

Publication number
US20070118433A1
US20070118433A1 US11/285,320 US28532005A US2007118433A1 US 20070118433 A1 US20070118433 A1 US 20070118433A1 US 28532005 A US28532005 A US 28532005A US 2007118433 A1 US2007118433 A1 US 2007118433A1
Authority
US
United States
Prior art keywords
management agent
project
quote
contract
utilization management
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
US11/285,320
Other versions
US7853489B2 (en
Inventor
Charles Bess
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ent Services Development Corp LP
Original Assignee
Electronic Data Systems LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Electronic Data Systems LLC filed Critical Electronic Data Systems LLC
Assigned to ELECTRONIC DATA SYSTEMS reassignment ELECTRONIC DATA SYSTEMS ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: BESS, CHARLES E.
Priority to US11/285,320 priority Critical patent/US7853489B2/en
Assigned to ELECTRONIC DATA SYSTEMS CORPORATION reassignment ELECTRONIC DATA SYSTEMS CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: BESS, CHARLES E
Priority to PCT/US2006/036494 priority patent/WO2007061493A2/en
Priority to EP06825020A priority patent/EP1955156A4/en
Priority to AU2006317627A priority patent/AU2006317627A1/en
Priority to CA002621596A priority patent/CA2621596A1/en
Publication of US20070118433A1 publication Critical patent/US20070118433A1/en
Assigned to ELECTRONIC DATA SYSTEMS, LLC reassignment ELECTRONIC DATA SYSTEMS, LLC CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: ELECTRONIC DATA SYSTEMS CORPORATION
Assigned to HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P. reassignment HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: ELECTRONIC DATA SYSTEMS, LLC
Publication of US7853489B2 publication Critical patent/US7853489B2/en
Application granted granted Critical
Assigned to HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP reassignment HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Assigned to ENT. SERVICES DEVELOPMENT CORPORATION LP reassignment ENT. SERVICES DEVELOPMENT CORPORATION LP ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Active legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06311Scheduling, planning or task assignment for a person or group
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0611Request for offers or quotes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0613Third-party assisted
    • G06Q30/0617Representative agent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0633Lists, e.g. purchase orders, compilation or processing

Definitions

  • the present invention relates to computer software and, more specifically, to software agents and systems for matching individuals with specified skill sets with appropriate tasks.
  • the present invention provides a method, system, and computer program product for matching developers or entities with certain skills with work projects.
  • a project manager utilizes a bid management agent which receives project specifications from the project manager specifying such things as, for example, project duration, work product desired, skill sets desired by the developers, experience level desired of the developers, and compensation.
  • the bid management agent broadcasts a request for quotes for the project to utilization management agents.
  • Each utilization management agent is employed by a different developer or entity and receives and tracks the interests and skills and other attributes of the developer and sends a quote to a bid management agent when it receives a request for a quote for a project which matches the interests, skills, availability, and other attributes of the developer for which the utilization management agent is employed.
  • the bid management agent sends contracts to utilization management agents from which it receives quotes it deems acceptable based on project manager specified criteria.
  • FIG. 1 depicts a schematic diagram illustrating process flows and program functions for an exemplary agent based developer self selection system in accordance with one embodiment of the present invention
  • FIG. 2 depicts an exemplary process flow and program function for an exemplary bid management agent in accordance with one embodiment of the present invention
  • FIG. 3 depicts an exemplary process flow and program function for an exemplary utilization management agent in accordance with one embodiment of the present invention
  • FIG. 4 depicts a pictorial representation of a distributed data processing system in which the present invention may be implemented
  • FIG. 5 depicts a block diagram of a data processing system which may be implemented as a server in accordance with the present invention.
  • FIG. 6 depicts a block diagram of a data processing system in which the present invention may be implemented.
  • FIG. 1 a schematic diagram illustrating process flows and program functions for an exemplary agent based developer self selection system is depicted in accordance with one embodiment of the present invention.
  • the agent based self selection system 100 in the embodiment depicted in FIG. 1 comprises a bid management agent 106 working on behalf of a project manager 102 and a utilization management agent 108 working on behalf of a developer 104 .
  • a bid management agent 106 and a single utilization management agent 108 are depicted.
  • the system 100 will include multiple bid management agents and multiple utilization management agents wherein each project manager would typically have at least one bid management agent at their disposal and each developer would have a utilization management agent.
  • the bid management agent 106 comprises a user interface, preferably a graphical user interface, (however, the particular user interface type is not critical) which enables the project manager 102 to create a project 110 and specify the candidate selection criteria which should be included by the bid management agent 106 in the broadcast of the project.
  • the criteria could include, for example, experience level, a skill set, a location, specify a compensation level or structure, and a time requirement by which the project should be completed.
  • the bid management agent 106 then broadcasts the project (which includes the specified criteria) and a Request For Quote (RFQ) 126 to utilization management agents 108 .
  • RFQ Request For Quote
  • Methods of broadcasting information over a network are well known to those skilled in the art and will not be discussed herein.
  • the candidate selection criteria may also include criteria by which the bid management agent 106 may select from multiple quotes 128 should several developer's 104 utilization management agents 108 in excess of the number of developers needed for the project reply to the broadcast RFQ 126
  • the utilization management agent 108 serves the needs of a developer 104 in obtaining and scheduling projects of greatest interest to the developer 104 .
  • the utilization management agent 108 includes a user interface, such as, for example, a graphical user interface, that allows the developer 104 to specify the developer's 104 interests and skills thereby allowing the utilization management agent 108 to track the developer's 104 interests and skills 118 .
  • the developer 104 could specify education background, skill sets, experience, as well as provide a hierarchy of preferences as to what types of projects the developer 104 prefers.
  • the developer 104 may also specify the type and amount of compensation desired for performing each type of project or skill.
  • the developer 104 may also specify criteria by which the utilization management agent 108 may select from among competing projects. For example, the developer may prefer one type of project if all time and compensation or equal among competing projects. However, the developer may be willing to accept an otherwise less desirable project if the compensation of the less desirable project exceeds that of competing projects and/or exceeds a threshold level of compensation. Similar criteria may be specified for other variables such as, for example, time requirements and/or travel requirements. Other variables may also be used to help differentiate between competing projects as will be recognized by those skilled in the art. Therefore, the particular variables specified herein should not be taken as a limitation of the present invention, but rather merely as examples.
  • the utilization management agent 108 confirms 120 whether the developer has an interest by comparing the project requirements to the interests, skills, and other specification criteria set up by the developer 104 to determine, first, whether the developer has the qualifications and availability specified by the project manager and, second, whether the developer 104 has an interest in the project. If an interest is confirmed 120 , the utilization management agent 108 sends a quote 128 to the bid management agent 106 .
  • the quote may specify a desired compensation, a time frame in which the work will be performed, or other information that the developer 104 wishes.
  • the Quote 128 may supply the developer's desired terms.
  • the RFQ may have omitted some variables, such as, compensation.
  • the Quote 128 then supplies the omitted criteria based upon factors specified by the developer 104 .
  • the bid management agent 106 then receives quotes 128 from one or more utilization management agents 108 and utilizes candidate selection criteria specified by the project manager 102 to identify candidates 112 .
  • the bid management agent then accepts bids 114 and sends a contract 130 to the utilization management agent(s) 108 corresponding to the accepted bid(s).
  • the utilization management agent 108 validates acceptance 122 of the contract 130 ensuring that the contracts 130 terms reflect the terms that are acceptable to the developer 104 and sends an indication of agreement 132 back to the bid management agent confirming the agreement.
  • the utilization management agent 108 may notify the developer 104 and allow the developer 104 to validate or veto the contract 130 to further ensure that the developer 104 approves of the contract.
  • the utilization management agent 108 then notifies the developer 104 by, for example, e-mail, instant messaging, or some other appropriate method of the project contract with the specified terms and perhaps other information such as, for example, the contact information for the project manager and identities and contact information for other team members on the project.
  • the utilization management agent 108 updates a data storage that tracks the availability 124 of the developer to indicate that the times specified in the project contract or unavailable for accepting other projects.
  • the bid management agent 106 then manages candidates 116 supplying them with information relevant to the performance of their tasks for the project.
  • project managers can define attributes of the project such as, for example,:
  • the utilization management agent 108 performs the following:
  • FIG. 2 an exemplary process flow and program function for an exemplary bid management agent is depicted in accordance with one embodiment of the present invention.
  • a bid management agent such as, for example, bid management agent 106 illustrated in FIG. 1 , creates a project based upon criteria specified by a project manager 202 and broadcasts a request for quotes for the project to utilization management agents within a network (step 204 ).
  • the bid management agent receives quotes from utilization management agents representing various developers (step 206 ). If quotes are received from more developers than are required for the project, then the bid management agent determines which of the received quotes to accept based on selection criteria specified by the project manager (step 208 ).
  • the bid management agent then sends a contract to the one or more utilization management agents corresponding to accepted quotes for validation by the utilization management agent and/or corresponding developer (step 210 ).
  • the bid management agent receives the validated contract from the utilization management agents 212 and manages the candidates (step 214 ).
  • the bid management agent may then accept the next best quote or if there are no other quotes to accept, may rebroadcast the project to start the process over.
  • the rebroadcast project may, in some embodiments have the project criteria broadened so as not to exclude as many potential candidates.
  • FIG. 3 an exemplary process flow and program function for an exemplary utilization management agent is depicted in accordance with one embodiment of the present invention.
  • the utilization management agent such as, for example, utilization management agent 108 illustrated in FIG. 1 , tacks the interests and skills of a user or developer (step 302 ) by, for example, receiving input from the developer specifying the developer's preferences, skills, experience level, and/or other relevant information, such as schedule and current availability.
  • the utilization management agent then monitors a network for broadcasts from bid management agents.
  • the utilization management agent then may receive a request for quote for a project (step 304 ) and determines whether the project conflicts with existing commitments (step 306 ). If the project conflicts with existing commitments and an alternative cannot be resolved, the agent ignores the request for quote and no further action is taken.
  • the utilization management agent determines whether the project matches the interests and skills of the developer (step 308 ). If the project does not match the interests and skills of the developer as defined by the developer, then the request for quote is ignored and no further action is taken related to the request for quote. If, however, the project does match the interests and skills of the developer, then a quote or bid is prepared based on developer criteria and submitted to the project manager's bid management agent (step 310 ).
  • the utilization management agent then awaits a response from the bid management agent. Once a response is received from the bid management agent (step 312 ), the utility management agent determines from the response whether the bid was accepted (step 314 ). If the bid was not accepted, then no further action is taken by the utility management agent. If, however, the bid was accepted and a contract has been received from the bid management agent, the utility management agent validates the contract with the developer and, if validated, notifies the bid management agent and updates the developer's availability schedule to show the appropriate times as busy (step 316 ).
  • FIG. 4 a pictorial representation of a distributed data processing system is depicted in which the present invention may be implemented.
  • Distributed data processing system 400 is a network of computers in which the present invention may be implemented.
  • Distributed data processing system 400 contains network 402 , which is the medium used to provide communications links between various devices and computers connected within distributed data processing system 400 .
  • Network 402 may include permanent connections, such as wire or fiber optic cables, or temporary connections made through telephone connections.
  • server 404 is connected to network 402 , along with storage unit 406 .
  • clients 408 , 410 and 412 are also connected to network 402 .
  • These clients, 408 , 410 and 412 may be, for example, personal computers, network computers, personal digital assistants (PDAs), or other network enabled data processing device.
  • PDAs personal digital assistants
  • a network computer is any computer coupled to a network that receives a program or other application from another computer coupled to the network.
  • server 404 may provide data, such as boot files, operating system images and applications, to clients 408 - 412 .
  • server 404 provides a data processing system on which bid management agents and utility management agents may be implemented.
  • network 400 may include several servers in addition to server 404 and some agents may be implemented on different servers within the network 400 .
  • Clients 408 , 410 and 412 include functionality enabling a developer or project manager to interface with its utility management agent or bid management agent.
  • the bid management agents and utilization management agents may be implemented on a client, such as any one of clients 408 , 410 , and 412 .
  • Distributed data processing system 400 may include additional servers, clients, and other devices not shown. In order for developers and project managers to print out information relevant to, for example, projects and accepted bids, distributed data processing system 400 also includes printers 414 , 416 and 418 .
  • a client such as client 410 , may print directly to printer 414 .
  • Clients such as client 408 and client 412 do not have directly attached printers. These clients may print to printer 416 , which is attached to server 404 , or to printer 418 , which is a network printer that does not require connection to a computer for printing documents.
  • Client 410 alternatively, may print to printer 416 or printer 418 , depending on the printer type and the document requirements.
  • distributed data processing system 400 is the Internet, with network 402 representing a worldwide collection of networks and gateways that use the TCP/IP suite of protocols to communicate with one another and appropriate security tools, such as, for example, encryption, Virtual Private Networks (VPNs), and other devices utilized to ensure confidentiality of the information sent over the network.
  • security tools such as, for example, encryption, Virtual Private Networks (VPNs), and other devices utilized to ensure confidentiality of the information sent over the network.
  • VPNs Virtual Private Networks
  • distributed data processing system 400 also may be implemented as a number of different types of networks such as, for example, an intranet or a local area network.
  • FIG. 4 is intended as an example and not as an architectural limitation for the processes of the present invention.
  • Data processing system 500 may be a symmetric multiprocessor (SMP) system including a plurality of processors 502 and 504 connected to system bus 506 . Alternatively, a single processor system may be employed. Also connected to system bus 506 is memory controller/cache 508 , which provides an interface to local memory 509 . I/O bus bridge 510 is connected to system bus 506 and provides an interface to I/O bus 512 . Memory controller/cache 508 and I/O bus bridge 510 may be integrated as depicted.
  • SMP symmetric multiprocessor
  • Peripheral component interconnect (PCI) bus bridge 514 connected to I/O bus 512 provides an interface to PCI local bus 516 .
  • PCI bus 516 A number of modems 518 - 220 may be connected to PCI bus 516 .
  • Typical PCI bus implementations will support four PCI expansion slots or add-in connectors.
  • Communications links to network computers 408 - 412 in FIG. 4 may be provided through modem 518 and network adapter 520 connected to PCI local bus 516 through add-in boards.
  • Additional PCI bus bridges 522 and 524 provide interfaces for additional PCI buses 526 and 528 , from which additional modems or network adapters may be supported. In this manner, server 500 allows connections to multiple network computers.
  • a memory mapped graphics adapter 530 and hard disk 532 may also be connected to I/O bus 512 as depicted, either directly or indirectly.
  • FIG. 5 may vary.
  • other peripheral devices such as optical disk drives and the like, also may be used in addition to or in place of the hardware depicted.
  • the depicted example is not meant to imply architectural limitations with respect to the present invention.
  • Data processing system 500 may be implemented as, for example, an AlphaServer GS1280 running a UNIX® operating system.
  • AlphaServer GS1280 is a product of Hewlett-Packard Company of Palo Alto, Calif.
  • AlphaServer is a trademark of Hewlett-Packard Company.
  • UNIX is a registered trademark of The Open Group in the United States and other countries.
  • Data processing system 600 is an example of a client computer.
  • Data processing system 600 employs a peripheral component interconnect (PCI) local bus architecture.
  • PCI peripheral component interconnect
  • Processor 602 and main memory 604 are connected to PCI local bus 606 through PCI bridge 608 .
  • PCI bridge 608 may also include an integrated memory controller and cache memory for processor 602 . Additional connections to PCI local bus 606 may be made through direct component interconnection or through add-in boards.
  • local area network (LAN) adapter 610 SCSI host bus adapter 612 , and expansion bus interface 614 are connected to PCI local bus 606 by direct component connection.
  • audio adapter 616 graphics adapter 618 , and audio/video adapter (A/V) 619 are connected to PCI local bus 606 by add-in boards inserted into expansion slots.
  • Expansion bus interface 614 provides a connection for a keyboard and mouse adapter 620 , modem 622 , and additional memory 624 .
  • SCSI host bus adapter 612 provides a connection for hard disk drive 626 , tape drive 628 , CD-ROM drive 630 , and digital video disc read only memory drive (DVD-ROM) 632 .
  • Typical PCI local bus implementations will support three or four PCI expansion slots or add-in connectors.
  • An operating system runs on processor 602 and is used to coordinate and provide control of various components within data processing system 600 in FIG. 6 .
  • the operating system may be a commercially available operating system, such as Windows XP, which is available from Microsoft Corporation of Redmond, Wash. “Windows XP” is a trademark of Microsoft Corporation.
  • An object oriented programming system, such as Java may run in conjunction with the operating system, providing calls to the operating system from Java programs or applications executing on data processing system 600 . Instructions for the operating system, the object-oriented operating system, and applications or programs are located on a storage device, such as hard disk drive 626 , and may be loaded into main memory 604 for execution by processor 602 .
  • FIG. 6 may vary depending on the implementation.
  • other peripheral devices such as optical disk drives and the like, may be used in addition to or in place of the hardware depicted in FIG. 6 .
  • the depicted example is not meant to imply architectural limitations with respect to the present invention.
  • the processes of the present invention may be applied to multiprocessor data processing systems.
  • the present invention is not limited to such use.
  • the present invention may be applied to any type of project in which persons or entities with special skills are needed to staff a project including such projects as, for example, accounting, engineering, and legal projects. Therefore, the term developer as used herein, should not be construed to refer only to software developers or to individuals, but includes any type of person or entity (where an entity may contain a plurality of persons) with a special skill or skills.
  • the terms “comprises”, “comprising”, or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Further, no element described herein is required for the practice of the invention unless expressly described as “essential” or “critical”.

Abstract

A method, system, and computer program product for matching developers or entities with certain skills with work projects is provided. In one embodiment, a project manager utilizes a bid management agent which receives project specifications from the project manager specifying such things as, for example, project duration, work product desired, skill sets desired by the developers, experience level desired of the developers, and compensation. The bid management agent broadcasts a request for quotes for the project to utilization management agents. Each utilization management agent is employed by a different developer or entity and receives and tracks the interests and skills and other attributes of the developer and sends a quote to a bid management agent when it receives a request for a quote for a project which matches the interests, skills, availability, and other attributes of the developer for which the utilization management agent is employed. The bid management agent sends contracts to utilization management agents from which it receives quotes it deems acceptable based on project manager specified criteria.

Description

    BACKGROUND OF THE INVENTION
  • 1. Technical Field
  • The present invention relates to computer software and, more specifically, to software agents and systems for matching individuals with specified skill sets with appropriate tasks.
  • 2. Description of Related Art
  • Identifying personal to work on projects across a geographically diverse organization and collection of companies is difficult. Currently most organizations use a relatively manual process, supported by communications between supervisors and project leaders, for assigning individuals to projects and tasks. Skills and availability are agreed upon using this time consuming interaction. Availability may be tracked via calendaring software like Microsoft® Office Outlook®. (Microsoft® Office Outlook® is a product and registered trademark of Microsoft Corporation of Redmond, Wash.). A separate skills database may also be kept using a resource management tool like SAP. Tools, such as, for example, Evolve, are available that look at an individual's calendar against the individual's set of skills. However, the interests of the individual are not incorporated. Therefore someone who is interested in a particular topic may be overlooked based upon other attributes. Furthermore this process is time consuming and error prone and also may result in assigning an individual work that the person is not interested in. Uninteresting work can result in quicker worker fatigue and poor performance as well as lead to low workplace moral.
  • To alleviate the time consuming task of appropriately assigning tasks to individuals in an environment containing a large number of individuals who are perhaps geographically disperse as well as improve the match between assignments and individuals, it would be desirable to have an automated system that provides software agents on behalf of the individuals and employers to aid in matching individuals to projects. Such a system may offer the benefits of reducing the time and effort associated with matching an individual with an assignment. Such a system may also provide a mechanism that more appropriately matches individuals with projects they are suited for and interested in.
  • SUMMARY OF THE INVENTION
  • The present invention provides a method, system, and computer program product for matching developers or entities with certain skills with work projects. In one embodiment, a project manager utilizes a bid management agent which receives project specifications from the project manager specifying such things as, for example, project duration, work product desired, skill sets desired by the developers, experience level desired of the developers, and compensation. The bid management agent broadcasts a request for quotes for the project to utilization management agents. Each utilization management agent is employed by a different developer or entity and receives and tracks the interests and skills and other attributes of the developer and sends a quote to a bid management agent when it receives a request for a quote for a project which matches the interests, skills, availability, and other attributes of the developer for which the utilization management agent is employed. The bid management agent sends contracts to utilization management agents from which it receives quotes it deems acceptable based on project manager specified criteria.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The novel features believed characteristic of the invention are set forth in the appended claims. The invention itself, however, as well as a preferred mode of use, further objectives and advantages thereof, will best be understood by reference to the following detailed description of an illustrative embodiment when read in conjunction with the accompanying drawings, wherein:
  • FIG. 1 depicts a schematic diagram illustrating process flows and program functions for an exemplary agent based developer self selection system in accordance with one embodiment of the present invention;
  • FIG. 2 depicts an exemplary process flow and program function for an exemplary bid management agent in accordance with one embodiment of the present invention;
  • FIG. 3 depicts an exemplary process flow and program function for an exemplary utilization management agent in accordance with one embodiment of the present invention;
  • FIG. 4 depicts a pictorial representation of a distributed data processing system in which the present invention may be implemented;
  • FIG. 5 depicts a block diagram of a data processing system which may be implemented as a server in accordance with the present invention; and
  • FIG. 6 depicts a block diagram of a data processing system in which the present invention may be implemented.
  • DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
  • With reference now to the figures, and in particular with reference to FIG. 1, a schematic diagram illustrating process flows and program functions for an exemplary agent based developer self selection system is depicted in accordance with one embodiment of the present invention.
  • The agent based self selection system 100 in the embodiment depicted in FIG. 1 comprises a bid management agent 106 working on behalf of a project manager 102 and a utilization management agent 108 working on behalf of a developer 104. For simplicity and ease of illustration a single bid management agent 106 and a single utilization management agent 108 are depicted. However, in most implementations, the system 100 will include multiple bid management agents and multiple utilization management agents wherein each project manager would typically have at least one bid management agent at their disposal and each developer would have a utilization management agent.
  • The bid management agent 106 comprises a user interface, preferably a graphical user interface, (however, the particular user interface type is not critical) which enables the project manager 102 to create a project 110 and specify the candidate selection criteria which should be included by the bid management agent 106 in the broadcast of the project. For example, the criteria could include, for example, experience level, a skill set, a location, specify a compensation level or structure, and a time requirement by which the project should be completed. The bid management agent 106 then broadcasts the project (which includes the specified criteria) and a Request For Quote (RFQ) 126 to utilization management agents 108. Methods of broadcasting information over a network are well known to those skilled in the art and will not be discussed herein. The candidate selection criteria may also include criteria by which the bid management agent 106 may select from multiple quotes 128 should several developer's 104 utilization management agents 108 in excess of the number of developers needed for the project reply to the broadcast RFQ 126
  • Further description of the bid management agent 106 function is described below. However, we turn now to the utilization management agent 108. The utilization management agent 108 serves the needs of a developer 104 in obtaining and scheduling projects of greatest interest to the developer 104. The utilization management agent 108 includes a user interface, such as, for example, a graphical user interface, that allows the developer 104 to specify the developer's 104 interests and skills thereby allowing the utilization management agent 108 to track the developer's 104 interests and skills 118. For example, the developer 104 could specify education background, skill sets, experience, as well as provide a hierarchy of preferences as to what types of projects the developer 104 prefers. The developer 104 may also specify the type and amount of compensation desired for performing each type of project or skill.
  • The developer 104 may also specify criteria by which the utilization management agent 108 may select from among competing projects. For example, the developer may prefer one type of project if all time and compensation or equal among competing projects. However, the developer may be willing to accept an otherwise less desirable project if the compensation of the less desirable project exceeds that of competing projects and/or exceeds a threshold level of compensation. Similar criteria may be specified for other variables such as, for example, time requirements and/or travel requirements. Other variables may also be used to help differentiate between competing projects as will be recognized by those skilled in the art. Therefore, the particular variables specified herein should not be taken as a limitation of the present invention, but rather merely as examples.
  • Thus, once the utilization management agent 108 receives the RFQ 126 that has been broadcast by the bid management agent 106, the utilization management agent 108 confirms 120 whether the developer has an interest by comparing the project requirements to the interests, skills, and other specification criteria set up by the developer 104 to determine, first, whether the developer has the qualifications and availability specified by the project manager and, second, whether the developer 104 has an interest in the project. If an interest is confirmed 120, the utilization management agent 108 sends a quote 128 to the bid management agent 106. The quote may specify a desired compensation, a time frame in which the work will be performed, or other information that the developer 104 wishes. For example, if the RFQ 126 for the project merely contained a range of values for some variables, such as, for example, compensation or time frame, the Quote 128 may supply the developer's desired terms. In another scenario, the RFQ may have omitted some variables, such as, compensation. In such case, again, the Quote 128 then supplies the omitted criteria based upon factors specified by the developer 104.
  • The bid management agent 106 then receives quotes 128 from one or more utilization management agents 108 and utilizes candidate selection criteria specified by the project manager 102 to identify candidates 112. The bid management agent then accepts bids 114 and sends a contract 130 to the utilization management agent(s) 108 corresponding to the accepted bid(s).
  • The utilization management agent 108 then validates acceptance 122 of the contract 130 ensuring that the contracts 130 terms reflect the terms that are acceptable to the developer 104 and sends an indication of agreement 132 back to the bid management agent confirming the agreement. As part of this acceptance validation 122 process, the utilization management agent 108 may notify the developer 104 and allow the developer 104 to validate or veto the contract 130 to further ensure that the developer 104 approves of the contract. The utilization management agent 108 then notifies the developer 104 by, for example, e-mail, instant messaging, or some other appropriate method of the project contract with the specified terms and perhaps other information such as, for example, the contact information for the project manager and identities and contact information for other team members on the project. The utilization management agent 108 updates a data storage that tracks the availability 124 of the developer to indicate that the times specified in the project contract or unavailable for accepting other projects.
  • The bid management agent 106 then manages candidates 116 supplying them with information relevant to the performance of their tasks for the project.
  • Thus, this approach is based upon being able to predefine the developer entities attributes such as, for example:
      • area of interest (a willingness to perform the work based upon salary level);
      • skill set; and
      • availability;
        and have a software program acting as an agent to automatically respond to requests for those skills and capabilities. This entity may be a single developer, a whole company of developers or even an intermediary that can subcontract developers.
  • As stated above, project managers can define attributes of the project such as, for example,:
      • duration;
      • skills required;
      • expectations of the developer like a certain level of quality and experience.
        Thus, the bid management agent 106, in one embodiment, performs the following functions:
  • 1) Definition of the project;
  • 2) Definition of the candidate list;
  • 3) Broadcast of the work that needs to be done; and
  • 4) Coordination of the contracting process.
  • The utilization management agent 108, in one embodiment, performs the following:
      • 1) Tracks attributes of the developer, such as, for example, interest and skills;
      • 2) Tracks the availability of the developer;
      • 3) Responds to RFQs from the bid manager with availability and compensation level without necessarily interacting with the developer; and
      • 4) Responds to contract requests from the bid manager by interacting with the developer to ensure a contract.
  • With reference now to FIG. 2, an exemplary process flow and program function for an exemplary bid management agent is depicted in accordance with one embodiment of the present invention.
  • To begin, a bid management agent, such as, for example, bid management agent 106 illustrated in FIG. 1, creates a project based upon criteria specified by a project manager 202 and broadcasts a request for quotes for the project to utilization management agents within a network (step 204). The bid management agent then receives quotes from utilization management agents representing various developers (step 206). If quotes are received from more developers than are required for the project, then the bid management agent determines which of the received quotes to accept based on selection criteria specified by the project manager (step 208). The bid management agent then sends a contract to the one or more utilization management agents corresponding to accepted quotes for validation by the utilization management agent and/or corresponding developer (step 210). The bid management agent then receives the validated contract from the utilization management agents 212 and manages the candidates (step 214).
  • If a contract for an accepted quote is ultimately rejected by the corresponding developer, then the bid management agent may then accept the next best quote or if there are no other quotes to accept, may rebroadcast the project to start the process over. The rebroadcast project may, in some embodiments have the project criteria broadened so as not to exclude as many potential candidates.
  • With reference now to FIG. 3, an exemplary process flow and program function for an exemplary utilization management agent is depicted in accordance with one embodiment of the present invention.
  • The utilization management agent, such as, for example, utilization management agent 108 illustrated in FIG. 1, tacks the interests and skills of a user or developer (step 302) by, for example, receiving input from the developer specifying the developer's preferences, skills, experience level, and/or other relevant information, such as schedule and current availability. The utilization management agent then monitors a network for broadcasts from bid management agents. The utilization management agent then may receive a request for quote for a project (step 304) and determines whether the project conflicts with existing commitments (step 306). If the project conflicts with existing commitments and an alternative cannot be resolved, the agent ignores the request for quote and no further action is taken.
  • If the project does not conflict with existing commitments of the developer, then the utilization management agent determines whether the project matches the interests and skills of the developer (step 308). If the project does not match the interests and skills of the developer as defined by the developer, then the request for quote is ignored and no further action is taken related to the request for quote. If, however, the project does match the interests and skills of the developer, then a quote or bid is prepared based on developer criteria and submitted to the project manager's bid management agent (step 310).
  • The utilization management agent then awaits a response from the bid management agent. Once a response is received from the bid management agent (step 312), the utility management agent determines from the response whether the bid was accepted (step 314). If the bid was not accepted, then no further action is taken by the utility management agent. If, however, the bid was accepted and a contract has been received from the bid management agent, the utility management agent validates the contract with the developer and, if validated, notifies the bid management agent and updates the developer's availability schedule to show the appropriate times as busy (step 316).
  • With reference now to FIG. 4, a pictorial representation of a distributed data processing system is depicted in which the present invention may be implemented.
  • Distributed data processing system 400 is a network of computers in which the present invention may be implemented. Distributed data processing system 400 contains network 402, which is the medium used to provide communications links between various devices and computers connected within distributed data processing system 400. Network 402 may include permanent connections, such as wire or fiber optic cables, or temporary connections made through telephone connections.
  • In the depicted example, server 404 is connected to network 402, along with storage unit 406. In addition, clients 408, 410 and 412 are also connected to network 402. These clients, 408, 410 and 412, may be, for example, personal computers, network computers, personal digital assistants (PDAs), or other network enabled data processing device. For purposes of this application, a network computer is any computer coupled to a network that receives a program or other application from another computer coupled to the network. In the depicted example, server 404 may provide data, such as boot files, operating system images and applications, to clients 408-412. However, more importantly, server 404 provides a data processing system on which bid management agents and utility management agents may be implemented. In many embodiments, network 400 may include several servers in addition to server 404 and some agents may be implemented on different servers within the network 400. Clients 408, 410 and 412 include functionality enabling a developer or project manager to interface with its utility management agent or bid management agent.
  • Alternatively, the bid management agents and utilization management agents, such as agents 106 and 108 depicted in FIG. 1, may be implemented on a client, such as any one of clients 408, 410, and 412.
  • Distributed data processing system 400 may include additional servers, clients, and other devices not shown. In order for developers and project managers to print out information relevant to, for example, projects and accepted bids, distributed data processing system 400 also includes printers 414, 416 and 418. A client, such as client 410, may print directly to printer 414. Clients such as client 408 and client 412 do not have directly attached printers. These clients may print to printer 416, which is attached to server 404, or to printer 418, which is a network printer that does not require connection to a computer for printing documents. Client 410, alternatively, may print to printer 416 or printer 418, depending on the printer type and the document requirements.
  • In the depicted example, distributed data processing system 400 is the Internet, with network 402 representing a worldwide collection of networks and gateways that use the TCP/IP suite of protocols to communicate with one another and appropriate security tools, such as, for example, encryption, Virtual Private Networks (VPNs), and other devices utilized to ensure confidentiality of the information sent over the network. At the heart of the Internet is a backbone of high-speed data communication lines between major nodes or host computers consisting of thousands of commercial, government, education, and other computer systems that route data and messages. Of course, distributed data processing system 400 also may be implemented as a number of different types of networks such as, for example, an intranet or a local area network.
  • FIG. 4 is intended as an example and not as an architectural limitation for the processes of the present invention.
  • Referring to FIG. 5, a block diagram of a data processing system which may be implemented as a server, such as server 404 in FIG. 4, is depicted in accordance with the present invention. Data processing system 500 may be a symmetric multiprocessor (SMP) system including a plurality of processors 502 and 504 connected to system bus 506. Alternatively, a single processor system may be employed. Also connected to system bus 506 is memory controller/cache 508, which provides an interface to local memory 509. I/O bus bridge 510 is connected to system bus 506 and provides an interface to I/O bus 512. Memory controller/cache 508 and I/O bus bridge 510 may be integrated as depicted.
  • Peripheral component interconnect (PCI) bus bridge 514 connected to I/O bus 512 provides an interface to PCI local bus 516. A number of modems 518-220 may be connected to PCI bus 516. Typical PCI bus implementations will support four PCI expansion slots or add-in connectors. Communications links to network computers 408-412 in FIG. 4 may be provided through modem 518 and network adapter 520 connected to PCI local bus 516 through add-in boards.
  • Additional PCI bus bridges 522 and 524 provide interfaces for additional PCI buses 526 and 528, from which additional modems or network adapters may be supported. In this manner, server 500 allows connections to multiple network computers. A memory mapped graphics adapter 530 and hard disk 532 may also be connected to I/O bus 512 as depicted, either directly or indirectly.
  • Those of ordinary skill in the art will appreciate that the hardware depicted in FIG. 5 may vary. For example, other peripheral devices, such as optical disk drives and the like, also may be used in addition to or in place of the hardware depicted. The depicted example is not meant to imply architectural limitations with respect to the present invention.
  • Data processing system 500 may be implemented as, for example, an AlphaServer GS1280 running a UNIX® operating system. AlphaServer GS1280 is a product of Hewlett-Packard Company of Palo Alto, Calif. “AlphaServer” is a trademark of Hewlett-Packard Company. “UNIX” is a registered trademark of The Open Group in the United States and other countries.
  • With reference now to FIG. 6, a block diagram of a data processing system in which the present invention may be implemented is illustrated. Data processing system 600 is an example of a client computer. Data processing system 600 employs a peripheral component interconnect (PCI) local bus architecture. Although the depicted example employs a PCI bus, other bus architectures, such as Micro Channel and ISA, may be used. Processor 602 and main memory 604 are connected to PCI local bus 606 through PCI bridge 608. PCI bridge 608 may also include an integrated memory controller and cache memory for processor 602. Additional connections to PCI local bus 606 may be made through direct component interconnection or through add-in boards. In the depicted example, local area network (LAN) adapter 610, SCSI host bus adapter 612, and expansion bus interface 614 are connected to PCI local bus 606 by direct component connection. In contrast, audio adapter 616, graphics adapter 618, and audio/video adapter (A/V) 619 are connected to PCI local bus 606 by add-in boards inserted into expansion slots. Expansion bus interface 614 provides a connection for a keyboard and mouse adapter 620, modem 622, and additional memory 624. In the depicted example, SCSI host bus adapter 612 provides a connection for hard disk drive 626, tape drive 628, CD-ROM drive 630, and digital video disc read only memory drive (DVD-ROM) 632. Typical PCI local bus implementations will support three or four PCI expansion slots or add-in connectors.
  • An operating system runs on processor 602 and is used to coordinate and provide control of various components within data processing system 600 in FIG. 6. The operating system may be a commercially available operating system, such as Windows XP, which is available from Microsoft Corporation of Redmond, Wash. “Windows XP” is a trademark of Microsoft Corporation. An object oriented programming system, such as Java, may run in conjunction with the operating system, providing calls to the operating system from Java programs or applications executing on data processing system 600. Instructions for the operating system, the object-oriented operating system, and applications or programs are located on a storage device, such as hard disk drive 626, and may be loaded into main memory 604 for execution by processor 602.
  • Those of ordinary skill in the art will appreciate that the hardware in FIG. 6 may vary depending on the implementation. For example, other peripheral devices, such as optical disk drives and the like, may be used in addition to or in place of the hardware depicted in FIG. 6. The depicted example is not meant to imply architectural limitations with respect to the present invention. For example, the processes of the present invention may be applied to multiprocessor data processing systems.
  • Although described primarily with reference to matching developers such as software developers with projects, the present invention is not limited to such use. For example, the present invention may be applied to any type of project in which persons or entities with special skills are needed to staff a project including such projects as, for example, accounting, engineering, and legal projects. Therefore, the term developer as used herein, should not be construed to refer only to software developers or to individuals, but includes any type of person or entity (where an entity may contain a plurality of persons) with a special skill or skills.
  • To aid the Patent Office, and any readers of any patent issued on this application in interpreting the claims appended hereto, it is noted that applicant does not intend any of the appended claims to invoke paragraph 6 of 35 U.S.C. § 112 as it exists on the date of filing unless the words “means for” are used in the particular claim. Furthermore, none of the description in the present application should be read as implying that any particular element, step, or function is an essential element which must be included in the claim scope: THE SCOPE OF THE PATENTED SUBJECT MATTER IS DEFINED ONLY BY THE ALLOWED CLAIMS. Thus, the extent of legal protection will be determined by the limitations recited in the allowed claims and their equivalents. Unless explicitly recited, other aspects of the present invention as described in this specification do not limit the scope of the claims.
  • As used herein, the terms “comprises”, “comprising”, or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Further, no element described herein is required for the practice of the invention unless expressly described as “essential” or “critical”.
  • It is important to note that while the present invention has been described in the context of a fully functioning data processing system, those of ordinary skill in the art will appreciate that the processes of the present invention are capable of being distributed in the form of a computer readable medium of instructions and a variety of forms and that the present invention applies equally regardless of the particular type of signal bearing media actually used to carry out the distribution. Examples of computer readable media include recordable-type media such a floppy disc, a hard disk drive, a RAM, and CD-ROMs and transmission-type media such as digital and analog communications links.
  • The description of the present invention has been presented for purposes of illustration and description, but is not intended to be exhaustive or limited to the invention in the form disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art. The embodiment was chosen and described in order to best explain the principles of the invention, the practical application, and to enable others of ordinary skill in the art to understand the invention for various embodiments with various modifications as are suited to the particular use contemplated.

Claims (30)

1. A method of matching skill possessors with projects, the method comprising:
receiving, at a bid management agent, project specifications;
broadcasting, by the bid management agent, at least some of the project specifications over a network;
receiving, at a utilization management agent, the at least some of the project specifications;
sending a quote to the bid management agent if the at least some of the project specifications match criteria specified by a developer on whose behalf the utilization management agent performs;
determining, by the bid management agent, whether the quote is acceptable; and
sending a contract to the utilization management agent if the quote is acceptable.
2. The method as recited in claim 1, wherein the quote is a first quote and the utilization management agent is a first utilization management agent and further comprising:
receiving a second quote at the bid management agent from a second utilization management agent;
determining which of the first and second quotes to accept based on quote selection criteria specified by the project manager; and wherein
the sending a contract to the utilization management agent if the quote is acceptable comprises sending the contract to the one of the first and second utilization management agents corresponding to the accepted one of the first and second quotes.
3. The method as recited in claim 1, further comprising:
updating, by the utilization management agent, an availability data storage indicating that a time frame corresponding to the project is unavailable for scheduling other projects for the developer.
4. The method as recited in claim 1, further comprising:
notifying the developer of the contract formation.
5. A method for staffing a project, the method comprising:
receiving project definitions from a project manager;
broadcasting at least some of the project definitions to utilization management agents who work on behalf of entities possessing skills and desiring projects on which to work;
receiving a plurality of quotes for performance from a plurality of utilization management agents;
determining at least one quote to accept from the plurality of quotes; and
sending a contract to the one of the plurality of utilization management agents corresponding to the accepted quote.
6. The method as recited in claim 5, wherein the project definitions specify at least one of skill set required, work product desired, time frame, duration of project, experience level desired of entities, educational level of persons within the entities, and compensation.
7. A method of acquiring work projects for an entity via a utilization management agent, the method comprising:
receiving, at the utilization management agent, a request for quote for a project wherein the request includes project details;
responsive to a determination by the utilization management agent that an entity's preferences and attributes conform with the project details and that the entity's availability correspond with duration and scheduling requirements of the project, sending a quote to a bid management agent corresponding with the request for quote.
8. The method as recited in claim 7, further comprising:
receiving a contract from the bid management agent; and
validating acceptance of the contract.
9. The method as recited in claim 8, wherein validating acceptance of the contract comprises presenting the contract details to the entity.
10. The method as recited in claim 8, wherein validating acceptance of the contract comprises comparing the contract details with developer specified criteria to ensure correspondence.
11. A computer program product in a computer readable media for use in a data processing system for matching skill possessors with projects, the computer program product comprising:
first instructions for receiving, at a bid management agent, project specifications;
second instructions for broadcasting, by the bid management agent, at least some of the project specifications over a network;
third instructions for receiving, at a utilization management agent, the at least some of the project specifications;
fourth instructions for sending a quote to the bid management agent if the at least some of the project specifications match criteria specified by a developer on whose behalf the utilization management agent performs;
fifth instructions for determining, by the bid management agent, whether the quote is acceptable; and
sixth instructions for sending a contract to the utilization management agent if the quote is acceptable.
12. The computer program product as recited in claim 11, wherein the quote is a first quote and the utilization management agent is a first utilization management agent and further comprising:
seventh instructions for receiving a second quote at the bid management agent from a second utilization management agent;
eighth instructions for determining which of the first and second quotes to accept based on quote selection criteria specified by the project manager; and wherein
the sending a contract to the utilization management agent if the quote is acceptable comprises sending the contract to the one of the first and second utilization management agents corresponding to the accepted one of the first and second quotes.
13. The computer program product as recited in claim 11, further comprising:
seventh instructions for updating, by the utilization management agent, an availability data storage indicating that a time frame corresponding to the project is unavailable for scheduling other projects for the developer.
14. The computer program product as recited in claim 11, further comprising:
seventh instructions for notifying the developer of the contract formation.
15. A computer program product in a computer readable media for use in a data processing system for staffing a project, the computer program product comprising:
first instructions for receiving project definitions from a project manager;
second instructions for broadcasting at least some of the project definitions to utilization management agents who work on behalf of entities possessing skills and desiring projects on which to work;
third instructions for receiving a plurality of quotes for performance from a plurality of utilization management agents;
fourth instructions for determining at least one quote to accept from the plurality of quotes; and
fifth instructions for sending a contract to the one of the plurality of utilization management agents corresponding to the accepted quote.
16. The computer program product as recited in claim 15, wherein the project definitions specify at least one of skill set required, work product desired, time frame, duration of project, experience level desired of entities, educational level of persons within the entities, and compensation.
17. A computer program product in a computer readable media for use in a data processing system for acquiring work projects for an entity via a utilization management agent, the computer program product comprising:
first instructions for receiving, at the utilization management agent, a request for quote for a project wherein the request includes project details;
second instructions, responsive to a determination by the utilization management agent that an entity's preferences and attributes conform with the project details and that the entity's availability correspond with duration and scheduling requirements of the project, for sending a quote to a bid management agent corresponding with the request for quote.
18. The computer program product as recited in claim 17, further comprising:
third instructions for receiving a contract from the bid management agent; and
fourth instructions for validating acceptance of the contract.
19. The computer program product as recited in claim 18, wherein validating acceptance of the contract comprises presenting the contract details to the entity.
20. The computer program product as recited in claim 18, wherein validating acceptance of the contract comprises comparing the contract details with developer specified criteria to ensure correspondence.
21. A system for matching skill possessors with projects, the system comprising:
first means for receiving, at a bid management agent, project specifications;
second means for broadcasting, by the bid management agent, at least some of the project specifications over a network;
third means for receiving, at a utilization management agent, the at least some of the project specifications;
fourth means for sending a quote to the bid management agent if the at least some of the project specifications match criteria specified by a developer on whose behalf the utilization management agent performs;
fifth means for determining, by the bid management agent, whether the quote is acceptable; and
sixth means for sending a contract to the utilization management agent if the quote is acceptable.
22. The system as recited in claim 21, wherein the quote is a first quote and the utilization management agent is a first utilization management agent and further comprising:
seventh means for receiving a second quote at the bid management agent from a second utilization management agent;
eighth means for determining which of the first and second quotes to accept based on quote selection criteria specified by the project manager; and wherein
the sending a contract to the utilization management agent if the quote is acceptable comprises sending the contract to the one of the first and second utilization management agents corresponding to the accepted one of the first and second quotes.
23. The system as recited in claim 21, further comprising:
seventh means for updating, by the utilization management agent, an availability data storage indicating that a time frame corresponding to the project is unavailable for scheduling other projects for the developer.
24. The system as recited in claim 21, further comprising:
seventh means for notifying the developer of the contract formation.
25. A system for staffing a project, the system comprising:
first means for receiving project definitions from a project manager;
second means for broadcasting at least some of the project definitions to utilization management agents who work on behalf of entities possessing skills and desiring projects on which to work;
third means for receiving a plurality of quotes for performance from a plurality of utilization management agents;
fourth means for determining at least one quote to accept from the plurality of quotes; and
fifth means for sending a contract to the one of the plurality of utilization management agents corresponding to the accepted quote.
26. The system as recited in claim 25, wherein the project definitions specify at least one of skill set required, work product desired, time frame, duration of project, experience level desired of entities, educational level of persons within the entities, and compensation.
27. A system for acquiring work projects for an entity via a utilization management agent, the system comprising:
first means for receiving, at the utilization management agent, a request for quote for a project wherein the request includes project details;
second means, responsive to a determination by the utilization management agent that an entity's preferences and attributes conform with the project details and that the entity's availability correspond with duration and scheduling requirements of the project, for sending a quote to a bid management agent corresponding with the request for quote.
28. The system as recited in claim 27, further comprising:
third means for receiving a contract from the bid management agent; and
fourth means for validating acceptance of the contract.
29. The system as recited in claim 28, wherein validating acceptance of the contract comprises presenting the contract details to the entity.
30. The system as recited in claim 28, wherein validating acceptance of the contract comprises comparing the contract details with developer specified criteria to ensure correspondence.
US11/285,320 2005-11-22 2005-11-22 System and method for agent based developer self selection Active 2029-10-14 US7853489B2 (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
US11/285,320 US7853489B2 (en) 2005-11-22 2005-11-22 System and method for agent based developer self selection
PCT/US2006/036494 WO2007061493A2 (en) 2005-11-22 2006-09-19 System and method for agent based developer self selection
EP06825020A EP1955156A4 (en) 2005-11-22 2006-09-19 System and method for agent based developer self selection
AU2006317627A AU2006317627A1 (en) 2005-11-22 2006-09-19 System and method for agent based developer self selection
CA002621596A CA2621596A1 (en) 2005-11-22 2006-09-19 System and method for agent based developer self selection

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/285,320 US7853489B2 (en) 2005-11-22 2005-11-22 System and method for agent based developer self selection

Publications (2)

Publication Number Publication Date
US20070118433A1 true US20070118433A1 (en) 2007-05-24
US7853489B2 US7853489B2 (en) 2010-12-14

Family

ID=38054643

Family Applications (1)

Application Number Title Priority Date Filing Date
US11/285,320 Active 2029-10-14 US7853489B2 (en) 2005-11-22 2005-11-22 System and method for agent based developer self selection

Country Status (5)

Country Link
US (1) US7853489B2 (en)
EP (1) EP1955156A4 (en)
AU (1) AU2006317627A1 (en)
CA (1) CA2621596A1 (en)
WO (1) WO2007061493A2 (en)

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070118418A1 (en) * 2005-11-22 2007-05-24 Coulter Jeffery R Method and process for employing a retired workforce
US20070220479A1 (en) * 2006-03-14 2007-09-20 Hughes John M Systems and methods for software development
US20080109267A1 (en) * 2006-11-02 2008-05-08 International Business Machines Corporation Online startup of an innovation project
US20090300586A1 (en) * 2008-05-29 2009-12-03 International Business Machines Corporation Staged automated validation of work packets inputs and deliverables in a software factory
US20090300577A1 (en) * 2008-05-29 2009-12-03 International Business Machines Corporation Determining competence levels of factory teams working within a software factory
US20100017252A1 (en) * 2008-07-15 2010-01-21 International Business Machines Corporation Work packet enabled active project schedule maintenance
US20100017782A1 (en) * 2008-07-15 2010-01-21 International Business Machines Corporation Configuring design centers, assembly lines and job shops of a global delivery network into "on demand" factories
US20100023921A1 (en) * 2008-07-23 2010-01-28 International Business Machines Corporation Software factory semantic reconciliation of data models for work packets
US20100023920A1 (en) * 2008-07-22 2010-01-28 International Business Machines Corporation Intelligent job artifact set analyzer, optimizer and re-constructor
US20100023919A1 (en) * 2008-07-23 2010-01-28 International Business Machines Corporation Application/service event root cause traceability causal and impact analyzer
US20100031226A1 (en) * 2008-07-31 2010-02-04 International Business Machines Corporation Work packet delegation in a software factory
US20100121672A1 (en) * 2008-11-13 2010-05-13 Avaya Inc. System and method for identifying and managing customer needs
US20100174577A1 (en) * 2009-01-07 2010-07-08 Red Hat, Inc. Automated Task Delegation Based on Skills
US20100174578A1 (en) * 2009-01-07 2010-07-08 Red Hat, Inc. Interface for Project and Task Submission for Automated Delegation
US20100198734A1 (en) * 2008-10-31 2010-08-05 The Carlar Group Method and System for Integrating an Entertainment-Based Project with a Method and System from the Financial Protocol of a Financial Institution Via a Communications Network
US8407073B2 (en) 2010-08-25 2013-03-26 International Business Machines Corporation Scheduling resources from a multi-skill multi-level human resource pool
US8442197B1 (en) 2006-03-30 2013-05-14 Avaya Inc. Telephone-based user interface for participating simultaneously in more than one teleconference
US8621011B2 (en) 2009-05-12 2013-12-31 Avaya Inc. Treatment of web feeds as work assignment in a contact center
US8660878B2 (en) 2011-06-15 2014-02-25 International Business Machines Corporation Model-driven assignment of work to a software factory
US8694969B2 (en) 2008-07-31 2014-04-08 International Business Machines Corporation Analyzing factory processes in a software factory
US8782598B2 (en) 2008-07-31 2014-07-15 International Business Machines Corporation Supporting a work packet request with a specifically tailored IDE
US20140257892A1 (en) * 2013-03-07 2014-09-11 International Business Machines Corporation Social project collaboration through self-organizing teams
US20150073844A1 (en) * 2013-09-06 2015-03-12 International Business Machines Corporation Generating multiply constrained globally optimized requests for proposal packages subject to uncertainty across multiple time horizons
US20190121855A1 (en) * 2017-10-20 2019-04-25 ConceptDrop Inc. Machine Learning System for Optimizing Projects
US20200167156A1 (en) * 2018-11-27 2020-05-28 International Business Machines Corporation Cognitive selection of software developer for software engineering task

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5592375A (en) * 1994-03-11 1997-01-07 Eagleview, Inc. Computer-assisted system for interactively brokering goods or services between buyers and sellers
US20010051913A1 (en) * 2000-06-07 2001-12-13 Avinash Vashistha Method and system for outsourcing information technology projects and services
US20010051889A1 (en) * 2000-06-08 2001-12-13 Haney Ralph C. System and method for managing contract labor activities
US20020147708A1 (en) * 1998-11-06 2002-10-10 Thomas Brian Christopher System for providing business information
US20030061089A1 (en) * 2001-09-24 2003-03-27 Kevin Weaver Method and apparatus for a staffing application server
US6647373B1 (en) * 1998-12-24 2003-11-11 John Carlton-Foss Method and system for processing and transmitting electronic reverse auction information
US20040107125A1 (en) * 1999-05-27 2004-06-03 Accenture Llp Business alliance identification in a web architecture
US20040210470A1 (en) * 2003-04-16 2004-10-21 John Rusk System and method for project management
US20040225550A1 (en) * 2003-05-06 2004-11-11 Interactive Clinical Systems, Inc. Software program for, system for, and method of facilitating staffing of an opening in a work schedule at a facility
US20050080657A1 (en) * 2003-10-10 2005-04-14 Unicru, Inc. Matching job candidate information
US7072857B1 (en) * 1999-11-06 2006-07-04 Cynthia Calonge Method for providing online submission of requests for proposals for forwarding to identified vendors

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5592375A (en) * 1994-03-11 1997-01-07 Eagleview, Inc. Computer-assisted system for interactively brokering goods or services between buyers and sellers
US20020147708A1 (en) * 1998-11-06 2002-10-10 Thomas Brian Christopher System for providing business information
US6647373B1 (en) * 1998-12-24 2003-11-11 John Carlton-Foss Method and system for processing and transmitting electronic reverse auction information
US20040107125A1 (en) * 1999-05-27 2004-06-03 Accenture Llp Business alliance identification in a web architecture
US7072857B1 (en) * 1999-11-06 2006-07-04 Cynthia Calonge Method for providing online submission of requests for proposals for forwarding to identified vendors
US20010051913A1 (en) * 2000-06-07 2001-12-13 Avinash Vashistha Method and system for outsourcing information technology projects and services
US20010051889A1 (en) * 2000-06-08 2001-12-13 Haney Ralph C. System and method for managing contract labor activities
US20030061089A1 (en) * 2001-09-24 2003-03-27 Kevin Weaver Method and apparatus for a staffing application server
US20040210470A1 (en) * 2003-04-16 2004-10-21 John Rusk System and method for project management
US20040225550A1 (en) * 2003-05-06 2004-11-11 Interactive Clinical Systems, Inc. Software program for, system for, and method of facilitating staffing of an opening in a work schedule at a facility
US20050080657A1 (en) * 2003-10-10 2005-04-14 Unicru, Inc. Matching job candidate information

Cited By (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070118418A1 (en) * 2005-11-22 2007-05-24 Coulter Jeffery R Method and process for employing a retired workforce
US8078546B2 (en) * 2005-11-22 2011-12-13 Hewlett-Packard Development Company, L.P. Method and process for employing a retired workforce
US20070220479A1 (en) * 2006-03-14 2007-09-20 Hughes John M Systems and methods for software development
US8442197B1 (en) 2006-03-30 2013-05-14 Avaya Inc. Telephone-based user interface for participating simultaneously in more than one teleconference
US20080109267A1 (en) * 2006-11-02 2008-05-08 International Business Machines Corporation Online startup of an innovation project
US8667469B2 (en) 2008-05-29 2014-03-04 International Business Machines Corporation Staged automated validation of work packets inputs and deliverables in a software factory
US20090300586A1 (en) * 2008-05-29 2009-12-03 International Business Machines Corporation Staged automated validation of work packets inputs and deliverables in a software factory
US20090300577A1 (en) * 2008-05-29 2009-12-03 International Business Machines Corporation Determining competence levels of factory teams working within a software factory
US8595044B2 (en) * 2008-05-29 2013-11-26 International Business Machines Corporation Determining competence levels of teams working within a software
US20100017782A1 (en) * 2008-07-15 2010-01-21 International Business Machines Corporation Configuring design centers, assembly lines and job shops of a global delivery network into "on demand" factories
US8527329B2 (en) 2008-07-15 2013-09-03 International Business Machines Corporation Configuring design centers, assembly lines and job shops of a global delivery network into “on demand” factories
US8452629B2 (en) 2008-07-15 2013-05-28 International Business Machines Corporation Work packet enabled active project schedule maintenance
US20100017252A1 (en) * 2008-07-15 2010-01-21 International Business Machines Corporation Work packet enabled active project schedule maintenance
US8671007B2 (en) 2008-07-15 2014-03-11 International Business Machines Corporation Work packet enabled active project management schedule
US20100023920A1 (en) * 2008-07-22 2010-01-28 International Business Machines Corporation Intelligent job artifact set analyzer, optimizer and re-constructor
US20100023919A1 (en) * 2008-07-23 2010-01-28 International Business Machines Corporation Application/service event root cause traceability causal and impact analyzer
US8375370B2 (en) 2008-07-23 2013-02-12 International Business Machines Corporation Application/service event root cause traceability causal and impact analyzer
US20100023921A1 (en) * 2008-07-23 2010-01-28 International Business Machines Corporation Software factory semantic reconciliation of data models for work packets
US8418126B2 (en) 2008-07-23 2013-04-09 International Business Machines Corporation Software factory semantic reconciliation of data models for work packets
US20100031226A1 (en) * 2008-07-31 2010-02-04 International Business Machines Corporation Work packet delegation in a software factory
US8694969B2 (en) 2008-07-31 2014-04-08 International Business Machines Corporation Analyzing factory processes in a software factory
US8448129B2 (en) 2008-07-31 2013-05-21 International Business Machines Corporation Work packet delegation in a software factory
US8782598B2 (en) 2008-07-31 2014-07-15 International Business Machines Corporation Supporting a work packet request with a specifically tailored IDE
US20100198734A1 (en) * 2008-10-31 2010-08-05 The Carlar Group Method and System for Integrating an Entertainment-Based Project with a Method and System from the Financial Protocol of a Financial Institution Via a Communications Network
US8380555B2 (en) 2008-11-13 2013-02-19 Avaya Inc. System and method for identifying and managing customer needs
GB2465254A (en) * 2008-11-13 2010-05-19 Avaya Inc Customer service centre resource management
US20100121672A1 (en) * 2008-11-13 2010-05-13 Avaya Inc. System and method for identifying and managing customer needs
US20100174578A1 (en) * 2009-01-07 2010-07-08 Red Hat, Inc. Interface for Project and Task Submission for Automated Delegation
US20100174577A1 (en) * 2009-01-07 2010-07-08 Red Hat, Inc. Automated Task Delegation Based on Skills
US8805713B2 (en) * 2009-01-07 2014-08-12 Red Hat, Inc. Interface for project and task submission for automated delegation
US8621011B2 (en) 2009-05-12 2013-12-31 Avaya Inc. Treatment of web feeds as work assignment in a contact center
US8407073B2 (en) 2010-08-25 2013-03-26 International Business Machines Corporation Scheduling resources from a multi-skill multi-level human resource pool
US8660878B2 (en) 2011-06-15 2014-02-25 International Business Machines Corporation Model-driven assignment of work to a software factory
US20140257892A1 (en) * 2013-03-07 2014-09-11 International Business Machines Corporation Social project collaboration through self-organizing teams
US20150073844A1 (en) * 2013-09-06 2015-03-12 International Business Machines Corporation Generating multiply constrained globally optimized requests for proposal packages subject to uncertainty across multiple time horizons
US20190121855A1 (en) * 2017-10-20 2019-04-25 ConceptDrop Inc. Machine Learning System for Optimizing Projects
US11036938B2 (en) * 2017-10-20 2021-06-15 ConceptDrop Inc. Machine learning system for optimizing projects
US20200167156A1 (en) * 2018-11-27 2020-05-28 International Business Machines Corporation Cognitive selection of software developer for software engineering task
US11119763B2 (en) * 2018-11-27 2021-09-14 International Business Machines Corporation Cognitive selection of software developer for software engineering task

Also Published As

Publication number Publication date
CA2621596A1 (en) 2007-05-31
AU2006317627A1 (en) 2007-05-31
EP1955156A4 (en) 2012-05-30
EP1955156A2 (en) 2008-08-13
WO2007061493A2 (en) 2007-05-31
WO2007061493A3 (en) 2007-12-06
US7853489B2 (en) 2010-12-14

Similar Documents

Publication Publication Date Title
US7853489B2 (en) System and method for agent based developer self selection
US7444323B2 (en) System and method for focused routing of content to dynamically determined groups of reviewers
US20060184401A1 (en) System and method for resource and cost planning of an IT migration
US20080172284A1 (en) Management of job candidate interview process using online facility
US7340442B2 (en) Methods and systems for collaborating communities of practice
US6985244B1 (en) Print quotas
Kiran et al. Requirement elicitation techniques for open source systems: a review
US20080263060A1 (en) Policy-Based Access Control Approach to Staff Activities of a Business Process
US20050137918A1 (en) Method, system and program product for assessing an enterprise architecture
Liebowitz A look at why information systems fail
US20130311221A1 (en) Evaluating deployment readiness in delivery centers through collaborative requirements gathering
Barlow Putting Information Systems Planning Methodologies Into Pers
Coleman Collaborating on the Internet and Intranets
Yohe Information technology support services: crisis or opportunity?
US8078546B2 (en) Method and process for employing a retired workforce
US7958014B2 (en) Method and apparatus for building commercial distributed computing networks via computer cost subsidization
Richards Consultant charting course: Working together, internal auditors and their clients can navigate any obstacle to reach common business objectives
US20060259337A1 (en) System and method for managing business partner qualifications
US20060112052A1 (en) Methods and systems for managing knowledge documents
US8054487B2 (en) Mechanism to create a reservation against a future scheduling object instantiation
Feld et al. A Roadmap to Launching Survey Operations Within the US Department of Defense
Meltzer et al. Work planning and client relations: the IRS improves both
Hoetzel et al. Benchmarking in Focus
Broser et al. Analysing requirements for virtual business alliances–The case of SPIKE
Wright et al. 09 SERDP

Legal Events

Date Code Title Description
AS Assignment

Owner name: ELECTRONIC DATA SYSTEMS, TEXAS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:BESS, CHARLES E.;REEL/FRAME:017281/0871

Effective date: 20051118

AS Assignment

Owner name: ELECTRONIC DATA SYSTEMS CORPORATION, TEXAS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:BESS, CHARLES E;REEL/FRAME:018267/0390

Effective date: 20060918

AS Assignment

Owner name: ELECTRONIC DATA SYSTEMS, LLC, DELAWARE

Free format text: CHANGE OF NAME;ASSIGNOR:ELECTRONIC DATA SYSTEMS CORPORATION;REEL/FRAME:022460/0948

Effective date: 20080829

Owner name: ELECTRONIC DATA SYSTEMS, LLC,DELAWARE

Free format text: CHANGE OF NAME;ASSIGNOR:ELECTRONIC DATA SYSTEMS CORPORATION;REEL/FRAME:022460/0948

Effective date: 20080829

AS Assignment

Owner name: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P., TEXAS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:ELECTRONIC DATA SYSTEMS, LLC;REEL/FRAME:022449/0267

Effective date: 20090319

Owner name: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.,TEXAS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:ELECTRONIC DATA SYSTEMS, LLC;REEL/FRAME:022449/0267

Effective date: 20090319

STCF Information on status: patent grant

Free format text: PATENTED CASE

FPAY Fee payment

Year of fee payment: 4

AS Assignment

Owner name: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP, TEXAS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.;REEL/FRAME:037079/0001

Effective date: 20151027

AS Assignment

Owner name: ENT. SERVICES DEVELOPMENT CORPORATION LP, TEXAS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP;REEL/FRAME:041041/0716

Effective date: 20161201

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552)

Year of fee payment: 8

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 12TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1553); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 12