Mais conteúdo relacionado



  1. Software Project Management 1 Introduction
  2. Getting started. Some definitions. What is a Project? • A temporary endeavor undertaken to create a unique product, service, or result. PMI Body of Knowledge, 2008, p434 • “Projects , rather than repetitive tasks, are now the basis for most value added in business” Tom Peters 2
  3. Slide # 3 • People - Those who Perform the Software Development • Methods and Procedures -- How we Do the Work – Design methods, testing procedures, configuration control, etc. Other Elements of Software Project Management
  4. Slide # 4 • Resources - What we Need to Do the Work – Computers, Software, Test Equipment, Facilities, etc. • Artifacts - Things Produced During the Course of the Work • Communication - Within and without Other Elements of Software Project Management
  5. Slide # 5 The Course Combines These Elements • Planning what to do – Understanding the customer & requirements – Selecting the lifecycle and the process – Work breakdown structure – Estimating the effort, size, and schedule – Documenting the plans
  6. Slide # 6 The Course Combines These Elements • Managing the execution – Managing risk – Metrics – Configuration management • Improving – Quality engineering – Continuous process improvement
  7. Getting started. Some definitions. What is a Project? • They are: – Unique – With a beginning and an end – Of finite duration………… 7 The BIG DIG
  8. Project Characteristics 8
  9. Examples of Projects Some Examples of Projects • Developing a new product or service • Effecting a change in an organisational structure • Acquiring and implementing a new computer system • Constructing a building • Improving a business process 9
  10. Project Tradeoffs 10 Cost Time Quality Cheap Quick Good Project success is often reliant on the project manager’s ability to manage stakeholder expectations and make trade offs between key project dimensions
  11. Project Tradeoffs • Even if similar projects have been conducted several times • they will still follow these characteristics • Uniqueness of a project may come from: – a new team of people, – a different budget, – new technology, – a new customer/client etc. 11
  12. PROJECTS are composed of Processes • A series of actions bringing about a result • Performed by people • Two major categories • Project Management Processes describe, organize and complete the work of the Project • Product Oriented Processes specify and create the project’s product 12
  13. Slide # 13 A Process is Something that Happens Over a Period of Time • It involves activity – Eg., swimming or walking or computing • It is dynamic – If it happens twice, that is two different processes – Or two different instances of the same process model • It can be described in words, pictures, diagrams, etc. – The description is called a process model or description or representation
  14. Slide # 14 Process Description vs. Process Computer Program (process description) FOR I = 1 TO 10 DO IF A > B THEN CASE J OF ETC ETC ELSE DO SOMETHING ENDIF Computer in Execution (process) ... as the computer executes the program, things happen (variables change, data are communicated, devices operate, etc.) ...
  15. Slide # 15 Examples of Processes Process Description Computer Program Roadmap Recipe Set of instructions for how to put up wallpaper Process Program Execution Take a Trip Cook a Meal Put up Wallpaper
  16. Slide # 16 Several Interpretations of “Software Process” A Software Process Description is a definition -- it tells you what process to follow when producing software Executing the Software Development Process is an activity that produces programs Programs are Computer Process Descriptions which tell the computer what process to follow when executing the program Executing the Program produces some desired outcome
  17. Slide # 17 A Process has a Beginning and an End in Time Starting point - when the process starts .... .... .... something happens .... .... Ending point - when the process finishes (or it could be indefinite) When the process is happening, we say the process is being instantiated or enacted or executed.
  18. Slide # 18 A Process Description or Model exists before and/or after the process is enacted Process Description (prescriptive) -- What is Supposed to Happen Process Description (descriptive) -- What Actually Happened Process (something happens)
  19. Slide # 19 Process, Methods and Tools A Map -- WHAT to do PROCESS (description) METHODS TOOLS Detailed Instructions - HOW to Do It AUTOMATION - Do it Efficiently Eg. - Design, then Review - Plan Tests with Requirements Eg. - Object Oriented Analysis - Structured Walkthroughs Eg. - Compiler, - CASE, - Test Generator, - Measurement Tool “If you automate without a process, you mess up more efficiently” -- Anonymous INCREASING KNOWLEDGE
  20. Slide # 20 Why Process is Important • Tools without Processes or Methods are like a Fast Car with an Inexperienced Driver – You may drive fast – But who knows where you will end up? – Wrecks are likely • Methods tell you how to drive - like giving driving lessons
  21. Slide # 21 Why Process is Important • But Methods without Processes are like a Good Driver who Doesn’t know Where He Is or Where He is Going – You may eventually get there – And you may go fast – But you won’t get to the right place very soon
  22. Slide # 22 Process Gives Knowledge • Where to Go • How to Get There • Which Shortcuts will work • Which Shortcuts will NOT work • Risks of Each Option • Why, not just What
  23. Slide # 23 How to Describe or Document a Process It depends on who will use the description and for what purpose But there are three essential elements of a process description: -- Tasks or Activities to be Performed -- Artifacts (inputs needed and outputs produced) -- Relationships and Sequences among these
  24. Slide # 24 Process Descriptions Include ... • Tasks or Activities -- What to do • Sequencing and Information Flow -- When to do what • Information or Data (Artifacts) (compare with a computer program) • Executable Statements • Statement Sequence; Conditional Statements; Loops; Go To; other Flow of Control constructs • Data Declarations; Procedure Parameters
  25. Slide # 25 Optional Information • Additional information depends on the purpose of the process description • Examples of additional information include: – Comments and Documentation – Entry and/or Exit Criteria – Why – Who – What and When to Measure – Risks – References – ...
  26. Slide # 26 Representing a Process • It Depends on Who will Enact the Process Process Description Agent Process
  27. Slide # 27 Alternative Representations Process Description Computer Program Roadmap Recipe Agent Computer Driver Cook Process Enaction A Specific Invocation of the Program A Specific Trip Preparation of A Specific Dish Data Flow or Petri Nets or English, etc. SW Developer Development of Software
  28. Slide # 28 Goals of a Process Representation • Specific Enough to Enable a Correct Outcome – A map should be accurate • Flexible Enough to Allow Judgment – A good map: • Shows alternate routes • Does not dictate speed, type of car, or other excessive details that can vary • Does not have to be to scale or precise so long as it serves its purpose
  29. Slide # 29 Compare with a Good Recipe • Specific Enough to Enable a Correct Outcome – Lists all ingredients – Indicates the proper sequence and procedures for preparing • Flexible Enough to Allow Judgment – Allows some variation in ingredients without total failure – Warns about which steps must be followed precisely
  30. FIVE PROJECT MANAGEMENT PROCESSES • Initiating –authorizing the project or phase • Planning – defining and refining objectives and selecting the best courses of action • Executing – coordinating people and other resources to carry out the plan • Controlling – regularly monitoring and measuring to identify variances; so that corrective action may be taken • Closing – formal acceptance; orderly end to the project 30
  32. Why do Projects? Projects are the instruments/vehicle of change Today’s State A Needs Requirements Expectations Constraints PROJECT -Scope -Schedule -Cost -Quality -Procurement -Human Resources -Risk -Communications -Integration Future State B 32
  33. Process & Project Work PROCESS 1. Repeat process or product 2. Several objectives 3. Ongoing 4. People are homogeneous 5. Performance, cost, & time known 6. Part of the line organization 7. Bastions of established practice 8. Supports status quo PROJECT 1. New process or product 2. One objective 3. One shot – limited life 4. More heterogeneous 5. Performance, cost & time less certain 6. Outside of line organization 7. Violates established practice 8. Upsets status quo 33
  34. What then is Project Management? • A set of principles, practices, and techniques applied to LEAD project teams and CONTROL project schedule, cost and performance risks to result in delighted customers. Project Management is a discipline. A Behavior! 34
  35. What Project Management is not! • A collection of elaborate, sophisticated rules, principles and the like, whose goal is to drive up your overhead or to require mountains of paperwork. • NOTE: Software packages do not manage projects! People manage Projects! 35
  36. Four P’s of Project Management • Project • Product • Process • People (Software Project Management) (Product Project People | Process) 36
  37. Software Project Management • Concerned with activities involved in ensuring that software is delivered: – on time – on budget – in accordance with the requirements of the organization developing and procuring the software 37
  38. Slide # 38 Some Types of Software Project Management Problems • Software development costs more time/money/resources than anticipated – Business plans new data base for $250K and 9 months – After $2.5 Million and Two years, they still need $1M to complete – Program is canceled • Software development costs more time/money/resources than it should – Who knows how much it should cost? – Different contractors often give very different estimates
  39. Slide # 39 More Problems • Fails to meet requirements – System delivers only half of promised features (Functional requirements -- what it is supposed to do) – CAD system operates so slowly that it is unusable (Performance requirements -- speed, space, etc.)
  40. Slide # 40 More Problems • Fails to meet standards of quality or safety – X-ray machine gives 10,000X dose of radiation to patient due to faulty software – Buggy software is constantly crashing – Microsoft Windows calculator has bug in second digit
  41. Slide # 41 More Problems • Software causes unanticipated results – Insurance software for claims processing sends $60M in double payments. 35,000 policy holders quit. We could go On and On The basic message is that Software Must be Better Managed in Order to Produce Acceptable Products
  42. Slide # 42 But .... Software is Not a Manufacturing Process! • Does this apply to Software? • Isn’t Software Different? One of the most insidious problems with improving anything is the PERCEPTION OF UNIQUENESS Example: almost every small town thinks its sports teams are the best because they are unique Nevertheless, software does have some special characteristics that must be dealt with
  43. Project Stakeholders • Stakeholders are the people involved in or affected by the project actives – Stakeholders include • The project sponsor and project team • Support staff • Customers • Users • Suppliers • Opponents to the project 43
  44. Project Manager's Role • The role of the project manager is one of great responsibility. The project manager's job is to direct, supervise and control the project from beginning to end. Project managers should not carry out project work. 44
  45. Project Manager's Role • The project manager must – define the project, – reduce it to a set of manageable tasks, – obtain appropriate resources and – build a team to perform the work. • The project manager must – set the final goal of the project and – motivate the project team to complete the project on time. • The project manager must – inform all stakeholders of progress on a regular basis. • The project manager must – assess and monitor risks to the project and mitigate them. 45
  46. Project Manager's Role • Important: – No project ever goes quite as planned. – Project managers must learn to adapt to and manage change. 46
  47. Project Manager's Skill • Leadership • People management – (customers, suppliers, functional managers and project team) • Effective communication (verbal and written) • Negotiation • Conflict management • Planning • Contract management • Estimating • Problem solving • Creative thinking • Time management 47
  48. 48 Management Project Software 23. Appraising Performance 24. Handling Intellectual Property 25. Holding Effective Meetings 26. Interaction and Communication 27. Leadership 28. Managing Change 29. Negotiating Successfully 30. Planning Careers 31. Presenting Effectively 32. Recruiting 33. Selecting a Team 34. Teambuilding 12. Building a WBS 13. Documenting Plans 14. Estimating Costs 15. Estimating Effort 16. Managing Risks 17. Monitoring Development 18. Scheduling 19. Selecting Metrics 20. Selecting Project Mgmt Tools 21. Tracking Process 22. Tracking Project Progress 1. Assessing Processes 2. Awareness of Process Standards 3. Defining the Product 4. Evaluating Alternative Processes 5. Managing Requirements 6. Managing Subcontractors 7. Performing the Initial Assessment 8. Selecting Methods and Tools 9. Tailoring Processes 10. Tracking Product Quality 11. Understanding Development Activities 34 Competencies Every Software Project Manager Needs to Know People Project Product People Project Product
  49. Why are projects (and Project Management) more important today, than ever? • Shortened product life cycles • Narrow product launch windows • Increasingly complex and technical products • Emergence of global markets • Economic period marked by low inflation • Resource Constraints PROJECTS NEED TO BE MANAGED WELL!!! 49
  50. Project Management Knowledge Areas 50
  51. 51
  52. 52
  53. 53