Software Project Management Training


Published on

Trainees learn how to plan, monitor and control processes for technical personnel, management and clients. The motivation for applying project management techniques to assure project success is also discussed.

Published in: Business, Technology
  • Be the first to comment

Software Project Management Training

  1. 1. Software Project Management Jason Waterman Waterman International Software Services Waterman International Software Services
  2. 2. Training Overview Introduction Individual Introductions Expectations of group I. The Case for Project Management Exercise #1 II. The Discipline of Project Management Project Planning Exercise #2 Project Control Risk Management Quality Assurance Exercise #3 III. Critical Soft Skills for Project Management Leadership Teamwork Communications Exercise #4 IV. Resources Waterman International Software Services
  3. 3. I. The Case for Project Management Definitions "Project Management" (a definition): [n] The application of knowledge, skills, tools and techniques to a broad range of activities to meet the requirements of the particular project. "Proverb" (a definition): [n] a condensed but memorable saying embodying some important fact of experience that is taken as true by many people. Waterman International Software Services
  4. 4. I. The Case for Project Management Project Management Proverbs Any project can be estimated accurately (once it's completed). The most valuable and least used WORD in a project manager's vocabulary is "NO". The most valuable and least used PHRASE in a project manager's vocabulary is "I don't know". Nothing is impossible for the person who doesn't have to do it. The more desperate the situation the more optimistic the situatee. If it looks like a duck, walks like a duck and quacks like a duck, it probably is a duck. Of several possible interpretations of a communication, the least convenient is the correct one. What you don't know hurts you. The conditions attached to a promise are forgotten, only the promise is remembered. Waterman International Software Services
  5. 5. I. The Case for Project Management Project Management Proverbs There's never enough time to do it right first time but there's always enough time to go back and do it again. The bitterness of poor quality last long after the sweetness of making a date is forgotten. I know that you believe that you understand what you think I said but I am not sure you realize that what you heard is not what I meant. The sooner you begin coding the later you finish. What is not on paper has not been said. If you fail to plan you are planning to fail. A little risk management saves a lot of fan cleaning. A badly planned project will take three times longer than expected - a well planned project only twice as long as expected. The more you plan the luckier you get. Waterman International Software Services
  6. 6. I. The Case for Project Management Dilbert Waterman International Software Services
  7. 7. I. The Case for Project Management “The Mythical Man-Month” According to Fred Brooks in "The Mythical Man-Month": Creating a project plan requires making hundreds of mini- decisions which bring clarity to a project! The project plan communicates the decisions to others! The project plan serves as a checklist for the project manager! 80% of a project manager's time is spent on communication. The other 20% is spent on activities which require data. The project plan should meet this need! The project plan encapsulates much of the project manager's work. If this is recognized at the beginning of a project, then the project manager can approach it as a friendly tool rather than an annoying overhead! Waterman International Software Services
  8. 8. I. The Case for Project Management Cost-Schedule-Quality Tradeoff Project Success: The Triple Constraint Project Success = “On time, on budget, high quality” Quality of project is dependent on the time and money we are willing to spend. After balance between these two variables is made, a change to one will affect the other two. Waterman International Software Services
  9. 9. I. The Case for Project Management Strategic Advantage – Time to Market The firm that can consistently deliver the best product to the market window has the advantage. Hardware Example: Moore’s Law Software Example: Bringing New Software Products to Market Waterman International Software Services
  10. 10. I. The Case for Project Management Strategic Advantage – Reducing Risk Project management techniques are methods for reducing uncertainty and, therefore, improving the odds of success. Risk can be reduced by: Forecasting the future Early problem recognition Improved communication Waterman International Software Services
  11. 11. I. The Case for Project Management Strategic Advantage – Proven Techniques This discipline uses proven techniques to select, plan, and execute projects to reduce the cost and schedule required and to improve the quality of the result. Work Breakdown Structure (WBS) Gantt Charts Critical Path Analysis SEI CMMI process-based management PMI PMBOK Quantitative Risk Analysis Cost Benefit Analysis Activity Resource Estimating Earned Value Analysis Waterman International Software Services
  12. 12. I. The Case for Project Management Strategic Advantage – Hard & Soft Factors It is equally important to recognize that both the soft and hard side of project management are mutually dependent. Structured Methods [video example] Human Factors [video example] Waterman International Software Services
  13. 13. I. The Case for Project Management Project Management Maturity – SEI CMM The Software Engineering Institute’s (SEI) Capability Maturity Model (CMM) represents the most widely accepted set of capabilities (or best practices) that should be applied to software projects. Level 1: Initial Software development process is ad- hoc. Project success relies on individual effort. Level 2: Repeatable Consistent project management process in place to plan and manage the project. Processes also include Quality Assurance and Configuration Management. Processes enable consistency among similar projects. Waterman International Software Services
  14. 14. I. The Case for Project Management Project Management Maturity Project Size Processes should be tailored according to project size. Larger projects will need more detailed project planning than smaller projects. Smaller projects cannot “afford” the same level of processes as larger projects. Waterman International Software Services
  15. 15. II. The Discipline of Project Management Project Phase Overview Project Definition Risk Management Project Planning Quality Assurance Project Control Waterman International Software Services
  16. 16. II. The Discipline of Project Management Project Definition - Overview Project Definition Documents the goals and constraints necessary for managing the project. The foundation for project success because it establishes a common understanding of the goals and constraints of the project. Without it, the project team is shooting at a moving target. Components:  Purpose  Scope  Deliverables  Cost and schedule estimates  Project Objectives  Identify Stakeholders  Define Responsibilities  Communication plan Waterman International Software Services
  17. 17. II. The Discipline of Project Management Project Definition – Communications Plan Communications Plan #1 cause of project failure is lack of communication with stakeholders. A written strategy for getting the right information to the right people at the right time. Suggested guidelines:  Use short, concise status reports  Escalation procedure  Regular status meetings  Be consistent with other projects  Use multiple channels of communication:  Websites (Wikki’s)  Written status reports  Conference calls Waterman International Software Services
  18. 18. II. The Discipline of Project Management Project Planning – Planning Model Overview Planning Model Steps 1. Develop a Work Breakdown Structure (WBS) Output: all project tasks 2. Estimate the Work Packages Output: duration estimates 3. Develop an initial schedule baseline Outputs: realistic schedule, resource forecast 4. Develop the budget Output: detailed cost estimate Following a results-based process is critical to achieving successful projects! Waterman International Software Services
  19. 19. II. The Discipline of Project Management Project Planning – Step 1. Develop a WBS Work Breakdown Structure (WBS) The WBS simply breaks down one large piece of work into many small manageable tasks (work packages). A WBS can be graphical or outline form: SW-Project Function1 Function 2 Function n PM CM QM Subfunction Subfunction Subfunction subfunction subfunction WP n1 n2 nn WP WP WP WP WP The “obvious” process of creating a WBS has a number of benefits: Define Project Scope Clarify Tasks & Responsibilities Provide More Accurate Estimates Use for Project Tracking The WBS is used as a basis for the project schedule and all software estimations. Therefore, creation of the WBS must be one of the first activities performed by the software project manager. Waterman International Software Services
  20. 20. II. The Discipline of Project Management Project Planning – Step 1. Develop a WBS Work Package Size The most common problem with projects that are dramatically over schedule is that work packages are so large that they can spin out of control. If a work package is too large then its progress can be difficult to track. May not find out task is not on schedule until it’s too late. Work Package Size Guidelines: 8/80 Rule: no task should be smaller than 8 labor hours or larger than 80. This keeps the work packages durations effectively to between 1 and 10 days long. “If it’s Useful” Rule: reasons to consider breaking a task down further: The task is easier to estimate The task is easier to assign The task is easier to track Waterman International Software Services
  21. 21. II. The Discipline of Project Management Project Planning – Step 2. Estimate Work Packages Task Estimating To determine the cost and duration of an entire project, it is necessary to build a cost and schedule estimate for each work package. This is called bottom-up estimating. Failing to estimate tasks can lead to: Cost overruns Schedule overruns (missing customer deliveries!) Project failure! For software projects, effort estimates are the most critical component of overall project costs. The ability to accurately estimate tasks is directly reflected in the ability to have profitable projects! Estimating Pitfalls! No time to make estimates Too optimistic estimates Incomplete estimates No basis for estimates Estimates relying on only one person Assumptions for estimates not documented Waterman International Software Services
  22. 22. II. The Discipline of Project Management Project Planning – Step 3. Develop Schedule Initial Project Schedule Developing a schedule may be one of the most well know, but unappreciated, of all project management techniques. It can be particularly tedious and time consuming when done for large projects. Yet, it is the key to establishing realistic schedules and meeting them. Schedule Creation Process: 1. Identify major milestones 2. Sequence the tasks 3. Assign & level resources 4. Define schedule baseline PERT network diagrams are most common example of project scheduling methods. Waterman International Software Services
  23. 23. II. The Discipline of Project Management Project Planning – Step 3. Develop Schedule 1. Identify Major Milestones Milestones mark significant project events that are used to indicate project progress and transition from one project phase to another. Customer milestones Project kickoff Requirements freeze Customer deliveries Internal organization milestones Project architecture defined Internal software delivery for test Once milestone dates have been agreed upon, it is often very difficult to change them. Waterman International Software Services
  24. 24. II. The Discipline of Project Management Project Planning – Step 3. Develop Schedule 2. Sequence the Tasks The sequence in which detailed tasks (work packages) are performed and the dependencies between these tasks. Task relationships should reflect only sequence constraints between work packages, not resource constraints. Most Common Task Relationships • Finish-to-Start: the first task must M T W T F M T W T F finish before the next one can start. A B M T W T F M T W T F • Start-to-Start: multiple tasks may A start at the same time (parallel B tasks). M T W T F M T W T F • Finish-to-Finish: a task is can only A be finished when another task is finished. B Waterman International Software Services
  25. 25. II. The Discipline of Project Management Project Planning – Step 3. Develop Schedule 3. Assign & Level Resources Assign team members to individual tasks (work packages) and adjust schedule based on resource constraints. The goal of resource leveling is to optimize the use of people assigned to the project. When at all possible, it is most productive to have consistent, continuous use of the fewest resources possible. Avoid repeatedly adding and removing people time and again throughout the project. It is important to realize that there is always a learning curve for new team members. If new people are on a project for only a short term, they may not get past the learning curve, which means they never actually perform productive work! Resource Leveling Process: 1. Identify the resource peaks with the initial schedule. 2. At resource peaks, delay non-critical tasks within their schedule float. 3. To eliminate remaining peaks, reevaluate the work package estimates. Waterman International Software Services
  26. 26. II. The Discipline of Project Management Project Planning – Step 3. Develop Schedule 4. Schedule Baselining A schedule baseline is a “snapshot” in time of the project schedule. This creates a reference point against which the project may be compared against. Baselines are used to track the progress of the project against cost and schedule goals. It is important to realize that the project schedule will change throughout the life of a project. How you “manage” the schedule is important in maintaining control of the project. When should you baseline? There are many variables that may determine this. Recommended baseline points are: Project quotation Shortly have the actual project start After major scope changes to the project Waterman International Software Services
  27. 27. II. The Discipline of Project Management Project Planning – Step 4. Develop Budget Building the Detailed Budget (Cost) Estimate Project budget (cost) estimates may be “ballparked”, calculated through parametric formulas, or determined through apportioning. These types of top-down estimates are often useful in the process of project quotation. However, they are not accurate enough for managing a project. The detailed cost estimate becomes the standard for keeping costs in line. Everyone – customer, management, project manager, and team – is better served when a cost target is realistically calculated from a detailed plan. During the project, this detailed cost information will help in controlling the project, monitoring the progress, identifying problems, and finding solutions. Waterman International Software Services
  28. 28. II. The Discipline of Project Management Project Planning – Step 4. Develop Budget Calculating a Detailed Budget (Cost) Since the primary costs for software are related to the total labor cost, the cost calculation is usually pretty straightforward and may be calculated as follows: Total Labor Costs = Σ (cost of work package X) = Σ (effort of work package X * cost per unit of effort) The work package efforts are based on the estimations already made. The cost per unit of effort (or labor cost) is based on the individual organization. For example, a company may have an internal labor rate of $50/hour which includes the salary and overhead costs averaged over all employees. A simple spreadsheet containing all the WBS tasks (work packages) may be use to calculate the detailed project budget. Although the primary project cost may be due to labor costs, do not leave out other potential project costs. These costs may vary considerable by project type and industry, but may include: Software tool costs Purchase of 3rd party software components Travel costs Waterman International Software Services
  29. 29. II. The Discipline of Project Management Project Control – Overview Project Control Leads to Project Success! Some projects need little or no monitoring, while others must be measured every step of the way. Project size and complexity dictate the appropriate amount of control. Increasing effort to control is justified Knowing the difference between a project that merely needs to be planned and scheduled and a project that requires regular monitoring and corrective action is a skill gained primarily through experience with prior projects. Waterman International Software Services
  30. 30. II. The Discipline of Project Management Project Control – The Control Process The Control Process The project control process is designed to detect problems early, while they are still small enough to correct. Project Control Process: 1. Develop a control plan 2. Monitor & report progress and evaluate deviations from plan. 3. Take corrective action where necessary. Deming PDSA Cycle Waterman International Software Services
  31. 31. II. The Discipline of Project Management Project Control – Step 1: Plan Developing a Control Plan What? Plan what is to be measured and how often. This depends on the size, scope, and complexity of project, but in general should include: Requirements Schedule (Milestones) Resource Plan Budget (Costs) You must baseline the items that you wish to measure. Without a fixed unit of measure, it is impossible to objectively measure progress or deviations. When? Define regular intervals for measuring project progress Periodic Project Meetings Milestones Waterman International Software Services
  32. 32. II. The Discipline of Project Management Project Control – Step 2: Monitor & Analyze Monitor & Reporting Project Progress Subjective assessment: a “gut feeling” from the project manager or team members. Many a project has fallen into the trap of subjective assessment of progress. Such assessments tend to be overly optimistic early in the project. Objective assessment of project progress requires collecting and reporting of data. Two types of project data should be collected and reported: Actual Project Data: includes actual time, budget, and resources used, along with completion status of tasks. Unanticipated Changes: includes changes to budget, schedule, or scope that are not results of project performance. Waterman International Software Services
  33. 33. II. The Discipline of Project Management Project Control – Step 2: Monitor & Analyze Issues Management “Issues” will regularly arise during a project. Every project needs to track the status of these issues to make sure that they are resolved before they have a negative effect on cost, schedule, or quality. Maintaining an issues list which is regularly reviewed is a common way to track issues. Typically, an issues list includes: Description of Issue Date Issue logged Current issue status Person Responsible for Issue resolution Current actions being pursed Waterman International Software Services
  34. 34. II. The Discipline of Project Management Project Control – Step 2: Monitor & Analyze Controlling Project Changes • Every kind of project faces unanticipated changes. • Changes must be controlled otherwise they can lead to “out of control” projects in terms of requirements, schedule, costs, and quality. • The specific change management process should fit the size and complexity of the project. • Approving changes through a change control process may seem bureaucratic and inefficient, but in reality, it saves time and money. Basic Change Control Process: 1. Define the stakeholders who must approve changes. 2. All changes must be analyzed by these stakeholders to examine impact on requirements, cost, and schedule. 3. Decisions of stakeholders must be documented and available to all. Waterman International Software Services
  35. 35. II. The Discipline of Project Management Project Control – Step 2: Monitor & Analyze Evaluating Deviations – Technical Evaluation Methods Earned Value Analysis (EVA) Schedule Variance Cost Variance Waterman International Software Services
  36. 36. II. The Discipline of Project Management Project Control – Step 3: Act! Corrective Actions • When the project progress deviates significantly from what is expected, corrective actions are needed. • Deciding when and what corrective action to take is very difficult even for experienced project managers. • The right thing to do depends on the situation and the industry. Typical Corrective Action Strategies: • Re-baseline with Better Estimates • Crash the Schedule • Increase Productivity by Using Experts from within the Firm • Increase Productivity by Using Experts from Outside the Firm • Shift Project Work to the Customer • Reduce the Project Scope • Search for technical alternatives • Have the team work overtime • Improve communication • Increase Motivation • Phased product delivery Waterman International Software Services
  37. 37. II. The Discipline of Project Management Risk Management - Overview Risk Management Overview A Definition: risk management is the means by which uncertainty is systematically managed to increase the likelihood of meeting project objectives. The purpose of risk management is reduce the project unknowns and reduce the potential for damage. Known Risks Unknown Risks In the same way that the project schedule is continuously updated and adjusted throughout the project, the risk management plan is continuously updated. Risk is an inherent, though often unrecognized, factor in the triple constraint relationship. Most strategies to cut schedule and cost increase risk. Waterman International Software Services
  38. 38. II. The Discipline of Project Management Risk Management – 4 Step Process Risk Management Process Identify Risks Risk Monitoring Evaluate and Control Risks Implement Risk Response Waterman International Software Services
  39. 39. II. The Discipline of Project Management Risk Management – Step 1: Identify Risks Risk Identification Techniques Asking the stakeholders Checking against a list of possible risks (risk profile) Learning from similar past projects Analyzing the schedule and budget Waterman International Software Services
  40. 40. II. The Discipline of Project Management Risk Management – Step 2: Evaluate Risks Risk Evaluation Defining the Risk: High Red Risk (>75%) Condition Probability Medium Consequence (25%...75%) Yellow Risk Probability Low Impact (<25%) Green Risk 1 2 3 Low Medium High Severity (Impact) • Analyzing the Risk (based on probability theory): Probability x Impact = expected value Risk tracking [show example of risk tracking sheet] Waterman International Software Services
  41. 41. II. The Discipline of Project Management Risk Management – Step 3: Implement Risk Response Risk Response Strategies Accept the Risk: decide not to action to deal with risk or unable to identify a suitable risk response. Avoid the Risk: take action avoid the risk and possible resulting project impact. Monitor the Risk and Prepare Contingency Plans Mitigate the Risk: take action to reduce the probability or impact of a risk event. Transfer the Risk: shift impact of risk occurrence to a 3rd party. Waterman International Software Services
  42. 42. II. The Discipline of Project Management Risk Management – Step 4: Risk Monitor & Control Continuous Risk Management No matter how thorough the initial risk planning activities, ultimately it is the ongoing risk management activities that produce the results. On-Going Risk Management Process: 1. Ongoing risk identification and analysis 2. Report risk status to management periodically 3. Execute risk response plan tasks Waterman International Software Services
  43. 43. II. The Discipline of Project Management Quality Assurance - Motivation Motivation for Quality Assurance “We delivered a knock-their-socks-off product but were completely surprised when the customer blew up!” You delivered what the customer asked for but not what they needed! “The weak link in your organization was small in comparison to the whole project.” However, that small, weak link brought a huge project to a dead stop! “Your programmers are constantly frustrated because they want to build the absolute best (complex, finely tuned, and “worth” the added cost).” Your customers are saying that quality means simpler and less expensive! Waterman International Software Services
  44. 44. II. The Discipline of Project Management Quality Assurance – What is Quality? What is Quality? Quality is conformance to technical requirements and conformance to unexpressed social or human interaction requirements. For the project manager, it is important to define, track, and improve on both the customer’s expressed/contracted requirements and the customer’s unexpressed requirements. Problems arise when we focus on technical requirements – product features and specifications – before clearly understanding the intended business requirement! Waterman International Software Services
  45. 45. II. The Discipline of Project Management Quality Assurance – 4 Components of QA The Four Components Quality Assurance 1. Establishing customer requirements. 2. Designing and managing systems and processes. 3. Continuously improving processes and systems in a cost-effective manner. 4. Innovating – creating new ways to satisfy customers. Waterman International Software Services
  46. 46. II. The Discipline of Project Management Quality Assurance – Principles & Techniques Useful QA Principles & Techniques for Software Projects Make sure the customer requirements are understood – both expressed & implied. Apply Lessons Learned: it is human to make a mistake once, but there are no excuses for repeating the same mistakes! Test early and often! Use 4-Eyes principle: all work should be reviewed or tested by someone else other than the developer. “There may not be enough time to do it right the first time, but there is always time to go back and do it again!” Quality is everyone’s responsibility! Take pride in your work! Waterman International Software Services
  47. 47. II. The Discipline of Project Management Summary – Key Tasks for Project Managers Summary – Key Tasks for Project Managers Project Planning, Tracking, and Oversight • Establish a reasonable project schedule and keep it up-to-date; take care that the team is following the plan. • Perform regular project meetings and document tasks & decisions which are accessible to all team members. • Conduct a project kick-off with all key project stakeholders. Risk Management • Perform continuous risk management throughout the project life. Quality Assurance • Make sure the customer requirements are understood – both expressed & implied. • Require tested software for each customer delivery. Postpone deliveries if serious is not possible in time. Inform the customer early of possible software problems or delays. Waterman International Software Services
  48. 48. III. Critical Soft Skills for PMs The “Art” of Leadership The discipline or “science” of project management provides an essential tool set. The “art” of leadership provides the human interaction component necessary to get things done. Both the art and the science must come together to achieve successful projects. • The single greatest factor that can make or break a software development project is the degree of discipline that the project’s leadership exercises. “Leadership is action, not position” Waterman International Software Services
  49. 49. III. Critical Soft Skills for PMs Leadership Skills Communicate a vision Motivate and inspire the team Build trust within the team Influence stakeholders beyond the project team Make abstract things concrete Demonstrate persistence and determination Manage and resolve conflict Know when to make a decision Maintain the big picture perspective while organizing details Waterman International Software Services
  50. 50. III. Critical Soft Skills for PMs Characteristics of Successful Teams Optional Participative Leadership Cooperative Satisfaction Trust Relationships Early in Team Balanced Formation Valued Diversity Managed Conflict Participation Defined Roles & Open and Clear Effective Foundation Clear Goals Responsibilities Communication Decision Making Expert model of 10 main characteristics of effective, successful, high-performance teams. Waterman International Software Services
  51. 51. III. Critical Soft Skills for PMs Virtual / Distributed Teams A virtual or distributed team is a team that is separated geographically so that their interactions are almost always mediated by electronic communication and collaboration technology. Critical Success Factors for Virtual Teams • Standard organizational and team processes. • Use of electronic collaboration and communication technology. • Organizational culture • Team-leader and team-member competencies Waterman International Software Services
  52. 52. III. Critical Soft Skills for PMs Effective Communications #1 cause of project failure is bad communication between project stakeholders. How to Communicate more Effectively • Communications should never be assumed. All communications should be verified! • Avoid putting emotions in email. It almost always leads to bad results! • Write it down! Requirements, decisions, issues must be written. Faded ink is more clear than a sharp memory after a long weekend! • Don’t just rely on emails! Email becomes extremely inefficient when trying to hold a conversation. Verbal communications between team members not only may sometimes be more efficient, but also builds the human element of trust. • Graphical requirements are usually more effective than words. • Communicating more effectively often means learning to listen more effectively. • Do not wait until a milestone is missed. Communicate as early as possible when there is still a chance to take corrective action. Waterman International Software Services
  53. 53. IV. Resources Tools Internet Links PMBOK Waterman International Software Services