Project Management


Published on

  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • The 90% syndrom is a problem that is particularly symptomatic for the linear waterfall lifecycle Another variant of Murphy's law Free change problem must be dealt with even in an iterative and incremental software lifecycle: time-boxed prototyping Introducing new bugs: This is a significant problem in old systems that did not use encapsulation: Global variables, etc Problem with hierarchical project management
  • Tthe central notion of project management is the software project. It defines the technical and managerial activities to develop a product and deliver it to the client. The central part of the managerial activities is the software project management plan. A project consists of activities, tasks, and functions.
  • Totally hierarchical Talk about the roles: Chief the main dictator, assistant joined the company 2 years ago... Batch oriented When talking abou the libriarian, play somebody who is pushing a shopping cart at the Giant Eagle: Dispatching the lineprinter printouts to the various offices!!
  • Project-based organizations create bridges within organizations and bridge boundaries outside with customers, suppliers, and competitors. Teams are the foundation unit of these new patterns of interconnection and interdependence. Telecommunications technology is the nervous system that holds these networks together. Groupware is the collaboration support technology that shapes and holds the activity of teams within those networks." Project-based organizations are based on the fct that ever-shifting networks of teams that cross traditional, formerly forbidden boundaries, linking once-competing organizations into ecosystems of cooperation
  • We are using several heuristics that have worked well in previous project courses. Give the size of this project, it does not necessarily mean that they are successful in this project.
  • Project Management

    1. 1. Project Management
    2. 2. Laws of Project Management <ul><li>Projects progress quickly until they are 90% complete. Then they remain at 90% complete forever. </li></ul><ul><li>When things are going well, something will go wrong. When things just can’t get worse, they will. When things appear to be going better, you have overlooked something. </li></ul><ul><li>If project content is allowed to change freely, the rate of change will exceed the rate of progress. </li></ul><ul><li>Project teams detest progress reporting because it manifests their lack of progress. </li></ul>
    3. 3. How it should go (e.g., waterfall model)
    4. 4. How it often goes
    5. 5. Software Project Management Plan <ul><li>Software Project: </li></ul><ul><ul><li>All technical and managerial activities required to deliver the deliverables to the client. </li></ul></ul><ul><ul><li>A software project has a specific duration, consumes resources and produces work products . </li></ul></ul><ul><ul><li>Management categories to complete a software project: </li></ul></ul><ul><ul><ul><li>Tasks, Activities, Functions </li></ul></ul></ul><ul><li>Software Project Management Plan: </li></ul><ul><ul><li>The controlling document for a software project. </li></ul></ul><ul><ul><li>Specifies the technical and managerial approaches to develop the software product. </li></ul></ul>
    6. 6. Functions, Tasks, Activities <ul><li>Functions (also known as Umbrella activities) </li></ul><ul><ul><li>Project Management </li></ul></ul><ul><ul><li>Configuration Management </li></ul></ul><ul><ul><li>Documentation </li></ul></ul><ul><ul><li>Quality Assurance (includes Verification and Validation) </li></ul></ul><ul><ul><li>Traceability </li></ul></ul><ul><ul><li>Training </li></ul></ul><ul><ul><li>… </li></ul></ul>
    7. 7. Tasks <ul><li>Smallest unit of management accountability </li></ul><ul><ul><li>Atomic unit of planning and tracking </li></ul></ul><ul><ul><li>Finite duration, need resources, produce tangible result (documents, model, code) </li></ul></ul><ul><li>Specification of a task: Work package </li></ul><ul><ul><li>Name, description of work to be done </li></ul></ul><ul><ul><li>Preconditions for starting, duration, required resources </li></ul></ul><ul><ul><li>Work product to be produced, acceptance criteria for it </li></ul></ul><ul><ul><li>Risk involved </li></ul></ul><ul><li>Completion criteria </li></ul><ul><ul><li>Includes the acceptance criteria for the work products (deliverables) produced by the task. </li></ul></ul>
    8. 8. Examples of Tasks <ul><li>Unit test class “Foo” </li></ul><ul><li>Test subsystem “Bla” </li></ul><ul><li>Write user manual </li></ul><ul><li>Write meeting minutes and post them </li></ul><ul><li>… </li></ul>
    9. 9. Activities <ul><li>Major unit of work </li></ul><ul><li>Culminates in major project milestone: </li></ul><ul><ul><li>Internal checkpoint should not be externally visible </li></ul></ul><ul><ul><li>Scheduled event used to measure progress </li></ul></ul><ul><li>Milestone often produces baseline: </li></ul><ul><ul><li>formally reviewed work product </li></ul></ul><ul><ul><li>under change control (change requires formal procedures) </li></ul></ul><ul><li>Activities may be grouped into larger activities: </li></ul><ul><ul><li>Establishes hierarchical structure for project (phase, step, ...) </li></ul></ul><ul><ul><li>Allows separation of concerns </li></ul></ul><ul><ul><li>Precedence relations often exist among activities (PERT Chart) </li></ul></ul>
    10. 10. Examples of Activities <ul><li>Major Activities: </li></ul><ul><ul><li>Develop Requirements model </li></ul></ul><ul><ul><li>Develop Analysis Model </li></ul></ul><ul><ul><li>Develop Architecture (aka System Design model) </li></ul></ul><ul><ul><li>… </li></ul></ul><ul><li>Activities during requirements: </li></ul><ul><ul><li>Define scenarios </li></ul></ul><ul><ul><li>Identify stakeholders </li></ul></ul><ul><ul><li>Define Use Case model </li></ul></ul><ul><ul><li>Design preliminary User Interface </li></ul></ul>
    11. 11. Example of Hierchical Organization: Chief Programmer Team Chief Programmer Librarian Administration Tester Junior Programmer Assistant Chief Programmer Senior Programmer
    12. 12. Another Project Organization: Egoless Programming Team (Weinberg) Analyst Designer Librarian Tester Programmer
    13. 13. Project-Based Project Organization Project Leader Coaches Team Members Basis of organization: Nonlinear information flow across dynamically formed units Subsystem Team Subsystem Team Subsystem Team A B A wants to talk to B: Communication Flow A wants to make sure B does a certain change: Decision Flow
    14. 14. Observations on Management Structures <ul><li>Hierarchical structures </li></ul><ul><ul><li>Do not work well with iterative and incremental software development process </li></ul></ul><ul><ul><li>Manager is not necessarily always right </li></ul></ul><ul><li>Project-based structures </li></ul><ul><ul><li>Cut down on bureaucracy reduces development time </li></ul></ul><ul><ul><li>Decisions are expected to be made at each level </li></ul></ul><ul><ul><li>Hard to manage </li></ul></ul>
    15. 15. Hierarchical Structure <ul><li>Projects with high degree of certainty, stability, uniformity and repetition. </li></ul><ul><ul><li>Requires little communication </li></ul></ul><ul><ul><li>Role definitions are clear </li></ul></ul><ul><li>When? </li></ul><ul><ul><li>The more people on the project, the more need for a formal structure </li></ul></ul><ul><ul><li>Customer might insist that the test team be independent from the design team </li></ul></ul><ul><ul><li>Project manager insists on a previously successful structure </li></ul></ul>
    16. 16. Project-Based Structure <ul><li>Project with degree of uncertainty </li></ul><ul><ul><li>Open communication needed among members </li></ul></ul><ul><ul><li>Roles are defined on project basis </li></ul></ul><ul><li>When? </li></ul><ul><ul><li>Requirements change during development </li></ul></ul><ul><ul><li>New technology develops during project </li></ul></ul>
    17. 17. Your Project-Based Structure <ul><li>Get together in your group and discuss options for your team organization and structure </li></ul><ul><ul><li>Subteams for functions, activities, tasks? </li></ul></ul><ul><ul><li>Team lead? Subteam leads or co-ordinators? </li></ul></ul><ul><li>Question: Discuss the advantages and disadvantages of these: </li></ul><ul><ul><li>For a team of 6 members </li></ul></ul><ul><ul><li>3 members are going to work on delivering the detailed design (they check their work before submitting it to the team) and correct problems </li></ul></ul><ul><ul><li>3 team members are assigned to independently review the detailed design and identify defects </li></ul></ul><ul><ul><li>Or </li></ul></ul><ul><ul><li>6 members are going to work on delivering the detailed design (the whole team checks the work before it is posted for evaluation) . </li></ul></ul>
    18. 18. Possible Mappings of ToDos to People <ul><li>One-to-One </li></ul><ul><ul><li>Ideal but often not worth to be called a project </li></ul></ul><ul><li>Many-to-Few </li></ul><ul><ul><li>Each project member assumes several roles (&quot;hats&quot;) </li></ul></ul><ul><ul><li>Danger of overcommittment </li></ul></ul><ul><ul><li>Need for load balancing </li></ul></ul><ul><li>Many-to-&quot;Too-Many&quot; </li></ul><ul><ul><li>Some people don't have significant roles </li></ul></ul><ul><ul><li>Bystanders </li></ul></ul><ul><ul><li>Losing touch with project </li></ul></ul>
    19. 19. Managerial Processes <ul><li>Management Objectives and Priorities </li></ul><ul><ul><li>Philosophy, goals and priorities </li></ul></ul><ul><li>Assumptions, Dependencies, Constraints </li></ul><ul><ul><li>External factors </li></ul></ul><ul><li>Risk Management </li></ul><ul><ul><li>Identifying, assessing, tracking, contingencies for risks </li></ul></ul><ul><li>Monitoring and Controlling Mechanisms </li></ul><ul><ul><li>Reporting mechanisms and formats, information flows, reviews </li></ul></ul><ul><li>Staffing Plan </li></ul><ul><ul><li>Needed skills (what?, how much?, when?) </li></ul></ul>
    20. 20. Project Management Heuristics <ul><li>Make sure to be able to revise or dump a project plan </li></ul><ul><ul><li>Complex system development is a nonlinear activity </li></ul></ul><ul><li>If project goals are unclear and complex use team-based project management. In this case </li></ul><ul><ul><li>Avoid GANTT charts and PERT charts for projects with changing requirements </li></ul></ul><ul><ul><li>Don’t look too far into the future </li></ul></ul><ul><li>Avoid micro management of details </li></ul><ul><li>Don’t be surprise if current project management tools don’t work: </li></ul><ul><ul><li>They were designed for projects with clear goals and fixed organizational structures </li></ul></ul>