The present invention relates to a system, a method, and a program for managing a project.
Conventionally, in project management, tools such as a WBS (Work Breakdown Structure) and a Gantt chart are sometimes used in order to perform progress management of a project. In the WBS and the Gantt chart, the entire project is divided into fine processes and a flow of the entire work and a progress status of each process are shown. For example, a technique is known for retaining, on a computer, work information in work and a dependency relation of the work information and automatically generating work items and a work procedure.
The present invention provides a system for managing a plurality of projects. The system includes: a layout unit laying out, for each project, a project image, which is an image representing that project, in a position on a diagram determined on the basis of a progress status of the project; and a display control unit laying out, using a degree of association between projects obtained on the basis of influence information indicating, for each project, that work of that project is affected by work of another project and resource information indicating resources allocated to the respective projects, an association degree image indicating a degree of association between one project and another project in association with a project image representing the one project and a project image representing the other project on the diagram ad causing a display unit to display the diagram on which the images are laid out.
The present invention provides a method for managing a plurality of projects. A project image representing each project is displayed in a position on a diagram for reflecting a progress status of each project. A degree of association between projects is calculated on the basis of influence information indicating that work of a project is affected by work of another project and resource information indicating resources allocated to the respective projects. A display unit displays, on the basis of the calculated degree of association between the projects, an association degree image indicating a degree of association between one project and another project in association with a project image representing the one project and a project image representing the other project on the diagram.
The present invention provides a program for causing a computer for managing a plurality of projects to implement: a function for laying out, for each project, a project image, which is an image representing that project, in a position on a diagram determined on the basis of a progress status of the project; a function for calculating a degree of association between projects on the basis of influence information indicating that work of a project is affected by work of another project and resource information indicating resources allocated to the respective projects; and a function for laying out, on the basis of the calculated degree of association between the projects, an association degree image indicating a degree of association between one project and another project in association with a project image representing the one project and a project image representing the other project on the diagram and causing a display unit to display the diagram on which the images are laid out.
a) is a diagram showing an example of a project list, in accordance with embodiments of the present invention.
b) is a diagram showing an example of allocations of amounts of work to persons in charge for projects, in accordance with embodiments of the present invention.
a) is a diagram showing an example of amounts of work executable by the persons in charge before the completion of the projects, in accordance with embodiments of the present invention.
b) is a diagram showing an example of amounts of work that should be completed at the present point in time concerning the projects, in accordance with embodiments of the present invention.
c) is a flow diagram showing an example of amounts of work actually completed concerning the projects and remaining amounts of work, in accordance with embodiments of the present invention.
a) is a diagram showing an example of values indicating positions where project images of the projects are laid out and sizes of the project images, in accordance with embodiments of the present invention.
b) and 7(c) are diagrams showing an example of a graph generated on the basis of the values shown in
a) to 10(c) are diagrams showing examples of data used for calculating progress differences after the allocation change of the amounts of work, in accordance with embodiments of the present invention.
a) to 12(c) are diagrams showing examples of data used for calculating progress differences after an assignment change of the persons in charge, in accordance with embodiments of the present invention.
a) and 14(b) are diagrams showing examples of data used for calculating progress differences after exclusion of a task b5, in accordance with embodiments of the present invention.
a) is a diagram showing an example of values indicating positions where project images of the projects are laid out and sizes of the project images after the exclusion of the task b5, in accordance with embodiments of the present invention.
b) and 15(c) are diagrams showing examples of graphs generated on the basis of the values of
a) and 16(b) are diagrams showing examples of data used for calculating progress differences after exclusion of a task a8, in accordance with embodiments of the present invention.
a) is a diagram showing an example of values of positions where project images of the projects are laid out and sizes of the project images after the exclusion of the task a8, in accordance with embodiments of the present invention.
b) and 17(c) are diagrams showing examples of graphs generated on the basis of the values of
During development of, for example, an application or software, in some case, a project is present for each function to be developed and a plurality of projects proceed simultaneously in parallel. When the plurality of projects proceed in parallel, in some case, the progress of a project of a basic function affects another project or, because a plurality of functions are associated, one person is assigned to a plurality of projects and some relation occurs among the projects. For example, the conventional WBS and the conventional Gantt chart have an object of scheduling and managing respective projects and do not simultaneously grasp progress statuses of a plurality of projects and a relation among the projects.
The present invention makes it easy to grasp, when a plurality of projects proceed in parallel, progress statuses of the projects and a relation among the projects.
The present invention is implemented as a system explained below. This system is a system for managing a plurality of projects, including: an layout unit laying out, for each project, a project image, which is an image representing that project, in a position on a diagram determined on the basis of a progress status of the project; and a display control unit laying out, using a degree of association between projects obtained on the basis of influence information indicating, for each project, that work of that project is affected by work of another project and resource information indicating resources allocated to the respective projects, an association degree image indicating a degree of association between one project and another project in association with a project image representing the one project and a project image representing the other project on the diagram and causing a display unit to display the diagram on which the images are laid out.
In one embodiment, when the association degree image laid out between the one project image and the other project image is selected, the display control unit causes the display unit to display information concerning work or information concerning resources related between the one project and the other project associated with the association degree image. In one embodiment, the display control unit causes the display unit to display a project image representing a project such that an amount of work of the project and a display form of the project image representing the project correspond to each other and causes the display unit to display an association degree image indicating a degree of association between projects such that the degree of the association between the projects and a display form of the association degree image correspond to each other. In one embodiment, the layout unit lays out, as the project image, on the basis of an amount of work actually completed in a project, an amount of work in progress, and an amount of work not started yet, a project image divided into three regions including a region indicating the actually completed work, a region indicating the work in progress, and a region indicating the work not started yet. Preferably, the system further includes a storing unit storing the influence information and the resource information for each task in the projects.
Further, the present invention is implemented as a system explained below. This system is a system for managing a plurality of projects, including: an elapse value calculating unit calculating, for each project, an elapse value representing a ratio of a period elapsed to the present point in time to a project period from a start date to a completion scheduled date of that project; an amount of executable work calculating unit calculating, for each project, an amount of work executable before the completion scheduled date on the basis of the remaining number of days from the present point in time to the completion scheduled date and information concerning persons in charge assigned to the project; an amount of completed work calculating unit calculating, for each project, an amount of work that should be completed in the present point in time by subtracting the amount of work calculated by the executable amount of work calculating unit from a total amount of work of the project; a progress value calculating unit calculating, for each project, on the basis of an amount of work actually completed at the present point in time and the amount of work calculated by the amount of completed work calculating unit, a progress value representing a progress status of that project; an association degree calculating unit calculating, on the basis of information indicating that work of a project is affected by work of another project and information concerning persons in charge assigned to the project, a degree of association between the projects; a layout unit determining, for each project, on the basis of the progress value calculated by the progress value calculating unit and the elapse value calculated by the elapse value calculating unit, a position where a project image representing that project on a diagram, one axis of which indicates the progress value and the other axis of which indicates the elapse value, and laying out, on the basis of an amount of actually-completed work, an amount of work in progress, and an amount of work not started yet, in the position determined on the diagram, the project image divided into three regions including a region indicating the actually completed work, a region indicating the work in progress, and a region indicating the work not started yet; and a display control unit laying out, on the basis of the degree of association between the projects calculated by the association degree calculating unit, an association degree image indicating a degree of association between one project and another project between a project image representing the one project and a project image representing the other project on the diagram and causing a display unit to display the diagram on which the images are laid out.
Further, the present invention is implemented as a system explained below. This system is a system for managing a plurality of projects, including: a display control unit laying out, for each project, a project image, which is an image representing that project, in a position on a diagram determined on the basis of a progress status of the project, laying out an association degree image indicating a degree of association between one project and another project in association with one project image representing the one project and another project image representing the other project on the diagram, and causing a display unit to display the diagram on which the images are laid out; an input receiving unit receiving an operation input from a user; and an update display unit updating, when receiving an operation input for changing an execution condition of the one project in the input receiving unit, the one project image according to the change of the execution condition, updating, according to a change in the degree of association due to the change of the execution condition, the other project image and the association degree image laid out in association with the one project image and the other project image, and causing the display unit to display the one project image, the other project image, and the association degree image.
In one embodiment, the system further includes a processing unit performing, according to an operation input for changing the execution condition of the one project, processing associated with the operation input, which is processing for changing a component of the one project, and also changing a component of the other project associated with the component of the one project to change the degree of association, and the update display unit updates, according to the processing by the processing unit, the one project image, the other project image, and the association degree image laid out in association with the one project image and the other project image. More preferably, the input receiving unit receives, as the operation input for changing the execution condition, an operation input performed on the diagram with respect to the one project image. Further, preferably, the input receiving unit receives, as the operation input performed on the diagram, an operation input for moving the one project image, and, when the input receiving unit receives the operation input for moving the one project image, the processing unit performs processing for coordinating a person in charge between the one project and the other project. Preferably, the input receiving unit receives, as the operation input performed on the diagram, an operation input for reducing the one project image, and, when the input receiving unit receives the operation input for reducing the one project image, the processing unit performs processing for excluding work in the one project and excluding work in the other project, which is related to the excluded work in the one project.
The present invention is implemented as a system explained below. This system is a system for managing a plurality of projects, including: a progress value calculating unit calculating, for each project, on the basis of an amount of work not completed at the present point in time and an amount of work executable by a completion scheduled date of a project, a progress value representing a progress status of the project; an association degree calculating unit calculating, on the basis of information indicating that work of a project is affected by work of another project and information concerning a person in charge assigned to the project, a degree of association between the projects; a display control unit laying out, for each project, a project image representing a project in a position on a diagram determined according to the progress value calculated by the progress value calculating unit, laying out, on the basis of the degree of association between the projects calculated by the association degree calculating unit, an association degree image indicating a degree of association between one project and another project between a project image representing the one project and a project image representing the other project, and causing a display unit to display the diagram on which the images are laid out; an input receiving unit selecting, on the diagram, one project image representing the one project and the association degree image laid out between the one project image and another project image and further receiving an operation input for moving the one project image; a processing unit performing, when the input receiving unit receives the operation input, processing for performing coordination of a person in charge between the one project and the other project according to a position to which the one project image moves, shifting assignment of the person in charge from the one project to the other project, and reducing an amount of work executable by a completion scheduled date of the one project or processing for shifting the assignment of the person in charge from the other project to the one project and increasing the amount of work executable before the completion scheduled date of the one project; and an update display unit moving, according to the progress value changed according to the processing by the processing unit, the one project image, the other project image, and the association degree image laid out between the one project image and the other project image, which are laid out on the diagram, and updating display contents of the display unit.
The present invention is implemented as a method for managing a plurality of projects, including the steps of; laying out, for each project, a project image, which is an image representing that project, in a position on a diagram determined on the basis of a progress status of the project; calculating a degree of association between projects on the basis of influence information indicating that work of that project is affected by work of another project and resource information indicating resources allocated to the respective projects; and laying out, on the basis of the calculated degree of association between the projects, an association degree image indicating a degree of association between one project and another project in association with a project image representing the one project and a project image representing the other project on the diagram and causing a display unit to display the diagram on which the images are laid out.
Further, the present invention is implemented as a method for managing a plurality of projects, including the steps of: laying out, for each project, a project image, which is an image representing that project, in a position on a diagram determined on the basis of a progress status of the project, laying out an association degree image indicating a degree of association between one project and another project in association with one project image representing the one project and another project image representing the other project of the diagram, and causing a display unit to display the diagram on which the images are laid out; and updating, when receiving an operation input for changing an execution condition of the one project, the one project image according to the change of the execution condition, updating, according to a change in the degree of association due to the change of the execution condition, the other project image and the association degree image laid out in association with the one project image and the other project image, and causing the display unit to display the one project image, the other project image, and the association degree image.
Furthermore, the present invention is also implemented as a computer program in a computer program product for controlling a computer to implement the functions of the system explained above or a program for causing a computer to execute processing corresponding to the steps of the method explained above. This program can be provided by storing it in a magnetic disk, an optical disk, a semiconductor memory, or other recording media and distributing the media, or by delivering it via a network.
According to the present invention, when a plurality of projects proceed in parallel, it is possible to easily grasp progress statuses of the projects and a relation among the projects.
An embodiment of the present invention is explained in detail below with reference to the accompanying drawings.
First, a functional configuration of the project managing system 10 according to this embodiment is explained. As shown in
The project information DB 11 stores information concerning projects. The information concerning projects (hereinafter referred to as project information) is, for example, a start date and a completion scheduled date of a project, a task (work) list in the project, work contents completed in each task, and information concerning resources such as operators and facilities assigned to the project (resource information). In the project information DB 11, these kinds of information are stored for each project.
The project information also includes information indicating that a task of a project is affected by another project (influence information). For example, when functions developed by the respective tasks are related and two tasks are executed in parallel while work content of one task and work content of the other task are involved in each other, a task of one project is affected by another project. For example, when there is a dependency relation between the tasks and the other task is started on the basis of an execution result of the one task, the task of the project is affected by the other project. Further, for example, when the other task is executed using a facility environment used in the one task, the task of the project may be regarded as being affected by the other project. Information indicating such influence between the tasks is also stored in the project information DB 11.
Such project information is updated, for example, when work in a day ends, by the operators or the like according to progress statuses of the projects such that the project information is always in the latest status. Details of the project information are explained below.
The relation search information DB 12 serving as an example of the storing unit stores information used for searching for a relation between projects (hereinafter referred to as relation search information). Specifically, information indicating a relation between tasks and resources and information indicating influence between the tasks are sorted out and stored for each task. The information indicating the relation between the tasks and the resources is, for example, information indicating which operators are assigned to tasks in a project. The information indicating the influence among the tasks is information indicating that a task is affected by another task as explained above. The relation search information is generated on the basis of the project information stored in the project information DB 11. The relation search information DB 12 updates the relation search information at any time to reflect contents of the latest project information. Specifically, the relation search information DB 12 updates the relation search information on the basis of the project information of the project information DB 11, for example, every time the project information is updated, periodically, automatically, or according to operation by the user. Details of the relation search information are explained below.
The input receiving unit 13 serving as an example of the input receiving unit receives an operation input from the user. For example, the input receiving unit 13 receives, from the user, an operation input for instructing display of a progress status of a project. The input receiving unit 13 receives, from the user, an operation input for, in displayed information, for example, changing placement of the operators for the project or changing execution conditions of the project for excluding a task in the project. Such an operation input by the user is performed by, for example, the user operating a mouse or a keyboard.
The progress status calculating unit 14 calculates progress statuses of the projects on the basis of the project information stored in the project information DB 11. When the input receiving unit 13 receives an operation input for instructing display of progress statuses of projects, the progress status calculating unit 14 acquires, from the project information DB 11, project information concerning the projects, the progress statuses of which are instructed to be displayed. The progress status calculating unit 14 calculates progress statuses on the basis of the acquired project information of the projects. Details of a procedure in which the progress status calculating unit 14 calculates progress statuses are explained below. In this embodiment, the progress status calculating unit 14 is used as an example of the elapse value calculating unit, the executable amount of work calculating unit, the amount of completed work calculating unit, the progress value calculating unit, and the processing unit.
Further, when the input receiving unit 13 receives an operation input for changing execution conditions of a project, the progress status calculating unit 14 calculates a progress status of the project again according to the change of the execution conditions. The progress status calculating unit 14 calculates progress statuses again concerning not only the project for which the execution conditions are changed but also another project related to the project. Additionally, the progress status calculating unit 14 performs, according to the operation input for changing the execution conditions of the project, processing associated with the operation input, which is processing for changing components of the project such as operators and tasks in the project, and also changes components of the other project related to the components.
The association degree calculating unit 15 serving as an example of the association degree calculating unit searches for, concerning the projects, the progress statuses of which are instructed to be displayed, a relation between the projects on the basis of the relation search information of the relation search information DB 12. When obtaining a search result concerning the relation between the projects, the association degree calculating unit 15 calculates a degree of association between the projects on the basis of the project information stored in the project information DB 11. The association degree calculating unit 15 calculates the degree of association between the projects using information indicating that tasks of a project affect another project and information concerning resources such as operators and facilities assigned to the project. When the input receiving unit 13 receives an operation input for changing execution conditions of projects, the association degree calculating unit 15 calculates a degree of association between the projects again according to the change of the execution conditions. In the following explanation, the degree of association between the projects is simply referred to as association degree.
The display control unit 16 lays out images representing the projects (hereinafter referred to as project images) on a graph for each project on the basis of the progress statuses calculated by the progress status calculating unit 14. The display control unit 16 lays out the project images in positions on the graph determined by the progress statuses. In the following explanation, the graph on which the project images are laid out is referred to as, in particular, progress status graph. The display control unit 16 lays out, on the basis of the association degree calculated by the association degree calculating unit 15, an image indicating the degree of association between the projects (hereinafter referred to as association degree image) on the progress status graph. The display control unit 16 lays out an association degree image indicating an association degree between one project and another project in association with a project image representing the one project and a project image representing the other project in the progress status graph. The display control unit 16 lays out, concerning the projects in the progress status graph, association degree images in association with the projects between the projects and the other projects and causes the display unit 17 to display the progress status graph.
When the input receiving unit 13 receives an operation input for changing an execution condition of a project, the display control unit 16 updates and displays the progress status graph according to the change of the execution condition. The display control unit 16 changes, on the basis of the progress statuses calculated by the progress status calculating unit 14, the positions where the project images are laid out and associates the association degree image again with the project images, the positions of which are changed, on the basis of the association degree calculated by the association degree calculating unit 15. In this way, the display control unit 16 updates the images and displays the progress status graph. In this embodiment, the display control unit 16 is used as an example of the layout unit, the display control unit, and the update display unit.
Note that, in causing the display unit 17 to display the various images on a screen of the display unit 17, the display control unit 16 configures the screen of the display unit 17 as a plane configured by coordinate axes and determines display positions on the basis of coordinates of the various images. The display control unit 16 causes the display unit 17 to display, for example, the project images, the arrangement positions of which are changed, on the basis of coordinates after the change.
The display unit 17 is a display device such as a liquid crystal display and displays various kinds of information on a display screen under the control by the display control unit 16.
Next, the project information stored in the project information DB 11 is explained.
a) is a diagram showing an example of a project list, in accordance with embodiments of the present invention. “Name” indicates project names, “Start Date” indicates start dates of projects, “End Date” indicates completion scheduled dates, and “Today” indicates a date of the day. “Schedule %” indicates percent complete which are ratios of periods elapsed to the present point in time in a period from the start date of the project before the completion scheduled date of the project (hereinafter referred to as project period). In other words, a project's schedule percent is defined as a percent equivalent of a ratio of the project's elapsed time at the present time to the project's total allocated time
In the example shown in
b) is a diagram showing an example of allocations of amounts of work to operators for projects, in accordance with embodiments of the present invention. “Project” indicates projects (project names) and “tom”, “lisa”, “charles”, and “susan” indicate names of the operators. The figure represents at which ratios the operators are in charge of the respective projects.
In the example shown in
In the example shown in
For example, the task a3 is a task executed the third among the tasks of the project A because “Priority” indicates 3. The task a3 is assigned to susan. “Estimate” indicates that work for 20 hours is necessary before the completion of the task. On the other hand, since “5” is recorded in “Done” of the task a3, work for 5 hours has been completed at the present point in time in the work for 20 hours. Therefore, in “Status” of the task a3, “In Progress” indicating that the task is in progress is recorded.
Further, for example, the task a8 is a task executed the eighth among the tasks of the project A because “Priority” indicates 8. The task a8 is assigned to susan. “Estimate” indicates that work for 50 hours is necessary before the completion of the work. On the other hand, since “0” is recorded in “Done” of the task a8, the task a8 has not been started yet. Therefore, in “Status” of the task a8, “Open” indicating that the task has not been started yet is recorded.
In the task a8, “b5” is recorded in “Dependency”. The task a8 depends on the task b5, “Task ID” of which indicates “b5”, in the project B. On the other hand, in the task b5, nothing is recorded in “Dependency”. Therefore, the task b5 is executed without being affected by the task a8. However, the task a8 depends on the task b5. For example, a situation is conceivable in which the task a8 is executed using a function developed by the task b5.
Next, the relation search information stored in the relation search information DB 12 is explained.
“Association source” indicates identifiers (Task IDs of
In the example shown in
In this way, in the relation search information, information concerning a project, information concerning an operator, and information concerning other related tasks are sorted out and recorded for each task. Therefore, when searching for a relation between projects, by using the relation search information, the association degree calculating unit 15 can easily search for the relation between the projects, that is, a relation between a task and an operator and a relation between a task and another task. Additionally, for example, compared with a configuration for searching for a relation among tasks using only the project information, which is source data of the relation search information, since the association degree calculating unit 15 uses the relation search information, the search among the projects is performed at high speed. In particular, the effect of using the relation search information is considered to be higher as the number of kinds of the project information stored in the project information DB 11 increases. Note that the relation search information is not limited to the configuration shown in
Next, processing in which the project managing system 10 generates and displays the progress status graph is explained.
First, the input receiving unit 13 receives an operation input for displaying progress statuses of projects (step 101). Subsequently, the progress status calculating unit 14 acquires, from the project information DB 11, project information concerning the projects designated to be displayed (step 102). In the operation input in step 101, the operation is input to display progress statuses of the projects A to C. Therefore, the progress status calculating unit 14 acquires project information of the projects A to C from the project information DB 11. In the procedure shown in
Subsequently, the progress status calculating unit 14 calculates, on the basis of the acquired project information of the projects, for each project, a ratio of a period elapsed to the present point in time to a project period from a start date to a completion date of the project (step 103). Here, the progress status calculating unit 14 calculates a value of “Schedule %” in the project information shown in
Subsequently, the progress status calculating unit 14 calculates information indicating an amount of work executable before the completion of each project in the present assignment of the operators (step 104). Here, the progress status calculating unit 14 calculates, on the basis of the project information shown in
a) is a diagram showing an example of amounts of work executable by the operators before the completion of the projects, in accordance with embodiments of the present invention. In the example shown in
For example, from the project information shown in
Subsequently, the progress status calculating unit 14 calculates an amount of work that should be completed at the present point in time concerning each project (step 105). Here, the progress status calculating unit 14 subtracts, concerning the projects, the amounts of work executable before the project completion from the total amounts of work to calculate the amounts of work that should be completed at the present point in time.
b) is a diagram showing an example of the amounts of work that should be completed at the present point in time concerning the projects, in accordance with embodiments of the present invention. In the example shown in the figure, “Time Est” indicates the amounts of work that should be completed at the present point in time.
For example, from the project information shown in
Subsequently, the progress status calculating unit 14 calculates an amount of work actually completed and a remaining amount of work concerning each project (step 106). Here, the progress status calculating unit 14 subtracts, concerning the projects, the amounts of actually-completed work from the entire amounts of work and calculates the remaining amounts of work.
c) is a diagram showing an example of the amounts of work actually completed concerning the projects and the remaining amounts of work, in accordance with embodiments of the present invention. In the example shown in the figure, “Estimate” indicates the entire amounts of work, “Done” indicates the amounts of actually-completed work, and “Rest” indicates the remaining amounts of work.
For example, the entire amount of work of the project A is “305” as calculated in step 105. An amount of work actually completed concerning the project A is calculated as “54” by totaling values recorded in “Done” from the project information shown in
Subsequently, the progress status calculating unit 14 determines a position where a project image of each project is laid out and a size of the project image (step 107).
a) is a diagram showing examples of values of positions where the project images of the projects are laid out and the sizes of the project images, in accordance with embodiments of the present invention.
Concerning the values shown in
The progress difference is a value obtained by dividing, for each project, an “amount of actually-completed work” by an “amount of work that should be completed at the present point in time”, subtracting a value obtained by the division from 1, and indicating a value obtained by the subtraction in percentage. In this embodiment, the progress difference is used as an example of the progress value. In other words, a project's progress difference is defined as a percent equivalent of one minus a ratio of an amount of actually-completed work by the project at the present time to an amount of work that should be completed by the project at the present time. The total amount of work that should be completed by the project at the present time is defined as the total amount of work for the project minus the total amount of work scheduled to be subsequently done for the project going forward in time from the present time.
Here, as the “amount of actually-completed work” is larger, the progress of a project is considered to be better. Therefore, as the value obtained by dividing the “amount of actually-completed work” by the “amount of work that should be completed at the present point in time” is larger, that is, as the progress difference is smaller, the project proceeds as scheduled more and the progress is better. As the progress difference is larger, the project is further behind the schedule and the progress is worse. Further, when the project proceeds earlier than the schedule, the “amount of actually-completed work” is larger than the “amount of work that should be completed at the present point in time”. In this case, the value obtained by dividing the “amount of actually-completed work” by the “amount of work that should be completed at the present point in time” is larger than 1. However, the progress difference is represented by “0%”.
For example, in the project A, from the value of “Done” shown in
Concerning the values shown in
For example, from the project information shown in
b) and 7(c) are graphs generated on the basis of the values shown in
Subsequently, the association degree calculating unit 15 searches for a relation between projects on the basis of the relation search information stored in the relation search information DB 12 (step 108). For example, when searching for a relation between the project B and the project C, first, the association degree calculating unit 15 acquires, from the relation search information DB 12, relation search information concerning the project B and the project C. The relation search information acquired here is relation search information concerning the project B and the project C among the relation search information shown in
In the example shown in
For example, from the project information shown in
An association degree between the project A and the project B is calculated as “240” by the same procedure. Since the task a8 of the project A depends on the task b5 of the project B, the association degree calculating unit 15 may further add a value to the association degree between the project A and the project B taking into account a relation between the tasks. Concerning the project A and the project C, since an operator in charge of both of the project A and the project C is absent, an association degree is “0”.
Subsequently, the display control unit 16 renders, on the basis of the association degree calculated by the association degree calculating unit 15, an association degree image indicating the association degree between the projects on a progress status graph (step 110).
The project images are laid out in the positions where the project images are laid out shown in
For example, in the project A, as shown in
In the example shown in
The display control unit 16 displays, on the display unit 17, the progress status graph on which the project images of the projects and the association degree image indicating the association degree between the projects are rendered (i.e., the graph shown in
In the graph shown in
Further, when the user selects an arrow on the progress status graph shown in
The processing for displaying the progress status graph is explained according to the procedure shown in
The displayed graph is not limited to the configurations shown in
Next, processing for changing a displayed progress status graph to change execution conditions of a project according to operation by the user is explained. For example, it is conceivable that, in order to complete a project as scheduled, the user changes placement of operators for the project and change tasks in the project to change execution conditions of the project. When performing such a change, if the user can check how a status of the project including related another project changes, the user can easily determine how a schedule should be changed.
Therefore, in this embodiment, when the user makes various changes on the progress status graph, the project managing system 10 displays how statuses of the projects change. That is, the project managing system 10 displays, when execution conditions of a project are changed, how a status of the project changes. Further, the project managing system 10 displays, when the execution conditions of the project are changed, according to a change of an association degree between the project and another project, how the other project and the association degree change. Here, the project managing system 10 only has to display what kind of influence occurs when the execution conditions are changed by the user. The project managing system 10 does not have to actually update values of databases such as the project information DB 11. In the following explanation, operation performed by the user is explained with reference to a specific example.
First, an example is explained in which allocations of amounts of work in the operators are changed according to operation by the user. In this example, the input receiving unit 13 receives an operation input for selecting, as an operation target, an association degree image associated with project images. The display control unit 16 displays, on the basis of the operation input, a list of operators in charge of both projects associated with the selected association degree image. When the input receiving unit 13 receives an operation input for selecting an operator in the list, the display control unit 16 displays an allocation table indicating allocations of an amount of work in the selected operator. The user moves the slider on the allocation table, whereby the allocations of the amount work are changed.
For example, when the user moves the slider 63 to the left, the allocation for the project B decreases and the allocation for the project C increases. On the other hand, when the user moves the slider to the right, the allocation for the project B increases and the allocation for the project C decreases. In this example, the user moves the slider 63 to the right to thereby change the allocation for the project B to “95%” and change the allocation for the project C to “5%”.
a) to 10(c) are diagrams showing examples of data used for calculating a progress difference after the change of the allocations of the amounts of work. First,
b) is a diagram showing an example of amounts of work executable by the operators, in accordance with embodiments of the present invention. Since the allocations of the amount of work of lisa are changed, amounts of work executable by lisa before the project completion for the project B and the project C are changed. Specifically, in the example shown in
c) is a diagram showing an example of amounts of work that should be completed at the present point in time concerning the projects, in accordance with embodiments of the present invention. Since the allocations of the amount of work of lisa are changed, amounts of work that should be completed at the present point in time concerning the project B and the project C are changed. Since an entire amount of work of the project B and the project C is not changed, as shown in
In the project B, from the value of “Done” shown in
Additionally, by increasing the allocation for the project B and reducing the allocation for the project C as the allocations of the amount of work of lisa, compared with the example shown in
According to the change in the positions of the project images, the association degree image is also updated. In this example, according to the change in the positions of the project B and the project C, the position of the arrow between the project B and the project C is also changed. However, even if the positions of the project B and the project C change, totals of the remaining amounts of work of the tasks, of which tom and lisa are in charge in the project B and the project C, do not change. Therefore, the thickness of the arrow between the project B and the project C does not change.
In this way, by changing the allocations of the amounts of work according to the movement of the slider, the positions of the project images move up and down on the progress status graph. Therefore, the user only has to check the positions of the project images after the change and determine how the allocations of the amounts of work should be changed. In this example, the allocations of the amounts of work are changed by the movement of the slider. However, for example, values indicating the allocations of the amounts of work may be directly input as numbers and changed.
Next, an example is explained in which allocations to the operators are changed by operation by the user. In this example, the input receiving unit 13 receives an operation input for selecting, as an operation target, together with project images, an association degree image associated with the project images. The user drags the project images up and down, whereby the input receiving unit 13 receives an operation input for moving the project images up and down in the progress status graph. According to such an operation input, progress differences of projects change on the progress status graph. Therefore, coordination of the operators is performed between the projects according to the change in the progress differences.
Additionally, when the user moves a project image upward, since a progress difference increases, the progress of a project is processed to be worse. In this case, the progress status calculating unit 14 performs processing for shifting assignment of the operators to another project. On the other hand, when the user moves a circle downward, since the progress difference decreases, the progress is processed to be better. In this case, since it is necessary to increase an amount of work to be processed, the progress status calculating unit 14 performs processing for shifting the assignment of the operators from the other project. In this example, in the following explanation, it is assumed that the user selects the arrow between the project B and the project C and moves the circle corresponding to the project B downward to thereby shift the assignment of the operators to the project B.
a) to 12(c) are diagrams showing examples of data used for calculating progress differences after a change of assignment of the operators. First,
b) is a diagram showing an example of amounts of work executable by the operators, in accordance with embodiments of the present invention. The allocations of amounts of work to the project B and the project C are changed, whereby amounts of work executable before the project completion are changed for the project B and the project C. Specifically, in the example shown in
Concerning the project B and the project C, totals of the amounts of work of the four operators are also changed. In the example shown in
c) is a diagram showing an example of amounts of work that should be completed at the present point in time concerning the projects, in accordance with embodiments of the present invention. Since the allocations of the amounts of work to the project B and the project C are changed, the amounts of work that should be completed at the present point in time concerning the project B and the project C are changed. Since the entire amounts of work of the project B and the project C are not changed, as shown in
In the project B, from the value of “Done” shown in
Additionally, by moving the circle corresponding to the project B downward, compared with the example shown in
According to the change in the positions of the project images, the association degree image is also updated. In this example, according to the change in the positions of the project B and the project C, the position of the arrow between the project B and the project C is also changed. However, even if the positions of the projects B and the project C change, totals of the remaining amounts of work of the tasks, of which tom and lisa are in charge in the project B and the project C, do not change. Therefore, the thickness of the arrow between the project B and the project C does not change.
Further, the project A has a relation with the project B. However, since the arrow between the project A and the project B is not selected as an operation target, even if the circle of the project B is moved downward, the assignment of the operators to the project A does not change.
In this way, by dragging the positions of the circles corresponding to the projects up and down, since the progress differences of the projects change, coordination of the operators is performed between the projects. Therefore, after the coordination is performed, the user only has to check the assignment of the operators to the projects and the positions of the project images and determine how the assignment of the operators should be changed.
In this example, the circles are dragged up and down to change the progress differences, whereby the assignment of the operators to the projects changes. However, the change in the progress difference is not limited to such a configuration. For example, by moving the circles downward to reduce the progress differences, tasks having low priority levels in the projects may be excluded or amounts of work of tasks having low priority levels may be reduced. For example, in response to moving the circles upward to increase the progress differences, new tasks may be received or amounts of work of tasks may be increased. In this way, the project managing system 10 determines in advance what kind of processing is performed according to an operation input for the project images.
Next, an example is explained in which tasks in a project are changed according to operation by the user. In this example, the input receiving unit 13 receives an operation input to select, together with a project image, an association degree image associated with the project image. Further, the user drags an outermost radial boundary of the circle representing the project image either radially inward or radially outward which respectively decreases or increases the radius of the circle representing the project image, whereby the input receiving unit 13 receives an operation input for changing the size of the circle representing the project image. According to such an operation input, the size of the project changes and the tasks in the project changes.
Additionally, when the user enlarges the project image, the size of the project increases. For example, it is possible to receive new tasks and increase amounts of work of the tasks. On the other hand, when the user reduces the project image, the size of the project decreases. For example, tasks having low priority levels are excluded and amounts of work of the tasks having low priority levels decrease. In this example, in the following explanation, it is assumed that the user reduces the circle corresponding to the project B to thereby exclude a task of the project B.
In the project information shown in
a) is a diagram showing an example of amounts of actually-completed work and the remaining amounts of work in the projects, in accordance with embodiments of the present invention. In the example shown in
b) is a diagram showing an example of amounts of work that should be completed at the present point in time concerning the projects, in accordance with embodiments of the present invention. Since the task b5 is excluded, the amounts of work that should be completed at the present point in time decreases. That is, concerning the project B, in the example shown in
In the project B, from the value of “Done” shown in
a) is a diagram showing an example of values indicating positions where the project images of the projects are laid out and the sizes of the project images after the exclusion of the task b5, in accordance with embodiments of the present invention.
In the project information shown in
On the display unit 17, a message or the like indicating that the task a8 becomes unexecutable is displayed. When the user performs an operation input for accepting that the task a8 is not executed, processing for excluding the task a8 is performed.
a) to 16(c) are diagrams showing examples of data used for calculating progress differences after the exclusion of the task a8, in accordance with embodiments of the present invention.
a) is a diagram showing an example of amounts of actually-completed work and the remaining amounts of work in the projects after the exclusion of the task a8, in accordance with embodiments of the present invention. In the example shown in
b) is a diagram showing an example of amounts of work that should be completed at the present point in time concerning the projects after the exclusion of the task a8, in accordance with embodiments of the present invention. Since the task a8 is excluded, the amounts of work that should be completed at the present point in time decreases. That is, concerning the project A, in the example shown in
In the project A, from the value of “Done” shown in
a) is a diagram showing an example of values of positions where the project images of the projects are laid out and the sizes of the project images after the exclusion of the task a8, in accordance with embodiments of the present invention.
The operator in charge of both of the project A and the project B is susan. In the calculation of the association degree between the project A and the project B, amounts of work, of which susan is in charge, are totaled. Since susan is in charge of the excluded task a8 and task b5, the association degree between the project A and the project B decreases according to the exclusion of the tasks. Specifically, the remaining amount of work of the task a8 is “50” and the remaining amount of work of the task b5 is “80”. Therefore, although the association degree before the exclusion of the tasks is “240” as explained above, amounts of work of the excluded tasks are subtracted and the association degree decreases to “110”. Further, when a value is further added to the association degree because the task a8 depends on the task b5, the added value is also subtracted.
In this way, by changing the sizes of the circles corresponding to the projects, the tasks in the projects change. When a task is excluded, if a task related to the excluded task becomes unexecutable, it is warned that the task becomes unexecutable. The user accepts the warning, whereby the unexecutable task is also excluded. However, even if the user does not accept the warning, the unexecutable task may be excluded. In this example, the processing for removing a task is performed according to the operation input for reducing the project image. However, processing is not limited to such a configuration. For example, by reducing the project image, assignment of the operators to the project may be reduced. However, as explained above, the project managing system 10 determines in advance what kind of processing is performed according to an operation input for the project image.
As explained above, the processing in changing the progress status graph is explained with reference to the example. However, processing for a change is not limited to the configuration of the example. For example, when the user drags the circle corresponding to the project to the left and the right, the project period may be changed. That is, when the user drags the circle to the left, the project period increases. Therefore, for example, the amount of work that should be completed at the present point in time decreases and the progress difference decreases. When the user drags the circle to the right, since the project period decreases, for example, the amount of work that should be completed at the present point in time increases and the progress difference increases. Besides, for example, the user may cause the project managing system 10 to display tasks in the project and perform processing for changing priority levels of the tasks.
Further, in this embodiment, when the projects are unrelated to each other and the association degree is “0”, the association degree image is not displayed. However, even when the projects are unrelated, the association degree image may be displayed. For example, in the graph shown in
Next, another example of the processing for displaying the progress status graph is explained. In this example, the operators measure actually spent times during execution of the projects. Every time work is performed, the user accumulates measured times for each project and records the measured times in the project information DB 11. The progress status calculating unit 14 calculates how large difference is present between “time accumulated to the present time” and the “amount of actually-completed work”. For example, when the “time accumulated to the present point in time” is larger than the “amount of actually-completed work”, time is spent more than scheduled because of, for example, the lack of skill of the operators. In such a case, the progress status calculating unit 14 further increases the “amount of work that should be completed at the present point in time” than the calculated value and then calculates the progress difference. This is because, since it is assumed that time is spent more than scheduled concerning the remaining work as well, in order to complete the project as scheduled, it is considered that the “amount of work that should be completed at the present point in time” has to be set larger than the calculated value.
As explained above, the project managing system 10 according to this embodiment displays the progress status graph to thereby present the progress statuses of the projects and, when there is association between the projects, presents a degree of association of the projects as well. Therefore, the user can easily grasp, in addition to the progress status of each project, to which degree the projects are related. The user can cause the project managing system 10 to temporarily change, on the displayed graph, the execution conditions of the projects such as the assignment of the operators to the projects and the tasks in the projects. The project managing system 10 immediately reflects a change by the user on the graph. Therefore, a trial for finding what kind of influence a change of a schedule has on the projects is performed on the graph. The user determines whether the change of the schedule is appropriate while checking the displayed graph.
In step 81, a processor of a computer system (e.g.,
In step 82, the processor receives a user input on the display screen. The user input comprises one or more actions of a mouse. The one or more actions of the mouse comprise either (i) a plurality of actions of mouse including an action of the mouse on the arrow image and subsequent actions of the mouse on displays, on the display screen, resulting from the action of the mouse on the arrow image or (ii) an action of the mouse on the circle B. In one embodiment, the user input does not comprise an action of the mouse on the circle C.
In step 83, the processor processes the user input to determine a change in respective Y values of the radial center of the circles B and C, wherein a magnitude of the change in the respective Y values of the radial center of the circles B and C is dependent upon the actions of the mouse.
In step 84, after the user input has been processed, the processor displays the plurality of projects with the radial center of the circles B and C at the changed Y values and with no change in the X values of the radial center of the circles B and C.
In one embodiment, the one or more actions of the mouse comprise the plurality of actions of the mouse, wherein the processing the user input comprises, in response to the subsequent actions of the mouse, changing a percent allocation of remaining work to be performed by one or more individuals on projects B and C, such that the one or more individuals are each responsible for one or more tasks in both project B and project C. The plurality of actions of the mouse may comprise: (i) a clicking of the mouse on the arrow image, resulting in a display, on the display screen, of the one or more individuals; (ii) a clicking of the mouse on one individual of the displayed one or more individuals, resulting in a display, on the display screen, of a table identifying a percent allocation of remaining work to be performed by the one individual on projects B and C; and (iii) a moving by the mouse of a slider disposed between projects B and C in the displayed table, which changes the percent allocation of remaining work to be performed by the one individual on projects B and C, wherein a summation of the percent allocation of remaining work to be performed by the one individual on projects B and C is 100% both before and after the moving of the slider by the mouse, and wherein the change in the respective Y values of the radial center of the circles B and C are in response to the change in the percent allocation of remaining work to be performed by the one individual on projects B and C.
In one embodiment, the one or more actions of the mouse comprise the action of the mouse on the circle B, subject to: (i) the action of the mouse on the circle B comprises a dragging by the mouse of the circle B in the +Y or −Y direction; (ii) processing the user input comprises, in response to the dragging by the mouse of the circle B in the +Y or −Y direction, changing a percent allocation of remaining work to be performed by one or more individuals on projects B and C, each individual being responsible for one or more tasks in both project B and project C; (iii) the change in the respective Y values of the radial center of the circles B and C are in response to the change in the percent allocation of remaining work to be performed by the one or more individuals on projects B and C; (iv) a summation of the percent allocation of remaining work to be performed by the one or more individuals on projects B and C is 100% both before and after the dragging by the mouse of the circle B in the +Y or −Y direction; and (v) the change in the respective Y values of the radial center of the circles B and C are of opposite polarity; i.e., the change in the respective Y values of the radial center of the circles B and C are either positive and negative respectively or negative and positive, respectively. The magnitude of the radius of circle B reflects a total amount of work performed by project B.
In one embodiment, the action of the mouse on the circle B comprises a dragging by the mouse of the circle B in the −Y direction, which results in a deletion of an existing lowest priority task from project B and a consequent reduction of the total amount of work performed by project B, wherein processing the user input further comprises: reducing the magnitude of the radius of circle B by an amount reflective of the reduction of the total amount of work performed by project B.
In one embodiment, the one or more actions of the mouse comprise the action of the mouse on the circle B, wherein the magnitude of the radius of each project's circle is indicative of a total amount of work of said each project, wherein the action of the mouse on the circle B comprises a dragging by the mouse of an outermost radial boundary of circle B radially inward which decreases the radius of the circle B to indicate a reduced total amount of work of project B, wherein said processing the user input comprises:
The hardware configuration of the project managing system 10 of
In the configuration example shown in
In
Note that
A computer program product of the present invention comprises a computer readable storage device (e.g., 10g) having computer readable program code stored therein, said program code containing instructions executable by a processor (e.g., 10a) of the computer system (e.g.,
A computer system (e.g.,
The present invention may be a system, a method, and/or a computer program product. The computer program product may include a computer readable storage medium (or media) having computer readable program instructions thereon for causing a processor to carry out aspects of the present invention.
The computer readable storage medium can be a tangible device that can retain and store instructions for use by an instruction execution device. The computer readable storage medium may be, for example, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of the computer readable storage medium includes the following: 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), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanically encoded device such as punch-cards or raised structures in a groove having instructions recorded thereon, and any suitable combination of the foregoing. A computer readable storage medium, as used herein, is not to be construed as being transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission media (e.g., light pulses passing through a fiber-optic cable), or electrical signals transmitted through a wire.
Computer readable program instructions described herein can be downloaded to respective computing/processing devices from a computer readable storage medium or to an external computer or external storage device via a network, for example, the Internet, a local area network, a wide area network and/or a wireless network. The network may comprise copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers and/or edge servers. A network adapter card or network interface in each computing/processing device receives computer readable program instructions from the network and forwards the computer readable program instructions for storage in a computer readable storage medium within the respective computing/processing device.
Computer readable program instructions for carrying out operations of the present invention may be assembler instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state-setting data, or either source code or object code written in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk, C++ or the like, and conventional procedural programming languages, such as the “C” programming language or similar programming languages. The computer readable program instructions 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). In some embodiments, electronic circuitry including, for example, programmable logic circuitry, field-programmable gate arrays (FPGA), or programmable logic arrays (PLA) may execute the computer readable program instructions by utilizing state information of the computer readable program instructions to personalize the electronic circuitry, in order to perform aspects of the present invention.
Aspects of the present invention are described herein 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 readable program instructions.
These computer readable 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 readable program instructions may also be stored in a computer readable storage medium that can direct a computer, a programmable data processing apparatus, and/or other devices to function in a particular manner, such that the computer readable storage medium having instructions stored therein comprises an article of manufacture including instructions which implement aspects of the function/act specified in the flowchart and/or block diagram block or blocks.
The computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other device to produce a computer implemented process, such that the instructions which execute on the computer, other programmable apparatus, or other device implement 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 instructions, which comprises one or more executable instructions for implementing the specified logical function(s). 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 carry out combinations of special purpose hardware and computer instructions.
While the present invention is explained above with reference to the embodiment, the technical scope of the present invention is not limited to the embodiment. It is evident for those skilled in the art that it is possible to variously change the embodiment and adopt alternative forms without departing from the spirit and the scope of the present invention.
While particular embodiments of the present invention have been described herein for purposes of illustration, many modifications and changes will become apparent to those skilled in the art. Accordingly, the appended claims are intended to encompass all such modifications and changes as fall within the true spirit and scope of this invention.
Number | Date | Country | Kind |
---|---|---|---|
2014165335 | Aug 2014 | JP | national |