Assignment 1 Synopsis Outof:100 Weighting:20% of the marks of the course. Q1) [15 marks] Software Project Failure Find an example of a significant software project failure. (Hint: use a Google search with something like "software project failure".) Assume "significant" means greater than $30 million dollars or equivalent. [7 marks] In your own words, describe the project and its failure circumstances in at least 100 words. Cite your sources of information (At least one web URL or book/journal citation is acceptable). [7 marks] What do you think are the two (2) major reasons why the project failed. Q2) [20 marks] The Waterfall Model Please answer the following parts in your own words, i.e. do not copy or quote, but paraphrase. Part A [6 marks] Describe each phase of the waterfall model in about two to four sentences. Part B [5 marks] Explain the advantages of the waterfall method in three to five sentences. Give at least one example where the waterfall model is appropriate. Part C [5 marks] Explain the main problems associated with the waterfall method in three to five sentences of your own words. Give at least one example where the waterfall model is inappropriate. Part D [4 marks] Consider a scenario where the requirements were thought to have been finalised, but during the design phase it became clear that part of the requirements were wrong. Dealing with this situation would be quite difficult if the project was being implemented using the waterfall model as depicted in Figure 2.1 of the Sommerville text. What changes need to be made to that diagram in order to enable a sensible course of action in our scenario. Q3) [15 marks] Agile Methods Please answer the following parts in your own words, i.e. do not copy or quote, but paraphrase. Part A [5 marks] Summarise the advantages of incremental delivery in about 3 to 5 sentences. Part B [5 marks] Explain why test first development helps the programmer to develop a better understanding of the requirements. Part C [5 marks] Suggest three reasons why the productivity rate of programmers working as a pair might be more than half that of two programmers working individually. That is, why the sum productivity of two programmers may actually be increased when they are paired up. Q4) [50 marks] Project Scheduling A project requires the tasks shown below to be completed. The duration column shows the number of weeks estimated for one person to complete the task. Task Duration Depends on T1 1 T2 3 T3 5 T4 3 T1 T5 2 T1 T6 2 T1,T3 T7 3 T2,T3 T8 4 T4,T5,T6 T9 3 T5,T7 T10 2 T7 Answer the questions below. These activities are intended to develop and assess your understanding of the method, so please do not use a software project management tool such as Microsoft Project to assist in either drawing the diagrams or in computing solutions. Part A [20 marks] Draw an activity network chart without milestones. Show a Start and Finish "activity", which are zero length pseudo-activities. Include in the box for each task, the following:- Task Code Duration Earliest possible start time Latest possible start time Indicate the critical path. Suggestion: The network diagram can be created with a drawing program such as Libre Office Draw . Drawing programs, as opposed to paint programs, allow the links to connect with a rectangle, and they stay connect when you move the rectangles around. Suggestion: We can indicate the critical path by making the joining lines thicker on the critical path. Part B [15 marks] Assume that there are many developers, and each will work on a single task. Draw a Gantt chart (Activity bar chart) showing the earliest start and finish times for each task. Suggestion: A nifty way to draw Gantt charts is to use a spreadsheet program . It is accomplished by choosing a stacked bar graph, and then making the first part invisible. The grid should be on, in order to assist the visual identification of tasks. Part C [15 marks] Assume 3 developers, Bob, Sue and Ann, work on the project. Also assume that each task will have only one worker. Allocate tasks to them to complete the project as soon as possible. Show this graphically on a staff allocation chart. Suggestion: Allocate the critical path first. Suggestion: Using your drawing program, turn on the grid. Have a vertical line representing 0 time. Put the names to the left Create horizontal bars, (i.e. rectangles) of lengths that are proportional to the number of weeks of the task. Make the width of the bars 3/4 of the grid size. Give the bars names corresponding to the tasks. Move the bars into the grid rows associated with the developer name, and position them accordingly. Submission Submit a PDF file. Please do not submit a word processor document. You can Export as PDF directly from Word2007 and Open Office/Libre Office.