Software Project Management By Deepika Chaudhary
Why Project Management The software product is intangible There is no standard procedure. New software projects are not similar to older ones
Four P’s in Project Management People Product Process Project
People involved in s/w Projects Senior Managers Project Managers Programmers Customers End Users
Qualities of project manager Motivation Organization Innovation Problem Solving Managerial Capabilities Leadership skills Team Building
Software Team Structure Democratic Controlled Centralized Controlled Decentralized
Democratic The team consists of four or fewer programmers Group leaderships rotate among group members The structure allow input from all members which can lead to better decisions. Well suited for long term research type projects.
Controlled centralized A hierarchy like structure It consist of chief programmer who is responsible of taking all types of technical decisions about the project This kind of structure is well suited for projects with simple solutions and strict deadlines.
Controlled Decentralized This structure tries to combine the strengths of the democratic and controlled centralized teams. The team consist of Project Leader The group of senior programmers The group of junior programmers Suitable for large projects which are reasonably straight forward.
Factors considered when planning The Difficulty of the program The size of resultant program The time that the team will stay together The degree to which the program can be modularized The required reliability and quality of the system The rigidity of delivery date The degree of communication required.
Coordination and communication Formal impersonal :incl documents and deliverables, tech memos and various other documents Formal interpersonal : Focus on quality assurance These incl status review meetings design and code inspection. Informal interpersonal : includes group meetings Electronic Communication Interpersonal networking
Project Management Activities Measurement and Metrics Management activities Project Planning Scheduling Tracking Risk Management
Management Activities Proposal Writing Project Planning & scheduling Project Costing Project Monitoring and Reviews Personnel Selection and Evaluation Report Writing and presentations
Proposal Writing The first stage in a software project may involve writing a proposal to carry out project. The proposal describes the objective of the project and how it will be carried out It usually includes cost and schedule estimates.
Project Planning The objective of software project planning is to provide framework that enables the managers to make reasonable estimates of resources cost and schedules
The Pseudo code for project planning Establish the project constraint Make initial assessments of the project parameters Define project milestones and deliverables While project has not been completed or cancelled LOOP Draw up project schedule Initiates activities according to schedule Wait for while
Review project progress Revise estimates of project parameters Update the project schedule Renegotiate Project Constraints and deliverables If (problem arise) Then Initiate technical review End if loop
The Project Plan The project plan sets out a resources available to the project, the work breakdown and a schedule for carrying out the work. The project plan includes Introduction : It describes the objectives of the project. ( eg budget, time) Project organisation : The way in which the development team is organised the people involved and their roles
Milestones & Deliverables When planning a project, a series of milestones should be established. A milestone is an end point of a process At each milestone there should be a formal output such as report that can be presented to the management. A deliverable is a project result that is delivered to the customer.
Deliverables can be milestones but milestones are not always deliverables. For eg for feasibility study the milestones can be feasibility report for requirement specification it can be system requirements.
Project Scheduling Project Scheduling is the most demanding task for the software managers. It is an extremely complex task as managers have to deal with a lot of item which are probabilistic in nature. Managers estimates the time and resources required to complete activities and organise them in a coherent sequence.
Project Scheduling includes The project schedule is usually represented as a set of charts showing the work breakdown activities dependencies and a staff allocation. It includes prepration of Gantt chart CPM PERT