370 likes | 388 Views
Learn the tasks of a project manager, steps in project planning, organizing activities, staffing, directing projects, and controlling software projects effectively. Discover strategies for handling risks, project constraints, and different management structures.
E N D
SOFTWARE PROJECT MANAGEMENT Rochelle Elva
OVERVIEW • Introduction to project management • Tasks of SPM • Characteristics of good SPM • Types of management structures • Project constraints and management tools • Summary and questions
INTRODUCTION SOFTWARE PROJECT MANAGEMENT
Tasks of the Project Manager • Planning • Organizing • Staffing • Directing • Controlling
Steps in project planning • Set objectives • Develop project strategies • Develop project policies • Conduct Risk assessment • Identify alternate solutions or courses of action • Develop project plan(tasks, size, schedule)
Organizing activities • Identification and grouping functions and activities • Creating organizational positions • Definition of responsibilities • Documentation of organizational decisions
Staffing of Software Project Requirements Analysis Analysis System Design Designer Program Design Programmer Program Implementation Unit Testing Integration Testing Testing Team System Testing System Delivery Trainer Maintenance
Directing Project • Build teams • Provide leadership • Coordinate and facilitate communication between stakeholders • Supervise and motivate personnel • Resolve conflict
Controlling software projects • Develop standards of performance • Establish monitoring and reporting systems • Task Milestones • Work products • Quality assurance • Measure and analyze results • Initiate corrective actions • Reward and discipline • Document controlling methods
Strategies for handling Risk • Crisis management: fight fires after risks turn into full-blown problems • Fix on failure: early detection and quick reaction when risks materialize • Risk mitigation: have contingency plans, but do nothing to eliminate them in the first place • Risk prevention: identify risks and prevent them from becoming problems • Elimination of root causes: remove factors that make risks possible
Question • You are at an interview for a job as a SPM • Interviewer asks what is philosophy for risk management • What do you say? • What is your rationale for your answer?
CHARACTERISTICS OF GOOD SPM • Leadership • Communications (verbal, written) • Problem Solving • Negotiating • Influencing the organization • Mentoring • Process and technical expertise • Need to be an expert in software engineering and project management
Types of Management • Democratic decentralize • Rotates the task coordinators • Decisions are made by group consensus • Controlled decentralized • There is a permanent team lead • Whole group is involved in problem solving • Subgroup implements solutions • Controlled centralized • Top level problem solving is used • Internal coordination is managed by the team lead
Centralized management • Hierarchical structure of communication • Highly structured • Definite team lead • Communications are vertical • Narrow span of control • Employees tend to work in departments
Decentralized management • Communications are mostly horizontal • There is no real leader • All group members participate in problem solving and decision making
Pros of Centralized Management • There is an obvious point of reference to solve problems • Less time wasted in useless discussions • Decisions are made quickly • Tasks are completed on schedule • Best for simple projects
Cons of Centralized Management • Group morale and goal motivation are low • Quality of project depends greatly on leadership qualities of lead • Untapped creativity of other group members • Not appropriate for large innovative projects
Pros of Decentralized management • Good for long-term continuing projects • Good where there are no time constraints • Good for difficult problems where pooling of ideas is essential • Exhibit greatest job satisfaction • Generate more and better solutions to problems • Encourage creativity
Cons of Decentralized Management • Not good for rushed, or crucial projects • Because there is no one point of failure, individuals participate in more risky behaviour • Group performance is negatively correlated with co-operation requirements
Scheduling tools • (CPA) Critical Path Analysis • Mathematical algorithm for scheduling project activities • How • List activities necessary for project • List time for each activity • Identify dependencies • Graph information • Find longest path to completion- this is CP
Graph G A E D B F C
Node Layout ESTi EFTi ti i LFTi LSTi
CPA is done in 2 steps • Forward pass • Backward pass
Forward Pass • Determines earliest time each activity can start and finish • Determines total duration of project
Backward Pass • Determines latest time each activity can start and finish without delaying completion. • Helps determine where slack can be permitted.
Cost Control Tools • COCOMO • Lines of code • Function point analysis
Quality Assurance Tools • Audits • Trend Data • Direct measure of software metrics • Failure analysis • Software testing
Resources • http://www.cs.toronto.edu/~sme/CSC444F/slides/L03-ProjectManagement.pdf • http://www.comp.glam.ac.uk/Teaching/projectmanagement/principles2f.htm • http://www.engin.umd.umich.edu/CIS/course.des/cis375/lectures/lec2_files/frame.htm • http://ubiety.uwaterloo.ca/~tveldhui/teaching/SE362.S2008/slides/1.pdf