Project management software enables project managers, resource planners, and other participants to create, manage, and view the resources and tasks required to complete projects. Resources can include people, facilities, assets, materials, and so forth. Project management software can be used by an enterprise to assign tasks to a limited set of resources for a variety of projects. Such software can track resource utilization, on-time task completion, and other project variables in order to offload such tracking from project managers, freeing them to spend more time planning and managing projects.
Existing project management software solutions do not enable users to schedule resources into the future without detailed task assignments. Resources may be scheduled and have tasks assigned, or they may be unscheduled. When planning for the future, existing solutions do not allow project and resource planners to speculatively schedule specific resources for projects that are merely proposed and/or for which no tasks may yet be identified.
It is with respect to these and other considerations that the present invention has been made.
This summary is provided to introduce a selection of concepts in a simplified form that are further described below in the detailed description. This summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended as an aid in determining the scope of the claimed subject matter.
Embodiments provide for receiving project resource information for use in a resource plan having no assigned tasks. Instead, numeric allocations (e.g., hours, days, FTEs) are associated with the resources for a fixed interval of time (e.g., days, weeks, months). Resource plan information may be utilized for calculating resource utilization values. Resource plans may be published and stored on a server.
These and other features and advantages will be apparent from a reading of the following detailed description and a review of the associated drawings. It is to be understood that both the foregoing general description and the following detailed description are explanatory only and are not restrictive of the invention as claimed.
The foregoing brief summary of the invention, as well as the following detailed description, is better understood when read in conjunction with the accompanying drawings, which are included by way of example, and not by way of limitation with regard to the claimed invention. In the accompanying drawings, the same or similar elements are labeled with the same reference numbers.
Project management software includes functionality for creating project resource plans permitting allocation of resources (specified and/or unspecified) to projects without tasks.
With reference to
Although the basic computing device configuration is contained within dashed-line box 108, computing device 100 may include additional features and functionality. For example, computing device 100 may include additional data storage components, including both removable storage 109 (e.g., floppy disks, memory cards, compact disc (CD) ROMs, digital video discs (DVDs), external hard drives, universal serial bus (USB) key drives, etc.) and non-removable storage 110 (e.g., magnetic hard drives).
Computer storage media may include media implemented in any method or technology for storage of information, including computer readable instructions, data structures, program modules, or other data. Memory 104, removable storage 109, and non-removable storage 110 are all examples of computer storage media. Further examples of such media include RAM, ROM, electrically-erasable programmable ROM (EEPROM), flash memory, CD-ROM, DVD, cassettes, magnetic tape, magnetic disks, and so forth. Any such computer storage media may be accessed by components which are a part of computing device 100, or which are external to computing device 100 and connected via a communications link (e.g., Bluetooth, USB, parallel, serial, infrared, etc.). Computing device 100 may also include input devices 112, such as keyboards, mice, pens, microphone, touchpad, touch-display, etc. Output devices 114 may include displays, speakers, printers, and so forth. Additional forms of storage, input, and output devices may be utilized.
Computing device 100 may also include one or more communication connections 116 which allow the computing device to communicate with other computing devices 118, such as over a network (e.g., a local area network (LAN), the Internet, etc.). Communication media, in the form of computer readable instructions, data structures, program modules, or other data in a modulated data signal, may be shared with and by device 100 via communication connection 116. Modulated data signal may mean a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal, and may include a modulated carrier wave or other transport mechanism. Communication connection 116 may be comprised of hardware and/or software enabling either a wired (e.g., Ethernet, USB, Token Ring, modem, etc.) or wireless (e.g., WiFi, WiMax, cellular, acoustic, infrared, radio frequency (RF), etc.) communication conduit with other devices 118.
Computer 205 may work with server 206 which may also resemble computing device 100. Server 206 may serve and store project management information and logic. For example, project management application 120 may be installed as a software application on computer 205. Application 120 may work with data locally, storing project data on a hard drive. Application 120 may also work with data remotely stored on server 206 in a data store, for example, a database. Server 206 may also house project management application 120, and user 204 may access an interface to the application using computer 205. For example, user 204 may utilize a web browser to access an interface of project management application 120.
In a multi-user environment, data constituting resource plan 201 may be checked in and checked out by users for modification, locking the data while editing, preventing multiple incompatible changes to the data. The use of resource plan 201 by multiple users may be facilitated through the use of an application programming interface (API) including methods for creating, reading, updating, deleting, publishing, checking out, and checking in resource plans from server 206.
Before assigning resources to project 203, user 204 may wish to flesh out resource allocations in a speculative or un-specified fashion. A project may be conceived, but project tasks may not be determined or assigned. In addition, specified resources (e.g., named individuals) may be unknown, although required skills or job titles may be known. Nevertheless, user 204 may wish to associate resources with a project so as to experiment with future resource allocations for one or more projects. To allocate resources to a project without assigning tasks, user 204 may utilize resource plans 201.
Here, user 204 may be deciding among multiple projects by experimenting with resource plans 201. Resource plans 201 may utilize people 202d and/or assets & materials 202e. Resource plan 201a, for example, may include two named individuals (e.g., “Tom G.” & “Sarah K.”) and a building/facility (e.g. “Main Street Retail Building/Facility”), among other resources. Resource plan 201b, as another example, may include several unnamed job titles (e.g., 3 “Accountants” & 2 “Engineers”). Resource plan 201c, as a third example, may include a named individual (e.g., “Tom G.” again), a computer, a server, and a location.
User 204 may assign the same resource 202 to multiple resource plans 201 as part of the planning process. In some embodiments, project management application 120 may automatically prevent over-allocating resources to resource plans. Alternatively, resources may be over-booked, especially when marked as “proposed”. A resource plan 201 may also include time allocations for which resources are being allocated. For example, a resource may be scheduled for 5 hours for one week, and 32.5 hours the next week. Alternatively, a project participant may be scheduled using full-time equivalents, so 1.0 for a full time worker, and 0.5 for a half-time worker. Resources may be scheduled on a “proposed” or “committed” basis, depending on how sure the planner is that the resource can and will be assigned to the project. Project plan 203 may retain a relationship with an associated resource plan, allowing users to plan future resource requirements in the resource plan, and plan individual task assignments in the project plan.
Title 310 displays the name of the project plan 203 with which the currently displayed resource plan 201 is associated. Menu 311 provides a series of actions which may be performed with respect to the current resource plan 201. Included here are options to “Build Team” which may invoke an interface for adding and removing resources 202 to the current resource plan 201. “Edit Resource Details” may invoke an interface for edit the details of a resource 202. “Edit Custom Fields” may invoke an interface for editing, adding, and removing custom fields to be associated with resources in the current project. For the items in menu 311 (and for other interface items), user 204 may have greater or fewer privileges for invoking the various functions. When user 204 does not have a privilege for a particular function (e.g., editing resource details), the associated item may be disabled.
Interface controls 312 enable a user to modify the current view of the resource plan. “Date Range” inputs allow a user to filter the dates being currently viewed and/or modified in columns 322 of table 314. Dates may be specified exactly as shown here, in addition to other methods, such as selecting project milestones. “Scale” permits a user to adjust the time scale for columns 322. Here, the scale is set to ‘Weeks’, and thus each column 322 represents one week. Additional choices may include ‘Days’ and ‘Months’. The “Units” control determines the units of resource allocation that are displayed in columns 322. Here, the scale is set to ‘Days’, and thus for each resource and for each column, the number of days of work planned for that time period is displayed. Other choices include ‘Hours’ and ‘FTEs’ (Full-time Equivalents). Modifying either the scale or units selection may require a recalculation in order to convert time and allocation accordingly.
“Calculate Resource Selection From” control 313 enables a user to select whether resources allocated to this project/resource plan should use the resource plan or the project plan for displaying and determining their utilization. If a user selects “Project Plan”, then when determining a resource's utilization, time allocated to this project will be based on the project plan and the tasks assigned to that resource. For “Resource Plan”, any assigned tasks in the project plan are ignored, and the resource's utilization is based strictly on the resource plan. The third choice permits a hybrid of project plan and resource plan. User 204 can signify that resource utilization determinations be based on the project plan until a specified date, at which point the resource plan may be used. In this fashion, a project plan need only be accurate up until the specified date, at which point the resource plan can act as a fall-back or estimated outlook for resource utilization.
Column 320 of table 314 identifies resources in each row. The resource may be either named (e.g., “Tom G.”) or generic (e.g., “Software Engineer”). Each row may also include a booking type 321, identifying the status of the allocation of the resource (proposed, committed, etc.). Although not shown in
Having the ability to reserve resources using a resource plan can prove valuable to planners who create project plans that include only tasks without assigning them to resources (i.e. a task-only project). The resources can be reserved by using a resource plan with estimates of time requirements for named resources during the duration of the project. In this fashion, the named resources (e.g., “Tom G.” and “Sarah K.”) can be reserved as utilized despite the fact that they are not assigned to tasks on the project plan. In this example, the planner indicates that the “Calculate Resource Utilization From” property is set to “Resource Plan” for the project.
For planners who are evaluating multiple projects, resources can be assigned to resource plans in advance of project approval. The assignments may have a booking type of “proposed”, for example. In this fashion, resource utilization can be evaluated across multiple proposed projects so as to arrive at an optimum combination of projects and assigned resources. At such a point, resource plans may be “promoted” to full fledge project plans having tasks assigned. Likewise, resource planners may be able to view the pool of future and/or proposed projects and resources. If a demand for a particular job title or set of skills exceeds current capacity, the resource planner can requisition additional headcount.
As resource plans are fleshed out in their accompanying project plans, the resource plan can be modified to more accurately reflect likely future needs. For example, if a resource plan called for 1.0 FTEs for a particular month, but the actual resource need for that month turned out to be 1.5 FTEs, then a project or resource planner can update future months in the resource plan to more accurately reflect the demand for resources.
In conjunction with the above-noted uses of resource plans, data stored in conjunction with resource plans, along with associated project plan data can be made available for reports or a reporting system. For example, a reporting system may access resource and project data to determine and track performance to budget for a project. Such data may also be used to automatically generate utilization reports for multiple projects. Resource plan data may be used for additional reports as needed.
Resource plans may be modified in draft form until such time as a planner decides to publish the resource plan. In this fashion, others will not be confused by resource plans which are a work in progress. Instead, other users will only see published versions of a resource plan as a planner continues to modify the most recent draft. In addition, when making utilization calculations, resource plans which have been published may be used as a basis for making calculations.
While methods and systems embodying the present invention are shown by way of example, it will be understood that the invention is not limited to these embodiments. The methods and systems described are merely examples of the invention, the limits of which are set forth in the claims which follow. Those skilled in the art may make modifications, particularly in light of the foregoing teachings.