CSC480 Software Engineering Lecture 5 September 9, 2002
CSC Software Engineering2 9/9/2002 Principal Variables Project planners can vary the following Cost Capability Quality Schedule The degree to which these 4 factors can be controlled depends on the project: A bulls-eye diagram can visualize the factors
CSC Software Engineering3 9/9/2002 Bulls-eye Diagram this project cost durationcapability defect density Target: 30 wks Actual: 20 wks Target: $70K Actual: $90K Target: 100% Actual: 80% Target: 4 defect/KLOC Actual: 2 defect/KLOC
CSC Software Engineering4 9/9/2002 Roadmap for Project Management 1. Understand project content, scope, & time frame 2. Identify development process (methods, tools, languages, documentation and support) 3. Determine organizational structure (organizational elements involved) 4. Identify managerial process (responsibilities of the participants) 6. Develop staffing plan 5. Develop schedule (times at which the work portions are to be performed) 7. Begin risk management 8. Identify documents to be produced 9. Begin process itself
CSC Software Engineering5 9/9/2002 Optimal Size for Interaction Number of people with whom developer must frequently interact Developer communicates regularly with eleven people. Communication time outweighs benefits of interaction Developer communicates regularly with no one. No communication time lost, but developer is too isolated and has no help. Approximate optimal range 37 Effectiveness per developer
CSC Software Engineering6 9/9/2002 Project Management Hierarchy Larger Projects:Smaller Projects: No separate Marketing? No separate QA organization? Subdivide QA into testing, …? Subdivide Engineering into system engineering, …?
CSC Software Engineering7 9/9/2002 Communication in Large Projects Team of leaders
CSC Software Engineering8 9/9/2002 S/W Management Distinctions The product is intangible and uniquely flexible Software engineering is not recognized as an engineering discipline with the sane status as mechanical, electrical engineering, etc. The software development process is not standardised
CSC Software Engineering9 9/9/2002 Proposal writing Project planning and scheduling Project costing Project monitoring and reviews Personnel selection and evaluation Report writing and presentations Management Activities
CSC Software Engineering10 9/9/2002 Project Staffing May not be possible to appoint the ideal people to work on a project Project budget may not allow for the use of highly-paid staff Staff with the appropriate experience may not be available Managers have to work within these constraints especially when there is an international shortage of skilled IT staff
CSC Software Engineering11 9/9/2002 Project Planning Probably the most time-consuming project management activity Plans must be regularly revised as new information becomes available from initial concept to system delivery Various different types of plan may be developed to support the main software project plan
CSC Software Engineering12 9/9/2002 Types of Project Plan
CSC Software Engineering13 9/9/2002 Project Planning Process
CSC Software Engineering14 9/9/2002 Project Plan Structure Introduction Project organisation Risk analysis Hardware and software resource requirements Work breakdown Project schedule Monitoring and reporting mechanisms
CSC Software Engineering15 9/9/2002 Activity Organization Activities in a project should be organised to produce tangible outputs for management to judge progress Milestones are the end-point of a process activity Deliverables are project results delivered to customers The waterfall process allows for the straight forward definition of progress milestones
CSC Software Engineering16 9/9/2002 Milestones in The RE Process
CSC Software Engineering17 9/9/2002 Project Scheduling Dependent on project managers intuition and experience Split project into tasks and estimate time and resources required to complete each task Organize tasks concurrently to make optimal use of workforce Minimize task dependencies to avoid delays caused by one task waiting for another to complete
CSC Software Engineering18 9/9/2002 The Project Scheduling Process
CSC Software Engineering19 9/9/2002 Scheduling Problems Estimating the difficulty of problems and hence the cost of developing a solution is hard Productivity is not proportional to the number of people working on a task Adding people to a late project makes it later because of communication overheads The unexpected always happens. Always allow contingency in planning
CSC Software Engineering20 9/9/2002 Bar Charts & Activity Networks Graphical notations used to illustrate the project schedule Show project breakdown into tasks. Tasks should not be too small. They should take about a week or two Activity charts show task dependencies and the the critical path Bar charts show schedule against calendar time
CSC Software Engineering21 9/9/2002 Task Durations & Dependencies
CSC Software Engineering22 9/9/2002 Activity network
CSC Software Engineering23 9/9/2002 Activity Timeline
CSC Software Engineering24 9/9/2002 Staff Allocation