Project Mangement


Published on

Project Mangement (By Dr.Reda Hussein)

Organized by : MUFIX Community

MUFIX The Power of Team

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

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

No notes for slide

Project Mangement

  1. 1. Project Management Part I By Dr. Reda M. Hussien
  2. 2. What is ProjectA group of tasks performed in a definable time periodin order to meet a specific set of objectives
  3. 3. What is Software ProjectAll Technical and managerial activities required todeliver a software product to a client
  4. 4. Components of a Project ProjectWork Product Schedule Task Participant
  5. 5. What is Software Project ManagementOrganizing, planning and scheduling software projectsConcerned with activities involved in ensuringthat software is delivered on time and onscheduleProject management is needed because softwaredevelopment is always subject to budget and scheduleconstraints that are set by the organisation developing thesoftware
  6. 6. States of a Project GoAhead ScopeDefined Conception Start do/FormulateIdeado/Cost-BenefitAnalysis do/Infrastructure Setup Definition do/Skill Identification do/FeasibilityStudy do/Team Formation do/Review do/Problem Statement do/Project Kickoff do/Software Architecture do/Software Plan Terminationdo/Client Acceptance New Need Steady State Infrastructure Setup do/Delivery New Technology Completed do/Post Mortem do/Develop System && Teams do/Controlling Assembled do/Risk Management System Done do/Replanning
  7. 7. Management activitiesProposal writingProject planning and schedulingProject costingProject monitoring and reviewsPersonnel selection and evaluationReport writing and presentations
  8. 8. Project planningthe most time-consuming project managementactivityContinuous activity from initial concept throughto system delivery.Plans must be regularly revised as new informationbecomes availableVarious different types of plan may be developed tosupport the main software project plan that isconcerned with schedule and budget
  9. 9. Project scheduling Split project into tasks and estimate time and resources required to complete each task Organize tasks concurrently to make optimal use of workforce Minimize task dependencies to avoid delays caused by one task waiting for another to complete Dependent on project managers intuition and experience Identify Identify activity Estimate resources Allocate people Create project activities dependencies for activities to activities charts Software Activity chartsrequirements and bar charts
  10. 10. Risk managementRisk management is concerned with identifying risks anddrawing up plans to minimize their effect on a project.A risk is a probability that some adverse circumstance willoccur.Project risks affect schedule or resourcesProduct risks affect the quality or performance of thesoftware being developedBusiness risks affect the organization developing orprocuring the software
  11. 11. Risk management Risk Risk analysis Risk planning Risk identification monitoringList of potential Risk avoidance Risk Prioritised risk and contingency risks list assessment plans
  12. 12. Building Software Project Team
  13. 13. Team Skills for Effective Requirements ManagementTeam Skill 1: Analyzing the Problem A set of techniques the team can use to gain a proper understanding of the problem that a new software system is intended to solve.
  14. 14. Team Skills for Effective Requirements ManagementTeam Skill 2: Understanding User and StakeholderNeeds A variety of techniques the team can use to elicit requirements from the system users and stakeholders.
  15. 15. Team Skills for Effective Requirements ManagementTeam Skill 3: Defining the System The initial process by which the team converts an understanding of the problem and the users needs to the initial definition of a system that will address those needs.
  16. 16. Team Skills for Effective Requirements ManagementTeam Skill 4: Managing Scope The ability to do a better job of managing the scope of the project.
  17. 17. Team Skills for Effective Requirements ManagementTeam Skill 5: Refining the System Definition Organizing the requirements information through a set of techniques the team can use to elaborate on the system definition, or refine it to a level suitable to drive design and implementation.
  18. 18. Team Skills for Effective Requirements ManagementTeam Skill 6: Building the Right System Technical aspects of design assurance, testing, and change management, and how traceability can be used to help ensure a quality outcome.
  19. 19. Team Management
  20. 20. Team ManagementTeam SelectionTeam StructureTeam Motivation
  21. 21. Team Selection OverviewImportance of member selectionCharacteristics of potential membersMeasuring member characteristics
  22. 22. Measuring Staff CharacteristicsResources Available to Project Managers Interviews Resume Recommendation Programming aptitude tests Psychological Tests
  23. 23. Factors Governing Member Selection Application Domain Knowledge Platform Experience Programming Language Experience Education Communication Adaptability Attitude PersonalityFrom Software Engineering by Ian Somerville
  24. 24. Why Interviews Not EffectiveInterviewees will say what you want to hearInterviewees prepare for questionsInterviewers don’t get good feed back on decisions
  25. 25. Ways to improve Interview Objectivity Use multiple interviewers Ask each candidate the same questions Try to relax candidates No desk between Start with interviewees interests
  26. 26. Problems with Resumes Entries may be misleading Fail to capture intangiblesMust be used along with other methods
  27. 27. Problems With Recommendations People say things to be nice People may be politically motivated Checking recommendations takes a lot of time Only use recommendations for few candidates Take recommendations with a grain of salt
  28. 28. Problems with TestingTest questions often answered in a time limitedmannerProblem solving with large time segments does notmap directly to this type of testing
  29. 29. Interviews and biasDifferent interviewers = different resultsGood impression = interviewer talks more /betterPrevious Candidates affect outcomebad first impression = less creditBad is noticed more than goodFirst impressions are important – decided in first 4minutes
  30. 30. Team Structure
  31. 31. Dedicated Software Development Team RolesProject Managera person in a team who will control the projects performed by your software development team. He will follow the execution of the software project, control time and budget. He should be organized himself and have excellent organizational skills. He is responsible for the software team’s activity, and project accounting..
  32. 32. Dedicated Software Development Team RolesSoftware Architecta person in a team who will develop the design of thesoftware product taking into account customer’srequirements.This person is not only a skillful software developer.Design Architect is a "guru" who is able to work outsoftware architecture for any complex system.
  33. 33. Software Architect
  34. 34. Dedicated Software Development Team RolesBusiness Analysta person in a team who will deal with customers and specify the direction to the software project.This person shouldanalyze the requirements,work out the project strategy,write documentation andlead the project to the successful completion.He should posses technical, managerial and creative skills.
  35. 35. Dedicated Software Development Team RolesSoftware Developera person in a team who will develop the product.Software Developer should be an expert in variousspheres of software development (mobile applicationdevelopment, web application development) andshould study all the time to improve his knowledge andcompetence.But at the same time, he should be a good team player.
  36. 36. Software Developer
  37. 37. Dedicated Software Development Team RolesDesigner a creative person who is responsible for product look-and-feel taking into account customer’s requirements.He should be a ‘hybrid’ designer who doesn’t strain atPhotoshop and can write CSS-code.He should be familiar with visual design as well as with webstandards, should be a professional in usability, universaldesign, accessibility, etc.
  38. 38. Dedicated Software Development Team RolesSoftware Testera person who will test the software during the course ofsoftware development.He should be familiar with various techniques andmethods of software testing (black box testing, smoketesting, etc) and should very patient
  39. 39. Dedicated Software Development Team RolesEvery member should understand what other members are doing, be ready to take some of their tasks in case of necessity, should be a good communicator
  40. 40. General Team Structure“Organizational alternatives to project managers” by Robert Youker
  41. 41. General Team Structure Hierarchal Functional Organization Vertical Organization Matrix Organization“Organizational alternatives to project managers” by Robert Youker
  42. 42. Why Team Structure is Important Figure 28.7 from Software Engineering 5th Edition by Ian Sommerville
  43. 43. Hierarchal Functional Organization Standard pyramid with management at the topStrength lumps similar recourses togetherWeakness there can be conflicts for time between projects for resources Resources do not see big picture
  44. 44. Vertical OrganizationEach Project its own organizationStrengths Ability to see the big picture and focus on projectsWeaknesses Organization is temporary and causes turmoil Facilities are duplicated
  45. 45. Matrix OrganizationCombines the two structures so there is a functionalboss and a project coordinatorStrengthsCan see big picture and employees have securityWeaknessesEach employee has two bosses
  46. 46. When to Choose WhatChoose functional structure when there are manysmall short term projectsChoose project structure for large long-term projectsFor a mix of projects of unknown length use theMatrix Structure
  47. 47. Programming Team Structure
  48. 48. Programming Team StructureEgoless ProgrammingChief Programming
  49. 49. Egoless ProgrammingAll programmers on one levelDecisions are made by consensusAdvantages Free flow of information between all programmers Generally better solutions to hard problemsDisadvantages Communication takes more time Personality conflicts a major issue Groupthink
  50. 50. Chief Programming The chief guides the project and makes all decisions but consults with specialistsAdvantages Fewer personality conflict Faster decisionsDisadvantages Chief can get overloaded with information and make incorrect decisions
  51. 51. When to Choose What?Choose Chief programmer when the project is Large Has a tight schedule Not many new technical challengesChoose egoless programming When the schedule is loose Groups are small Many technical challenges
  52. 52. Team Motivation
  53. 53. Motivation OverviewBasics of MotivationPersonality and Motivation
  54. 54. Basics of MotivationMost often bottom twoneeds are satisfiedSo people motivatedmostly by social and selfesteem needsOnly takes into accountindividual motivation Maslow’s model of needs (1954)
  55. 55. Personality and MotivationSocial needs: Allow time to meet co-workersSelf esteem needs: Recognize value to theorganizationSelf Realization needs: allow people direction inchoosing their own work, and make the workinteresting
  56. 56. Three Types of ProfessionalsTask-OrientedMotivated by the intellectual challenge of the workSelf-OrientedMotivated by personnel success and recognitionInteraction-OrientedMotivated by coworkers
  57. 57. Next.. Introducing the following tools• MS Project Project Manager UML Visual Paradigm Software Architect & Developer OOP Issues Software Architect & Developer Design Patterns Software Architect & Developer Documentation Tools Software Analyst
  58. 58. Thanks