Introduction to software project management What is a project? One definition ‘a specific design or plan’ Key elements non-routine specific objectives planned predetermined timespan constrained resources What is a project? More key elements work carried out for a third party work involves several specialisms or phases size and complexity Are software projects really different from other projects? Not really, but: invisibility complexity flexibility need to conform to human ideas all add to difficulties Activities The feasibility study Planning Execution Requirement analysis Specification Design Coding Verification and validation Implementation/installation Maintenance and support Position of planning Is it worth doing? How do we do it? feasibility study Do it! planning project Feasibility study - decide if project is worth doing Plan how you are going do it, then do it Contents of a feasibility study report Introduction: identifies what the document is; Description of current situation Problem description Proposed development business and financial aspects technical aspects organizational aspects Estimated costs development costs operational costs Envisaged benefits Recommendations requirements gathering stages typically include specification design code testing implement Categories Information system vs embedded system IS: Interface with organization ES: interface with a machine Objectives vs product Product specification by client Objectives services Project as a system System, subsystem, & environment System: a set of interrelated parts Subsystems: part of larger system Environment: outside the system Open System vs Closed System OS: interact with the environment CS: _not_ Sub-optimization detrimental effect on optimization on a subsystem Sociotechnical systems organization of technology and people What is management? Planning — deciding what is to be done Organizing — making arrangement Staffing — selecting the right people Directing — giving instructions Monitoring — checking on progress Controlling — taking action to remedy hold-ups Innovating — coming up with new solutions Representing — liaising with users Problems Poor estimates and plans Lack of quality standards and measures Lack of guidance about making organizational decisions Lack of techniques to make progress visible Poor role definition Incorrect success criteria Management control Management The process of setting objectives for a system and then monitoring the system Management control (2) Project control cycle Data collection Data processing Making decisions/plans Implementation Objectives Should be clearly defined Measures of effectiveness Sub-objectives and goals Stakeholders They may be: Internal to the project team External to the project team but within the same organization External to both the project team and the organization External stakeholders may be customers or user affected by system contractors There will be different types of users with different interests Need for good communication! Objectives Different stakeholders will have different objectives need for agreed objectives Need for an identifiable project authority to set, monitor and modify objectives can contain user, development and management representatives Objectives can be informally expressed as: ‘in order for the project to be a success, the project must….’ Objectives -continued Objectives must be: concrete have measures of success Objectives can be: broken down into sub-objectives or goals can be informally expressed as ‘in order to achieve A, we must achieve B,C,D etc’ identifying sub-objectives involves considering the ‘how’ as well as the ‘what’ Requirement Specification Functional requirements what the system is to do systems analysis aims to provide these Quality requirements other attributes of the system e.g response time; usability; reliability Resource requirements cost time Trade-offs between the different factors Information and control Hierarchical information and control systems Management information flows up Control flows down Levels of decision making and information Strategic Tactical Operational Differences in types of information Effectiveness: doing the right thing Efficiency: making the best possible use of resources Measurement Performance measures Predictive measures The control cycle real world actions define objectives collect data data process data implement information modelling make decisions decisions