Computer Science Assignment - Relationship between Money and Time with Virtualization Technology
Introduction All projects consume resources, including time and money, in order to deliver a
product of a particular scope and quality. There is thus always a tension between
the extent of resource input and the extend of product output. Additionally, there
is also tension between project management activities and project development
activities.
Dawson (2009: 4.1) provides a graphical presentation of this:
Project Management Project Management concerns the planning and conduct of the project by
controlling and checking project progress, monitoring milestones and
deliverables, and managing risk.
The effort involved in project management should account for not more than 10%
of the overall effort but it will not be evenly distributed, as most of it is expended
towards the start of the project. A project can be conceived as product
2
development that is concerned with achieving the aims and objectives of the project by producing the deliverables in accordance with the project plan, while optimizing scope and quality of the deliverables relative to the resources available. Project Stages From a project management perspective, projects proceed in five stages: 1. Definition - Deciding on a project; making a project proposal 2. Planning - Detailed planning of the project 3. Initiation - Organizing work (in particular, group work); literature survey 4. Control - Monitoring the progress of the project 5. Closure -Delivering/deploying result of the project; preparing final presentation; writing up reports Project Definition Aims and objectives It is important to decide and define a clear specification of what the project is to achieve and adhere to it. Wavering between different aims might be disastrous to the conduct of the project. Aims are broad statements of intent that identify the project's purpose.
Example: Evaluate an Artificial Neural Network to predict stock market indices
Objectives elaborate on the Aims and identify specific measurable achievements. This is accomplished by using quantitative and qualitative measures by which the progress and completion of the project can be judged.
Example: 1. Complete a literature search and literature review of existing stock
market prediction techniques 2. Develop a suitable Artificial Neural Network model 3. Identify and collect suitable data for analysis and evaluation for the
developed model 4. Evaluate the model using appropriate statistical techniques 5. Complete final report
The SMART Objectives
3
You might check the quality of your objectives by evaluating them according to the SMART scheme, were the objectives should be:
• Specific • Measurable • Appropriate • Realistic • Time-related
Example: Complete a literature search and literature review of existing stock market prediction techniques S: Is it specific? Does it tell us what will be done? M: Is it measurable? How will we know to what extent and to what level of
quality the objective has been completed? A: Is it appropriate? Does it relate to and support our aims? R: Is it realistic? Can we realistically expect to achieve this objective? T: Do we have a sound estimate of its duration?
Project planning The objectives of project planning are to identify what is needed to be done, to clarify the order in which tasks need to be done, to determine how long each task will take, and, if needed, to redefine if there are problems. This is accomplished by steps, which are: 1. Work breakdown 2. 2 Time estimates 3. Milestone identification 4. Activity sequencing 5. Scheduling 6. Replanning
Dawson (2009: 4.3, 4.3.1-4.3.3) provides the following figures which form the basis for the following discussion:
4
Work Breakdown The first step of project planning is to identify the tasks that need to be done. The starting point of your analysis should be the project objectives. Having specified this, break your objectives down into increasingly refined levels of detail. Work Breakdown Structures (WBS) are graphical constructs that are used to visualize the process of breaking the project down into details, as shown in the figure above. The thing to remember is that tasks at all levels need to be separate from one another. When should the breakdown stop? A good estimate is to continue to break your project down into smaller tasks until each task takes up no less than 5% of the total effort.
5
Time Estimates It is of utmost importance to make reasonably accurate estimates of the effort needed for completion and the duration until completion of each leaf node of the work breakdown structure. If the estimate exceeds the total time available for the project, either modify the objectives and work breakdown or reduce and reallocate time between tasks. A follow up of the time estimates based on your progress is to be conducted throughout the project. Otherwise, without prior warning, you might find yourself missing your targets. The progress and the updated time estimates should be reported in the Monthly Reports. Milestone Identification Several events along the development path, known as milestones, are more important then others. These are significant steps towards the completion of the project and consist of intermediate goals at which to aim. The following figure from (Dawson, 2009: 4.3.4) is an example of these steps:
For the DS module, such major milestones should be the completion of the proposal, the completion of the specification and design stage and the dissertation submission date. However, the period from the approval of the specification and design stage to the completion of the dissertation, where most of the effort is concentrated, might call for an additional breakdown of milestones. Activity Sequencing The work breakdown structure states the order in which tasks are to be performed. To represent the order and inter-dependency of tasks, we can use activity networks. The text book discusses these management tools, which will briefly repeated below.
6
Activity-on-the-node-diagram Those of you who have taken the PM module might prefer to skip this part of the lecture as the subject was covered in that module to great length. Tasks are represented in these diagrams by (rectangular) nodes, while arrows indicate the order in which they need to be performed.
Example: Task A has to be completed before tasks B and C can start Task B and C can be done independently (in parallel) Task D can only start once both tasks B and C have been completed
The next step is to estimate the duration of the four tasks, and for our example they are estimated as follows:
Activity Effort Task A 4 weeks Task B 4 weeks Task C 8 weeks Task D 2 weeks
In order to simplify the calculations we’ll assume that each month has four weeks, that there are no breaks or holidays, and that the project starts on 1 January. What then is the start date for each of the tasks, and when would the whole project finish? Clearly task A finishes on 1 February, which becomes the start date for tasks B and C. Task B, lasting 4 weeks, will be finished by 1 March, while Task C, lasting 8 weeks, will finish by 1 April. As Task D can begin only when both tasks B and C are finished, it can start only on 1 April to be finished on 15 April.
7
We should now define two additional terms: Critical Path which is the longest- duration path through a network and which identifies the tasks in the project that must not be delayed; and Slack Time, which is the time that can be “wasted” in a certain activity without prolonging the whole project. In order to determine the critical paths, do the following:
• Work backwards from the end to the start • As long as there is only one preceding task, this task must be on the
critical path • If there is more than one preceding task, only the task(s) which force the
start time of the next task are on the critical path (There can be more than one critical path)
Returning to our example, it is clear that the critical path is A →C →D, that the total duration of the project is 4+8+2=14 weeks, and that there is a slack time in task B of 4 weeks (as the parallel running of task C lasts 8 weeks)
Time estimates can be done using software such as Project, by Microsoft, or similar Gantt/Pert software (Gantt, 2006), but for a short duration project, which is in essence a linear sequence of a few steps or events, software is most likely not needed to control it. Re-planning Re-planning needs to be done if you try to achieve too much in too little time. The way to handle this is to iterate the following steps until you get a correct schedule: 1. Rethink the interdependencies between activities 2. Redo estimates for effort and duration of each task 3. Reschedule tasks 4. Rethink the aims and objectives of your project 5. Redo the work breakdown structure Please note that no plan is perfect and that no plan is set in stone. Rolling Wave Planning This is a phased iterative approach to project planning which fits incremental development well, such a program developing. The approach would be: 1. Define planning packages for your project with:
8
a. Resource requirements b. Macro level deliverables c. Macro level dependencies
2. Execute the following loop
a. Determine which planning package has to be done next (first) b. Make a detailed plan for this planning package c. Execute the plan d. Re-adjust the remaining planning packages based on what
happened Risk Management Introduction This process runs concurrently throughout the project. It involves the identification of risks at the project's outset and the control of those risks as the project progresses. There are four main stages of the risk management process: 1. Identify risks 2. Assess impacts of risks 3. Alleviate critical risks 4. Control risks Identifying Risks The following table illustrates the different types of risk:
9
Event-driven risks are those that occur unsolicited and with no prior warning. They can be technical, such as a failing component in our computer, or non- technical like a DA leaving, or a colleague that should have helped us switching his work location. These are hard to predict and often never considered. Evolving risks, which are also of the two types, might first appear as minor problems that evolve into bigger ones. They might be brushed aside at the beginning, but if not taken care off might turn out to be to show stoppers. In order to identify the risks, we should look for “Risk Triggers” (a.k.a Risk Symptoms), which are events happening during the course of a project that might indicate problems or that one of the identified risks is increasingly likely to occur.
Examples:
• Missing preliminary milestones in your project • Struggling with a straightforward implementation of a component • Problems with arranging a meeting with a client
Assessing the Impact of Risks
We can formulate the impact of the risk through the following formula:
Risk impact = (Likelihood) x (Consequence)
Example: What will happen if a severe earthquake occurs in Britain?
• Likelihood is low • Residential building → Consequences are low • Nuclear power plant → Consequences are catastrophic
Therefore, when designing Nuclear power plants we tend to build them earthquake-proof, while residential buildings are not built that way.
As an example, we can assign values to the Likelihood and the Consequences as follows (Dawson, 2009: 4.4.3): Risk Likelihood Low 1 Medium 2 High 3 Risk Consequences Very Low 1
10
Low 2 Medium 3 High 4 Very high 5 Substituting these values into the Risk Impact formula, we can create a scale of Risk Impact from 1 (1 x 1) up to 15 (3 x 5).We can thus qualify the Risk Impact by a qualitative measure and, thus decided, rank which one we intend to service, resolve or design in such a way as to minimize its impact. Another known approach is applying the 80/20 rule. This maintains that 20% of your risks cause 80% of your problems. Thus, the 20% top ranking risks are the critical ones. This evolves into the RAG (Red/Amber/Green, named after the traffic light colors and used in medical reports) report, using the weights from the above tables.
• Red signals risks with impact greater than 10 → critical risks • Amber signals risks with impact between 6 and 10 → deserve some
attention • Green signals risks with impact smaller than 6 → can be ignored
Alleviating the Critical Risks Contingency This is defined as accepting that the risk is going to occur and putting something in place to deal with it when it does.
Examples: • Hard disk crash: But I have a backup, which I took the bother to do
regularly; • Time over-run: But I took the trouble to include some slack time in
each of the project’s activities.
Deflection: Here we try to pass some of the work to someone or something else.
Example: • Required software not available → use existing software instead of
developing it yourself (But that, of course, is no solution when the project consists of software development).
Avoidance Here we try to reduce the likelihood that the risk will occur at all.
11
Examples: • Use of programming languages
o Use one that you know instead of one that you don't • Development of a complex algorithm
o Modify an existing algorithm Controlling Risks You should plan a risk strategy in which you’ll consider how you will go about managing and controlling the risks that you might have identified. For example: how and when would you notice a time over-run? What do you propose to do in such a case? Checking critical risks should be done at regular intervals (e.g. weekly) as well as at the end of particular project stages and at correspondences with your supervisor (a good time and place to do it is through the Monthly Report). The questions that should be asked in this context are:
• How and when will you check the risk triggers identified? • How and when will you invoke your contingency plans? • How and when will you update your critical risk list?
Remember that risk likelihood and risk consequences change over time. Time Management You cannot gain time; only manage it well. In order to do that you must decide (i) what you want to do; (ii) find out what you are currently doing; and then (iii) change what you are doing in order to free more time to do what you need to do; then (iv) time manage these activities so that you’ll achieve what you set out to do. We discussed the concept of WBS at the beginning of this seminar, which identifies the activities that you need to do in order to accomplish your project. These can be categorized as long-term goals and as short-term goals. These should be managed separately as their granularity is so different, however. For this activity of research, the long term is measured in months and weeks, while the short term is measured in days and hours. As we don’t operate in seclusion, there are several components that should be considered above and beyond the production of the project, such as family life, social activities, and leisure activities. Each activity cuts into other activities. Start with the long term goals and then build the day to day handling of the short term goals in them. Decide how much you can spend on each of the long term activities and which one you are ready to sacrifice (for the duration of the project), and then break the remaining ones into it sub-components.
12
A good technique is to produce time logs which list the activities, when they should be performed, and what their results should be. The idea is to arrange your days and weeks into meaningful chunks of time when you can accomplish useful work. The most important aspect is to measure yourself whether you accomplish what you meant to do and how do you progress when compared with the (long range) timetable that you supplied with your proposal. The idea is that this feedback will be used to modify the time logs if needed. Be aware of wasting your time due to: Procrastination - delaying things to a later date than they should be done. If you have enough self discipline, you might control it by deciding to do the deed or split it up into smaller chunks that can be handled. If you can’t control it, use someone to monitor you. This is one of the reasons why we place such a great importance to the Monthly Reports. Grains of Time – these are small periods of time between tasks that tend to accumulate into substantial periods. Clever management can make use of these short periods by doing all kind of small needed cores. Interruptions and short breaks– try to limit their number and their duration. On the other hand some people find that interrupting a stress of long learning and taking a “sudden” beak helps them. Evaluate what is best for you. Perfectionism – “the best is the enemy of the better”. If the results are good enough, leave them at that. Don’t waste long periods perfecting just few percentages of the result. Long Breaks - you might, of course, take longer breaks for work, family, or vacation reasons. Try to keep the project ticking, even if in a minor way. Take an article to read during the break, draw a rough design of a future activity. Don’t push the project totally aside. It might be difficult to return to it. An interactive tool that might help you in your long period management is the Minnesota Assignment Calculator, while a tool for the short period management is the Learner Daily Planner: