The subject matter disclosed herein relates to project management, and more particularly to a project management charting method for organization, planning analysis and tracking of projects and goals.
Typical project management tools are typically linear in time, compiling categorizing, coordinating and prioritizing tasks until the scheduled project is complete or moves onto the next phase. Conventional project management tools focus on time and do not provide visualization on resource allocation, relative size of tasks, and contingent strategies for changed resources and resource allocation. Without resource allocation tools and relative size of tasks, for example, it can be difficult to determine where the project is lagging, for example. Additionally if there is any change in the plan there is no easy way to readily recognize this by looking at a project plan and how or when it changed.
According to one aspect of the invention, a project management charting method is described. The method includes defining, in a computing system, a breakdown of work for a project, defining, in the computing system, tasks for the breakdown of work, defining, in the computing system, levels into which the tasks are defined and defining, in the computing system, relative influence among the tasks.
According to another aspect of the invention, a computer program product is described. The computer program product includes a non-transitory computer readable medium storing instructions for causing a computer to implement a project management charting method. The method includes defining, in a computing system, a breakdown of work for a project, defining, in the computing system, tasks for the breakdown of work, defining, in the computing system, levels into which the tasks are defined and defining, in the computing system, relative influence among the tasks.
According to yet another aspect of the invention, a project management charting system is described. The system includes a processor configured to define a breakdown of work for a project, define tasks for the breakdown of work, define levels into which the tasks are defined and define relative influence among the tasks.
These and other advantages and features will become more apparent from the following description taken in conjunction with the drawings.
The subject matter, which is regarded as the invention, is particularly pointed out and distinctly claimed in the claims at the conclusion of the specification. The foregoing and other features, and advantages of the invention are apparent from the following detailed description taken in conjunction with the accompanying drawings in which:
The detailed description explains embodiments of the invention, together with advantages and features, by way of example with reference to the drawings.
At block 105, the user defines and creates the workload for the particular project, identifying the various tasks associated with the project. High level business goals can be stated, which can be broken down to the lower levels of goals, each of which contribute in a specific way to one or more goals above themselves. In exemplary embodiments, the user can develop of chart/graph or tree on the display, starting with the ultimate objective of the project at the top and keep breaking the project down into sub-pieces, tasks and sub tasks. At block 110, the user establishes the interconnection of the tasks and sub-tasks. In exemplary embodiments, the interconnection is more than just direct parent-child relations. The interconnection also includes any tasks that are directly impacted by other tasks. As such, tasks that directly impact one another are interconnected. At block 115, the user defines units for various parameters, such as, but not limited to currency, time, resources and associated expertise. At block 120, resources are allocated to the tasks. In exemplary embodiments, the user can initially assign resources. In addition, the user can re-allocate resources at later times. Furthermore, the system can automatically re-allocate resources if certain tasks are complete and other tasks are lagging as further described herein. At block, 125 the chart/graph is analyzed for estimated completion dates. The user can analyze the chart/graph and the system can also analyze the charts/graphs automatically. At block 130, the user can identify various contingent scenarios and study the impact of those scenarios. For example, the user can identify if one task is completed earlier, how it affects other tasks. Conversely, the user can identify if the same task lags, how it affects other tasks. At block 135, the user identifies risks. In exemplary embodiments, the system can automatically predict risks for specific strategies. For example, there may be a task marked four hours. The same task may have three other tasks depending on it. As such, the risk is that three tasks would suffer if the task marked four hours lags. At block 140, the system can make predictions and recommend planning strategies. Over time the system can be designed to recognize various project types and be able to predict risk and generate associated planning strategies/recommendations. At block 145, once a chart/graph is established, the chart/graph can be linked to an external database, where resources can update their status automatically, such that most recent information is used. Alternatively, the resources can be automatically updated on a periodic basis, such as weekly. Strategies can then be shifted accordingly. At block, 150, the system can track the history of the project and the various shifts in time and resource allocation that occur. Additionally this history can be represented in an animated form or like a movie where one can visually inspect very easily how the plan changed, execution happened and what changes or transformations happened. This feature also applies for predictive plan given the history of the execution and could give insight as how the future of the project would progress if nothing else changes.
Once the chart/graph is generated (e.g., the top-down process is complete), there would be different layers of goals each leading to a higher layer (or a cluster of them leading to a higher layer). A level of a subject goal is determined by how much it impacts/affects the goal(s) above the subject goal. A certain goal's organizational hierarchy does not necessarily determine its position or size in the generated chart. For example, if a first task does not work at all if a second task has an issue (e.g., the second task is delayed), then the first task ranks higher in the generated chart even though the first task is several layers into the project. To float up or down, a goal or task must be completed and cross a certain weight threshold. As such, the method is dynamic and reflects a snapshot of the entire process/project and how close it is to completion. The generated chart/graph allows business leaders to allocate resources and allow them to make data driven informed business decisions. Although a chart/graph data structure is described herein to represent and implement a project to allow for correct variations and flexibility, other structures are contemplated in other exemplary embodiments.
The method 100 provides a charting scheme that generates a chart/graph that aids the user in organizing information in a hierarchical format. The method 100 further provides analysis and different ways to view project data, including but not limited to identifying objectives, resources, risks, time estimates, studying “what-if” contingent scenarios, tracking of various parameters (not just schedule/task/resources), impact and inter-relationships of various factors (i.e., money, effort, task external factors and the like). For example, layered business goals can be organized and visualized to allow efficient tracking, planning, and identification of higher goals/deliverables. In this way, the system provides instantaneous prediction of when a certain goal/task might be completed.
In exemplary embodiments, relative influence of tasks and the Goal is represented by connectors among the tasks and the Goal. For example, the Goal is shown with a connector 201 to Task 1, a connector 202 to Task 2 and a connector to Task 3. The connectors 201, 202, 203 are solid indicating that Tasks 1-3 have a direct influence on the goal. As such, as Tasks 1-3 complete, the relative completion of the Goal is directly influenced. It will also be appreciated that not all tasks are directly connected. For example, Task 1 has no connection to Task 2. As such, as Task 2 completes, Task 1 is not directly influenced. It can be appreciated however, that Task 9 is connected to both Task 9. It is possible that as Task 2 completes, Task 1 also is influenced due to the connection via Task 9. However, indirect influence can also be anticipated. For example, Connectors 201, 202, 203 are illustrated as solid lines, representing a direct influence. Other line types such as dashes can be implemented to represent indirect influence. For example, a dashed connector 204 connects Task 3 and Task 10 indicating that each of Task 3 and Task 10 complete, there is a relative indirect influence on the respective task. It will be appreciated that the specifics of how the influence occurs is unique to each project. For example, a direct connection between two tasks may mean that a subroutine in a program must be complete to influence another subroutine in the program. An indirect connection may be that although two subroutines are not related to another, they are both part of a program in which the subroutines are a part. It will be appreciated that various types of connectors, such as but not limited to, number of dashes, thickness, color and the like are contemplated for different types of direct and indirect influence.
As described herein, the different tasks and the Goal are influenced by one another. This influence can be initially determined by the user or the team. However, one the connections and influences have been established. The method 100 can automatically adjust the appearance of the chart 200. For example, the size of the tasks can represent time to completion of the tasks and the Goal. In the example, circles are shown to represent the tasks. It will be appreciated that any shape, such as but not limited to squares can also be represented on the chart 200. In the example, therefore, the relative diameters of the circular tasks represent time. As such, the Goal has the largest diameter. The diameters of the tasks can be selected by the user or team as estimates of the time it will take to complete the tasks. The diameters can be changed over the life of the projects either manually or automatically.
As such,
In exemplary embodiments, the implementation of the method 100 and other exemplary methods contemplated herein can be subject to rules as now described. In generating the initial graph, several features of the chart 200 are defined. As described above, the work breakdown structure, that is, how the Goal is defined into the tasks is defined. The levels are also defined, along with where each of the tasks is placed in the levels. The relative influences (impacts) and correlations among the tasks are also defined (e.g., by the connections). Other features for the chart 200 can include but are not limited to date to completions and available resources. Once the chart is established, functionality can include a query about a particular time period along the timeline of the project. In this way, an original chart 200, such as in
As described herein, the method 100 can be implemented to plan a project. In other exemplary embodiments, the method 100 can also be implemented to perform an analysis of a past project, thereby generating a chart based on a complete project to see how it can be improved in the future. In a similar manner, the method can be used to make future decisions for a project. Other potential applications and benefits include, risk prediction and management strategies, which can also be linked to a database of similar projects that will enable it to be more intelligent and smart in its predictions and make recommendations for planning strategies.
As described herein, the method 100 and other exemplary methods can be implemented in any a suitable computing system as now described.
In exemplary embodiments, in terms of hardware architecture, as shown in
The processor 505 is a hardware device for executing software, particularly that stored in memory 510. The processor 505 can be any custom made or commercially available processor, a central processing unit (CPU), an auxiliary processor among several processors associated with the computer 501, a semiconductor based microprocessor (in the form of a microchip or chip set), a macroprocessor, or generally any device for executing software instructions.
The memory 510 can include any one or combination of volatile memory elements (e.g., random access memory (RAM, such as DRAM, SRAM, SDRAM, etc.)) and nonvolatile memory elements (e.g., ROM, erasable programmable read only memory (EPROM), electronically erasable programmable read only memory (EEPROM), programmable read only memory (PROM), tape, compact disc read only memory (CD-ROM), disk, diskette, cartridge, cassette or the like, etc.). Moreover, the memory 510 may incorporate electronic, magnetic, optical, and/or other types of storage media. Note that the memory 510 can have a distributed architecture, where various components are situated remote from one another, but can be accessed by the processor 505.
The software in memory 510 may include one or more separate programs, each of which comprises an ordered listing of executable instructions for implementing logical functions. In the example of
The project management charting methods described herein may be in the form of a source program, executable program (object code), script, or any other entity comprising a set of instructions to be performed. When a source program, then the program needs to be translated via a compiler, assembler, interpreter, or the like, which may or may not be included within the memory 510, so as to operate properly in connection with the OS 511. Furthermore, the project management charting methods can be written as an object oriented programming language, which has classes of data and methods, or a procedure programming language, which has routines, subroutines, and/or functions.
In exemplary embodiments, a conventional keyboard 550 and mouse 555 can be coupled to the input/output controller 535. Other output devices such as the I/O devices 540, 545 may include input devices, for example but not limited to a printer, a scanner, microphone, and the like. Finally, the I/O devices 540, 545 may further include devices that communicate both inputs and outputs, for instance but not limited to, a network interface card (NIC) or modulator/demodulator (for accessing other files, devices, systems, or a network), a radio frequency (RF) or other transceiver, a telephonic interface, a bridge, a router, and the like. The system 500 can further include a display controller 525 coupled to a display 530. In exemplary embodiments, the system 500 can further include a network interface 560 for coupling to a network 565. The network 565 can be an IP-based network for communication between the computer 501 and any external server, client and the like via a broadband connection. The network 565 transmits and receives data between the computer 501 and external systems. In exemplary embodiments, network 565 can be a managed IP network administered by a service provider. The network 565 may be implemented in a wireless fashion, e.g., using wireless protocols and technologies, such as WiFi, WiMax, etc. The network 565 can also be a packet-switched network such as a local area network, wide area network, metropolitan area network, Internet network, or other similar type of network environment. The network 565 may be a fixed wireless network, a wireless local area network (LAN), a wireless wide area network (WAN) a personal area network (PAN), a virtual private network (VPN), intranet or other suitable network system and includes equipment for receiving and transmitting signals.
If the computer 501 is a PC, workstation, intelligent device or the like, the software in the memory 510 may further include a basic input output system (BIOS) (omitted for simplicity). The BIOS is a set of essential software routines that initialize and test hardware at startup, start the OS 511, and support the transfer of data among the hardware devices. The BIOS is stored in ROM so that the BIOS can be executed when the computer 501 is activated.
When the computer 501 is in operation, the processor 505 is configured to execute software stored within the memory 510, to communicate data to and from the memory 510, and to generally control operations of the computer 501 pursuant to the software. The project management charting methods described herein and the OS 511, in whole or in part, but typically the latter, are read by the processor 505, perhaps buffered within the processor 505, and then executed.
When the systems and methods described herein are implemented in software, as is shown in
As will be appreciated by one skilled in the art, aspects of the present invention may be embodied as a system, method or computer program product. Accordingly, aspects of the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “circuit,” “module” or “system.” Furthermore, aspects of the present invention may take the form of a computer program product embodied in one or more computer readable medium(s) having computer readable program code embodied thereon.
Any combination of one or more computer readable medium(s) may be utilized. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
A computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof A computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
Computer program code for carrying out operations for aspects of the present invention may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++ or the like and conventional procedural programming languages, such as the “C” programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).
Aspects of the present invention are described below with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer readable medium that can direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks.
The computer program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
The flowchart and block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
In exemplary embodiments, where the project management charting methods are implemented in hardware, the project management charting methods described herein can implemented with any or a combination of the following technologies, which are each well known in the art: a discrete logic circuit(s) having logic gates for implementing logic functions upon data signals, an application specific integrated circuit (ASIC) having appropriate combinational logic gates, a programmable gate array(s) (PGA), a field programmable gate array (FPGA), etc.
Technical effects include but are not limited to providing enhanced insights into allocating proper resources with improved business impact, and providing an accurate and efficient method to track business objectives, taking into account the collective achievements and resources of an organization. The systems and methods described herein provide a quick assessment tool for: visually inspecting remaining work, resource allocation and lagging tasks; visualizing, building and tracking a work breakdown structure with resource estimates; analyzing the effectiveness of resource allocations and evaluating past management strategies; and shifting strategy by analyzing performance of the project against schedule and gives an instantaneous estimated completion date. It also provides insight into risk and gives information for correct risk management and planning strategies
While the invention has been described in detail in connection with only a limited number of embodiments, it should be readily understood that the invention is not limited to such disclosed embodiments. Rather, the invention can be modified to incorporate any number of variations, alterations, substitutions or equivalent arrangements not heretofore described, but which are commensurate with the spirit and scope of the invention. Additionally, while various embodiments of the invention have been described, it is to be understood that aspects of the invention may include only some of the described embodiments. Accordingly, the invention is not to be seen as limited by the foregoing description, but is only limited by the scope of the appended claims.