Download as PPT, PDF, TXT or read online from Scribd
Download as ppt, pdf, or txt
You are on page 1of 22
Chapter- 5
Software Project Management
Software Project Management • Software Project Management is to be done in scientific way. • It involves the knowledge, techniques and tools necessary to manage the software development. • It starts before any activity starts. • The Software Project Management includes basic function such as scoping, planning, estimating, scheduling, organizing, directing, coordinating, controlling and closing. Management Spectrum • The management spectrum describes the management/hierarchy of people associated with a software project. • How to make a software project successful. • Effective Software Project Management focuses on the four P’s: – People – Product – Process – Project • The order is not arbitrary. The People • People factor is very much important in the process of software development. • There are following areas for software people like, recruiting, performance management, training, compensation, career development, workgroup development, and team/culture development. • Organizations achieve high levels of maturity in the people management area. Stakeholders • Senior managers who define the business issues that often have significant influence on the project. • Project (technical) managers who must plan, motivate, organize, and control the practitioners who do software work. • Practitioners who deliver the technical skills that are necessary to engineer a product or application. • Customers who specify the requirements for the software to be engineered • End-users who interact with the software once it is released for production use. Project Manager The following characteristics defines an effective project manager 1. Problem solving: An effective software manager can diagnose the technical and organizational issues and systematically structure a solution or motivate other practitioners to apply the solution. 2. Managerial Identity: A good manager must take charge of the project and must have confidence to assume control when necessary. 3. Achievement: To optimize the productivity of a project team, a manager must reward initiative and accomplishment of the practitioners. 4. Influence and Team Building: An effective project manager must be able to read people, to understand verbal and non verbal signals and react to the needs of the people sending these signals. The manager must remain under control in high stress situation. Software Teams How to lead? How to organize? How to collaborate?
How to motivate? How to create good ideas?
Product 1. Before a project can be planned, the product objectives and scope should be identified. 2. Objectives identify the overall goals for the product without considering how these goals will be achieved. 3. Scope identifies the primary data, functions and behaviors that categorize the product. 4.It identifies cost, risk and realistic break downs of project task. Process • The process model is the plan to be selected depending on following factors – a) Customers and developers. – b) Characteristics of product itself. – c) Project environment of software team. • Regardless of the size and type of project, there are small number of framework activities that are applicable to all of them. • There are also umbrella activities like SQA, that occur throughout the system. Project • We conduct planned and controlled software projects for one primary reason-it is the only known way to manage complexity. • A software project manager, who build the product must avoid a set of common warning signs, understand the critical success factors that lead to good project management. • And develop a common sense approach for planning, monitoring and controlling the project. Project Scheduling 1. In project management, a schedule consist of a list of project terminal elements, with intended start date and finish date. 2. The s/w project scheduling distributes estimated efforts across the planned project period by allocating the effort to particular s/w engineering tasks. 3. There are many tasks in a s/w project. The project manager defines all the task and generates the schedule. 4. Initially a macroscopic schedule is developed, identifying all major process framework activities and then the detailed schedule of specific tasks are identified and scheduled. Factors that delay Project Schedule Although there are many reasons why software is fail, most can be traced to one or more of the following root causes: 1. An unrealistic deadline established by someone outside the software team and forced on managers and practitioners. 2. Changing customer requirements that are not reflected in schedule changes. 3. An honest underestimate of the amount of effort and/or the number of resources that will be required to do the job. 4. Predictable and/or unpredictable risks that were not considered when project commenced. 5. Technical difficulties that could not have been foreseen in advance. 6. Human difficulties that could not have been foreseen in advance. 7. Miscommunication among project staff that results in delays. 8. A failure by project management to recognize that the project is falling behind schedule and a lack of action to correct the problem. Principles of Project Scheduling i. Compartmentalization: The project must be compartmentalized into a number of manageable activities and tasks. ii. Interdependency: The interdependency of each compartmentalized activity or task must be determined. iii. Time allocation: Each task to be scheduled must be allocated some number of work units (e.g., person‐days of effort). iv. Effort validation: the project manager must ensure that no more than the allocated number of people have been scheduled at any given time. v. Defined responsibilities: Every task should be assigned to a specific team member vi. Defined outcomes: Every task should have a defined outcome. Vii. Defined milestones: Every task or group of tasks should be associated with a project milestone. viii. A milestone is accomplished when one or more work products has been reviewed for quality and has been approved. Project schedule can be tracked by using different scheduling tools and techniques. Program Evaluation Review Technique (PERT) i. PERT, is used in projects that have unpredictable tasks and activities such as in research and development projects. ii. It utilizes three estimates of the time to complete the project: the most probable, the most promising, and the most unfavorable. iii. It is a probabilistic tool. iV) It uses several estimates to determine the time completion of the project and controls activities so that it will be completed faster and at a lower cost. Critical Path Method (CPM) i. CPM is a technique that is used in projects that have predictable activities and tasks such as in construction projects. ii. It allows project planners to decide which aspect of the project to reduce or increase when a trade-off is needed. iii. It is a deterministic tool and provides an estimate on the cost and the amount of time to spend in order to complete the project. iv. It allows planners to control both the time and cost of the project. Difference PERT Vs CPM 1. The Program Evaluation and Review Technique (PERT) is suitable for projects that have unpredictable activities while the Critical Path Method (CPM) is suitable for projects that have predictable activities. 2. CPM uses a single estimate for the time that a project can be completed while PERT uses three estimates for the time that it can be completed. 3. CPM is a deterministic project management tool while PERT is a probabilistic project management tool. 4. CPM allows project management planners to determine which aspect of the project to sacrifice when a trade-off is needed in order to complete the project while PERT does not. Time-Line Charts or Gantt chart • A time-line chart can be developed for the entire project or separate charts can be developed for each project function or for each individual working on the project. • All project tasks (for concept scoping) are listed in the left-hand column. • The horizontal bars indicate the duration of each task. • When multiple bars occur at the same time on the calendar, task concurrency is implied. • The diamonds indicate milestones. Work tasks week 1 week 2 week 3 week 4 week 5
I.1.1 Identify need and benefits
Meet with customers Identify needs and project constraints Establish product statement Milestone: product statement defined I.1.2 Define desired output/control/input (OCI) Scope keyboard functions Scope voice input functions Scope modes of interaction Scope document diagnostics Scope other WP functions Document OCI FTR: Review OCI with customer Revise OCI as required; Milestone; OCI defined I.1.3 Define the functionality/behavior Define keyboard functions Define voice input functions Decribe modes of interaction Decribe spell/grammar check Decribe other WP functions FTR: Review OCI definition with customer Revise as required Milestone: OCI defintition complete I.1.4 Isolate software elements Milestone: Software elements defined I.1.5 Research availability of existing software Reseach text editiong components Research voice input components Research file management components Research Spell/Grammar check components Milestone: Reusable components identified I.1.6 Define technical feasibility Evaluate voice input Evaluate grammar checking Milestone: Technical feasibility assessed I.1.7 Make quick estimate of size I.1.8 Create a Scope Definition Review scope document with customer Revise document as required Milestone: Scope document complete Timeline Charts Tasks Week 1 Week 2 Week 3 Week 4 Week n