| Implementation of Expert System |
|
|
|
Field:IT-industry Project task: To create a software product – expert system in some subject domain. Establishing relationships (dependencies) between tasks Task Duration, Start and Finish dates Analysis of the project plan, critical path Percent of completed work, analysis of the current project status Final analysis: reports on tasks and resources After we accepted the task we should generate and think over ideas concerning the project. As a rule project team meets for this purpose. At the meeting project team concerns question about expert system creation. It’s necessary to decide what parts it will include, in what way it will be implemented, what activities should be performed. Team organizes brainstorming to get answers for these questions. The results of brainstorm are the set of activities of various types with different levels of details. They are represented on the map ExpertSystem(clear).mmap. Picture 1. Initial results of the team brainstorm. Planning. Let’s make a plan for the Development area. For this purpose we select all of topics and subtopics related to Development and assign them to Mind2Chart using context menu. Now after choosing Mind2Chart View in the View section, we can see the blank of our plan chart. It will be Gantt chart - one of the most popular graphic form in the project management. As soon as we haven’t set start and finish dates for each task yet these dates are set by default. By default each topic without subtopics is treated as a task that begins today (from the current date) and takes one workday (8 hours). All of topics that contain subtopics are considered as component task and are the sum of all tasks-subtopics. See demo video demonstrating described above actions.
Establishing relationships (dependencies) between tasks Let’s establish some dependences between tasks that will define sequence of their implementation. Mind2Chart gives possibility to establish connection of 4 types: - Start to Finish (SF). A SF B = B doesn't finish before A starts. - Finish to Start (FS). A FS B = B doesn't start before A is finished. - Start to Start (SS). A SS B = B doesn't start before A starts. - Finish to Finish (FF). A FF B = B doesn't finish before A is finished. Let’s consider that the Developing block can not begin until the Design block is completed. Let’s establish corresponding relationship: select Design block at first, then Developing block. Now we set Finish to Start relationship type. It means that all of tasks in Design block must be completed before the Developing block will be started. As a result blocks on the chart are moved and the Start date of the Developing block is changed. Picture 2. Automatic modification of start and finish dates for tasks after relationship establishing. Let’s set relationship of another type. We will require Research of knowledge domain Inner Research tasks within the Design block to start simultaneously. For this purpose we select these two tasks on the map or in the М2С editor and define the type of relationship as Start to Start. Let’s define some more dependencies for illustration. “Implementation of forms, controls, tools” block will not start until “Creating common graphical style” block is completed. Pay attention that it is possible to establish a relationship of such type directly by dragging blocks on the chart by means of mouse; “Explanation module” block will not start until the development of “Deduction module” and “Induction module” blocks is completed; “Testing of logical block”, “Testing of functional block”, “Testing of prognosis block”, “Testing of additional modules” must be finished in order to Integration testing block starts. We can establish this relationship by hand, in M2C; In addition indicated testing blocks should start simultaneously. Pay attention that different relationships can conflict with each other. Some compromise variant is adopted in such situation. Let’s cast a glance at our achievements. Now we have a conceptual chart of project, we see how tasks are interconnected, what is the sequence of their implementation. See demo video for the actions described above.
Task Duration, Start and Finish dates Now let’s work with duration of task implementation. For this purpose we look over all of eventual tasks, consult with the project team and thus define how much time implementation of each task will occupy. Obtained duration, measured in hours or workdays, we write directly in corresponding fields of M2C Editor. Pay attention that duration of the aggregated tasks is calculated automatically. Let’s define now when Testing of each module will start depending on the time of development. For example, let’s agree that “Testing of logical block”, “Testing of functional block”, “Testing of prognosis block”, “Testing of additional modules” will start on the 9th day after the development of the proper blocks starts. It is now possible to look on the chart, how blocks are arranged. Position of blocks can be changed by dragging, duration – by stretching directly on the chart. See demo video for the actions described above.
Let’s choose some milestone of our development. Let “Setup” block be such a milestone for our example. It will mean that development is completed. After we determine the task as milestone it loses property of duration and is represented on the chart by black rhombus. Let’s define relationships for this milestone: “Logical block”, “Functional block”, “Prognosis block”, “Additional modules” must be completed to this milestone. Remember that Finish To Start relationship can be established fast directly on the chart. See demo video for the actions described above.
Let’s allocate resources for the implementation of our project. For illustration we choose human resources. We assume that we have three developers (Dev1, Dev2, Dev3), two testers (Tester1, Tester2) and two analysts (A1, A2). Let’s start consistently distribute resources among the tasks. At first we distribute work on “Design” block between two analysts. The first long task will be done by the first analyst with a 100% load. At this time the second analyst will do smaller tasks one by one. When the first analyst is free he can help the second one. Mark that because of resource limitation it makes sense to set relationships between tasks in order they don’t overlay. Pay attention that resources for the task are automatically marked on the chart. If a resource is used not for whole time then the percent of its load is specified on the chart. After our analysts finish their mutual work they will be separately engaged in the last two tasks in this section. Let’s allocate resources for other tasks. Pay attention that duration of the task changes depending on the load of resources. Picture 3. Allocation of resources with different load level. The primary version of the plan is ready (ExpertSystem(resource).mmap ). Now we can estimate duration of our project and analyze it. See demo video for the actions described above.
Analysis of the project plan, critical path Firstly let’s estimate a project by sight. As we can see by the concentration of blocks our team will be most hard working in the middle period of project. Plenty of the testing tasks and absence of buffer time between the block development tasks and their testing can create problems: if some block, for example, “Functional block”, is developed with many bugs its fixings and testing can upset work on the other blocks. Also, as soon as resources are maximally high-usage at that moment, there will be nobody to assign this additional work. This is just one example of the risk detected on the chart. The detailed attentive analysis of the chart and plan can considerably help in a the project risk management. Let’s illustrate the involving of another instrument of analysis. We will define a critical path in our project. For this purpose we use the corresponding button on the control panel of Mind2Chart. Picture 4. Determination of critical path in t the project plan. The critical path is highlighted with pink color. Now we see the series of tasks and if any of them is protracted it will result in multiplying the duration of the whole project. If there are several such paths then all of tasks forming all of paths will be highlighted. The analysis of critical path helps us to detect the most risky, problem area of works, «bottle neck» of our plan. As we see in our example the usage of resources in the tasks included in the critical path is practically equal to 100%. It means that if problems occur when implementing these tasks, it will be practically impossible to attract additional resources and that means that the risk of protraction for this project is great. See demo video for the actions described above.
Percent of completed work, analysis of current project status Suppose now that some time has passed. We can analyze the progress of the project. Let’s fill in the percents of completed work, for this purpose we modify corresponding fields in Editor. Let’s admit that “Design” block, is fully completed, “Logical block” – half-done, “Testing of logical block” has just begun. In the real conditions the percents of completeness for each task can be specified by its performers. Such joint editing will make your map representing the most relevant information about current project status. We see that a bar symbolizing the percent of completeness appears for every task block on the chart. Black part stands for completed work. If the term of task implementation has already passed but it is still not completed, the corresponding part of the completion bar will be highlighted by red color. Such highlighting helps to detect problem tasks quickly. It is especially important in the real terms, when a few persons can edit and analyze the plan. See demo video for the actions described above.
Final analysis: reports on tasks and resources Let’s summarize the analysis of current project status. For this purpose we form reports on our plan in form of Excel files. It can be done by using corresponding menu on the Mind2Chart control panel. Task Spreadsheet – tasks_spreadsheet.xls – this file gives us the picture of the tasks, their executors, terms and percent of their completeness. As soon as the report is in the xls format it can be easily printed, data can be exposed to further processing that is adopted within your company. Resources Allocation Sheet – resource_allocation.xls - this report allows to estimate allocation and work-load of resources in a present moment, in the past and future. You can analyze achievements of every performer, measure of usage, payback of equipment, failings and outages of resources. See demo video for the actions described above.
All of the files mentioned in the text are added to this case study and are accessible for download. |
| < Prev |
|---|









