SE403 SOFTWARE PROJECT MANAGEMENT CHAPTER 1 INTRODUCTION Assist. Prof. Dr. Volkan TUNALI Faculty of Engineering / Maltepe University
Overview 2 Why is Software Project Management Important? What is a Project? Software Projects vs. Other Projects Contract Management & Technical Project Management Software Project Management Activities Plans, Methods & Methodologies Categorizing Software Projects Stakeholders Business Case Project Success & Failure
Introduction 3 All projects are about Meeting Objectives A software project must satisfy real needs To do this, we need to identify Stakeholders Objectives Goal of project management is to ensure that the objectives are met
Why is Software Project Management Important? 4 Money A lot of money is spent for ICT projects In the UK during 2002-2003 2.3 billion spent on ICT projects 1.4 billion spent on road construction Success In a 2003 report by Standish Group in the US on 13,522 projects Only 1/3 of them were successful 82% were late 43% were over-budget 50% did not meet customer needs 20% were cancelled
What is a Project? 5 Project is a set of planned activities that have specific start & end points have an objective have a scope have a clearly set budget are performed once Planning: thinking carefully about something before doing it Projects are expected to solve a defined problem
What is a Project? 6 When we carefully investigate every civilization established, we see processes of project planning and management. Modern organizations have learned that project management has a lot of advantages It is a proven fact that the best way to respond the better product or service expectations of customers is the project management methodology. Challenging Competetion Conditions Flexible Organization Structure Management of Units in Coordination Increased Productivity
Properties of Projects 7 The following characteristics distinguish projects from routine tasks: Non-routine tasks are involved Planning is required Specific objectives are to be met or specified product is to be created Project has a predetermined time span Work is carried our for someone other than yourself Work involves several specialisms People are formed into a temporary work group to carry out the task Work is carried out in several phases Resources available for use on the project are constrained Project is large and complex
What is Project Management? 8 Project Management is the correct planning and control of engineering activities in order to achieve the goals of the project, considering the criteria of cost, time, and quality. Success criteria for a project Completed on time Completed within the defined budget Meets the predefined performance (and quality) requirements
Statistics about Project Management 9 In the US, $2.3 trillion spent on projects All over the world, about $10 trillion spent on projects Average project manager earns $82,000 annually Project Management Institute (PMI) Founded in 1969 7,500 members till 1990 17,000+ members in 1995 86,000+ members in 2001 100,000+ member today
Popularity of Project Management 10 Popularity of PM is increasing Quality of work done increases while number of employees decreases in the firms (with the advances in technology) Projects become more complex Globalization causes very high competetion Communication becomes easier Customers are effective at steering the market with their expectations about products or services Possibility of doing international business increases Desire to monitor the progress and to intervene if needed from a central point
Contents of Project Management 11 Planning: Deciding what is to be done Organizing: Making arrangements Staffing: Selecting right people for the job Directing: Giving instructions Monitoring: Checking on process Controlling: Taking action to remedy hold-ups Innovating: Coming up with new solutions Representing: Communicating with clients, users, developers, suppliers and other stakeholders.
Software Projects vs. Other Projects 12 Characteristics of Software Projects which make them particularly difficult Invisibility: Progress in construction of a bridge or building can actually be seen, but progress in software development is not immediately visible. Complexity: Software development projects are inherently complex due to complex problems of real life. Conformity: Software developers have to conform to the requirements of human clients rather than consistent physical laws. Flexibility: When software system interfaces with a physical or organizational system, it is expected that the software will change to accomodate the system, rather than vice versa.
Survey on Software Project Management 13 A survey made by Standish Group in the US says: 33% of projects cancelled without completed in 53%, cost predictions were exceeded by 189% time span of projects were exceeded by 222% on the average Reasons Uncertainity of objectives Bad planning Advances in technology Lack of project management methodology Insufficient number of employees
Contract Management & Technical Project Management 14 In-house Project: users and developers of new software work for the same organization. Usually organizations contract out ICT development to outside developers. Client organization appoints a project manager who: Supervises the contract Delegates technical decisions to contractors Does not worry about estimations Is responsible from budget and time of the project Supplier organization has a project manager who: Deals with more technical issues Manages the actual software development project We are interested in the second type of project management
Software Project Management Activities 15 Usually there are 3 main steps Feasibility Study Plan Project Execution Is it worth doing? Feasibility Study How do we do it? Plan Do it! Project Execution
Feasibility Study 16 Assesses whether a project is worth starting that it has a valid business case Information is gathered about the requirements of the proposed application Developmental and operational costs, and the value of the benefits of the new system are estimated With a large system, feasibility study can be a project in its own right with its own plan! Sometimes an organization assesses a program of development made up of a number of projects.
Planning 17 If the feasibility study indicates that the prospective project appears viable, the project planning can start. For larger projects, deailed planning is not performed at the beginning. First, an outline plan for the whole project and the detailed plan for the first stage are created. Planning of later stages is left to nearer their start because more detailed and accurate project information will be obtained after the earlier stages of the project have been completed.
Project Execution 18 After the planning phase, project execution can start. Project execution contains design and implementation sub-phases. Planning vs. Design? Design is making decisions about the form of the products to be created (e.g. architecture, user interface, etc.) Plan details the activities to be carried out to create the products.
ISO 12207 Software Development Life Cycle 19 Requirements Analysis Specification Design Coding Verification & Validation Installation (Operation) Maintenance & Support
Requirements Analysis & Specification 20 Establishes what the potential users and their managers require of the new software system. Starts with requirements elicitation or requirements gathering. Objectives, services and constraints of the software are determined. Types of requirements Functional (What the system does) Non-functional (How it does, performance, quality, resource, etc.) Specification is the detailed documentation of the requirements
Design 21 Components of the new system that fulfil each requirement is identified. 2 types of design Architectural General view of the system How the components interact with each other How the system interacts with other systems Detailed Design of the software units that can be separately coded and tested.
Coding 22 Actual phase of software creation via Coding Testing Debugging Using one or more selected programming languages like Java, C#, C++, etc.
Verification & Validation 23 System is tested to see if it meets the requirements. Verification You built it right! Design specifications are satisfied Performed after each phase Validation You built the right thing! Customer expectations are satisfied Performed before the project is delivered to customer
Installation 24 Making the new system operational Includes Setting up standing data Setting system parameters Installing the software onto hardware platforms Training users
Maintenance & Support 25 Activities like fixing bugs, adding new features, and improvements after system is put into operation Maintenance can be seen as a series of small software projects In many environments, most software development is in fact maintenance
Software Project Documentation 26 Requirements Analysis Specification Specifications Document Test Plan Design Architectural Design Test Case Definitions Coding Source Code Verification & Validation Control Lists Error Reports Installation (Operation) Version Notes Maintenance & Support User Manual
Factors that will Impact Project Management 27 Number of engineering & tech related jobs will double every 5 years Computer tech doubles itself every 2 years Product life cycles will become shorter Ability to supply with short production times will increase demand for new products Managers will need more information to make strategic decisions faster Managers will focus on people rather than work Manager will be managing businesses of $50mio/year rather than $10mio/year
Plans, Methods & Methodologies 28 A plan for an activity must be based on some idea of a method of work. For example, you are asked to test some software and you don t know anything about the software to be tested. So, you can assume you need to: Analyze the requirements for the software Devise and write test cases that will check that each requirement is satisfied Create test scripts and expected results for each test case Compare the actual results and the expected results and identify discrepancies
Plans, Methods & Methodologies 29 While a method relates to a type of activity, a plan takes that method and converts it to real activities, identifying for each activity: Its start and end dates Who will carry it out What tools & materials including information will be needed Output from one method can be input to another. Groups of methods or techniques are often grouped into methodologies, such as object-oriented design.
Categorizing Software Projects 30 Project may differ due to the different technical products to be created. We need to identify the characteristics of a project, which can affect the way it is planned and managed. Several other factors are: Compulsory vs. voluntary users Information systems vs. embedded systems Objectives vs. products
Stakeholders 31 People who have a stake or interest in the project affected by the project directly or indirectly. 2 groups of stakeholders Internal stakeholders: Company owner, shareholders, project managers, technical managers, team leaders, developers, and other employees. External stakeholders: Government, military, customers, suppliers, competitors, etc.
Business Case 32 Projects need to have a justification or business case: Efforts and expense of project must be worthwhile A cost-benefit analysis itemize & quantify the costs & benefits of the project Quantification of benefits may require the formulation of a business model which explains how the new application can generate the claimed benefits The sooner the project is completed, the sooner the benefits can be experienced Project plan must ensure that the business case is kept intact.
Project Success & Failure 33 Most ICT projects usually cannot be completed within the planned time span are over-budget so, they are considered failure. Due to failure of project management! 3 important factors that make a project successful: user/customer participation management support clearly identified requirements & objectives
Project Success & Failure 34 Usual reasons for project failure: inexperienced/uneducated project managers failure in identifying expectations poor leadership poorly analyzed & undocumented requirements inadequate planning weakness in resource estimations cultural & ethical problems lack of domain knowledge of project team wrong selection of methods/methodologies communication problems
Project Success & Failure 35 More reasons for project failure: size of the project team tendency to use the latest technology not using effective management methodologies Successful software projects are usually completed within 1 year! Projects now involve more risks, so projects need to be managed effectively.
Project Management Tools/Systems 36 Giga Plan: Developers of a revolutionary new web based tool that allows multiple users to interrogate, analyze, and update Microsoft Project plans in real time. Microsoft Project: Best selling project management software in the world. Technology Associates: Project Management software specialists, providing tailored training, consultancy and development services in all software products. Project World: Project management techniques and tools for project, program, and process managers from high-tech environments. The Project Management Foundation: Aims are to promote excellence in project management standards and achievement. System Solvers: Professional Project Management Services organization delivering a range of services and products to all industries. Tenrox Corporation: Developers of Project - an enterprise wide timesheet tracking and cost collection system.
Summary 37 Projects are non-routine and more uncertain than normal tasks. Software projects are similar to other projects but some differences like invisibility, complexity, conformity, flexibility. A key factor in project success is having clear objectives. There must be a practical ways of testing that the objectives are met. Projects involve many different people, so effective communication is very important!
Quote of the Day 38 Having the right process does not guarantee success, but not having the right process does guarantee failure. - General Eisenhower