Transcript SE PM
Software Project Management CS 123/CS 231 References Chapter 3, Sommerville Chapters 3,5,6 & 7, Pressman Chapter 2, Unified Software Development Process Management Spectrum People recruiting, selection, performance management, training, compensation, career development, organization structure, culture Product define product objectives and scope Process framework, methodology Project project planning, control People Organization Structure (Players) architects, developers, testers, supporting management, customers and other stakeholders Software Team Structure Most effective if between 6-8 members Democratic decentralized Controlled decentralized Controlled centralized Coordination and Communication Product Artifacts created during the life of a project models, source code, executables, documentation Scope Context Information Objectives Function and Performance Problem decomposition Process Set of activities that transform requirements to a product. Template for creating projects Definition Institutionalization Improvement Use of Process Models CMM, ISO, etc Project Organizational element through which software development is managed Planning Activities Tracking Managing Risk Management Activities Proposal Writing Project Costing Planning and Scheduling * Monitoring and Review * Personnel Selection and Evaluation Reports and Presentations * Process Framework S/W project typically divided into activities or tasks Estimates are taken to drive task assignment and schedule Milestones describe progress at the end of an activity progress report internal or presented Deliverables are often part of a milestone Software Project Estimation Decompose Problem (identify task) Estimate Size Estimate Effort Normally have some translation between size and effort Estimate Cost Don’t forget overhead! Sizing Based on historical data Function Point Standard Component Sizing Change Sizing LOC based Empirical Estimation Models Project Scheduling Scheduling involves: distribute estimated effort across planned duration by allocating effort to specific tasks Considerations parallel activities problem anticipation, regular sched updates resources other than time critical dependencies Scheduling Notation Task Duration and Dependencies table or activity network Activity Bar Chart schedule, parallel activities depicts flexibility against schedule slippage Staff Allocation table or time chart Scheduling Principles Compartmentalization Interdependency Time allocation Effort validation Defined responsibilities Defined outcomes Defined milestones Risk Management CS 123/CS 231 Risk Something that can go wrong Caused by inadequate information Resolved by initiating actions that discover the relevant information reduce uncertainty Boehm’s Spiral Model explicitly integrates risk assessment and reduction Risk Categories Requirements Risks Skills Risks Technological Risks Others Requirements Risks Dangers building the wrong system misunderstanding priorities Dealing with the risks improve communication between analysts, developers, and clients enforce the discipline of using concrete, understandable models (e.g., use cases) Technological Risks Dangers Unexplored software tools or techniques Lack of alternatives Dealing with the risks obtain necessary resources build working prototypes test integration capabilities (arch design) identify alternatives Skills Risks Dangers Not enough personnel Not enough expertise Dealing with the risks training / reading / mentoring deliberate project scheduling