software engineering project management presented by james roberts eel6883 spring ‘07

26
Software Engineering Software Engineering Project Management Project Management Presented by Presented by James Roberts James Roberts EEL6883 Spring ‘07 EEL6883 Spring ‘07

Upload: may-walters

Post on 22-Dec-2015

214 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Software Engineering Project Management Presented by James Roberts EEL6883 Spring ‘07

Software Engineering Project Software Engineering Project ManagementManagement

Presented byPresented by

James RobertsJames Roberts

EEL6883 Spring ‘07EEL6883 Spring ‘07

Page 2: Software Engineering Project Management Presented by James Roberts EEL6883 Spring ‘07

DefinitionsDefinitions

ManagementManagement– The activities and tasks undertaken by The activities and tasks undertaken by

one or more persons for the purpose of one or more persons for the purpose of planning and controlling the activities of planning and controlling the activities of other in order to achieve objectives that other in order to achieve objectives that could not be achieved by the others could not be achieved by the others acting aloneacting alone

Page 3: Software Engineering Project Management Presented by James Roberts EEL6883 Spring ‘07

DefinitionsDefinitions

Project ManagementProject Management– A system of management procedures, A system of management procedures,

practices, technologies, skills, and practices, technologies, skills, and experience necessary to successfully experience necessary to successfully manage an engineering projectmanage an engineering project

Software Engineering Project Software Engineering Project ManagementManagement– Project management where the product Project management where the product

is softwareis software

Page 4: Software Engineering Project Management Presented by James Roberts EEL6883 Spring ‘07

Universality of ManagementUniversality of ManagementWhat does the Universality of What does the Universality of Management mean?Management mean?– Management performs the same Management performs the same

functions regardless of organizational functions regardless of organizational position or enterpriseposition or enterprise

– Management functions are Management functions are characteristic duties of all managerscharacteristic duties of all managers

– Management practices, methods, Management practices, methods, activities and tasks are specific to the activities and tasks are specific to the enterpriseenterprise

Page 5: Software Engineering Project Management Presented by James Roberts EEL6883 Spring ‘07

Project vs. AquisitionProject vs. Aquisition

Two types of software projectsTwo types of software projects– Development projectsDevelopment projects– Acquisition projectsAcquisition projects

Two types of software project Two types of software project managersmanagers– Project managersProject managers– Acquisition managersAcquisition managers

Page 6: Software Engineering Project Management Presented by James Roberts EEL6883 Spring ‘07

More DefinitionsMore DefinitionsSoftware DevelopmentSoftware Development– The process of developing or modifying a The process of developing or modifying a

software-intensive system to meet the software-intensive system to meet the acquirer’s contractual requirementsacquirer’s contractual requirements

– The process of developing this system to The process of developing this system to deliver on time and within budgetdeliver on time and within budget

Software AcquisitionSoftware Acquisition– The process of contractually obtaining, from a The process of contractually obtaining, from a

supplier, a software-intensive system for use supplier, a software-intensive system for use by another groups or organizationby another groups or organization

Page 7: Software Engineering Project Management Presented by James Roberts EEL6883 Spring ‘07

Issues with Software EngineeringIssues with Software Engineering

70% of software organization have 70% of software organization have no defined methodsno defined methods

Process are defined during the Process are defined during the developmentdevelopment

Software ends upSoftware ends up– LateLate– Over budgetOver budget– Fails to meet requirementsFails to meet requirements

Page 8: Software Engineering Project Management Presented by James Roberts EEL6883 Spring ‘07

““today’s major problems today’s major problems with software with software

development are not development are not technical problems, but technical problems, but management problems”management problems”

Page 9: Software Engineering Project Management Presented by James Roberts EEL6883 Spring ‘07

Management Functions & ActivitiesManagement Functions & Activities

Functions of managementFunctions of management– PlanningPlanning– OrganizingOrganizing– StaffingStaffing– Directing (leading)Directing (leading)– ControllingControlling

Page 10: Software Engineering Project Management Presented by James Roberts EEL6883 Spring ‘07

Planning ActivitiesPlanning ActivitiesSet objectives and goalsSet objectives and goalsDevelop strategiesDevelop strategiesDevelop policiesDevelop policiesForecast future situationsForecast future situationsConduct a risk assessmentConduct a risk assessmentDetermine possible courses of actionDetermine possible courses of actionMake planning decisionsMake planning decisionsSet procedures and rulesSet procedures and rulesDevelop project plansDevelop project plansPrepare budgetsPrepare budgetsDocument project plansDocument project plans

Page 11: Software Engineering Project Management Presented by James Roberts EEL6883 Spring ‘07

Organizing ActivitiesOrganizing Activities

Identify and group project function, Identify and group project function, activities, and tasksactivities, and tasks

Select organizational structuresSelect organizational structures

Create organizational positionsCreate organizational positions

Define responsibilities and authorityDefine responsibilities and authority

Establish position qualificationsEstablish position qualifications

Document organizational decisionsDocument organizational decisions

Page 12: Software Engineering Project Management Presented by James Roberts EEL6883 Spring ‘07

Organizational StructureOrganizational StructureConventional organization structureConventional organization structure– Line organizationLine organization– Staff organizationStaff organizationProject organization structureProject organization structure– FunctionalFunctional– ProjectProject– MatrixMatrixTeam StructureTeam Structure– EgolessEgoless– Chief programmerChief programmer– HierarchicalHierarchical

Page 13: Software Engineering Project Management Presented by James Roberts EEL6883 Spring ‘07

Organizing ActivitiesOrganizing Activities

Identify and group project function, Identify and group project function, activities, and tasksactivities, and tasks

Select organizational structuresSelect organizational structures

Create organizational positionsCreate organizational positions

Define responsibilities and authorityDefine responsibilities and authority

Establish position qualificationsEstablish position qualifications

Document organizational decisionsDocument organizational decisions

Page 14: Software Engineering Project Management Presented by James Roberts EEL6883 Spring ‘07

Establish Position QualificationsEstablish Position Qualifications

Project managersProject managers

Software system engineersSoftware system engineers

Scientific/engineering programmers, Scientific/engineering programmers, programmer-analystsprogrammer-analysts

Verification and validation engineerVerification and validation engineer

Software quality assurance engineerSoftware quality assurance engineer

Page 15: Software Engineering Project Management Presented by James Roberts EEL6883 Spring ‘07

Organizing ActivitiesOrganizing Activities

Identify and group project function, Identify and group project function, activities, and tasksactivities, and tasks

Select organizational structuresSelect organizational structures

Create organizational positionsCreate organizational positions

Define responsibilities and authorityDefine responsibilities and authority

Establish position qualificationsEstablish position qualifications

Document organizational decisionsDocument organizational decisions

Page 16: Software Engineering Project Management Presented by James Roberts EEL6883 Spring ‘07

Issues In StaffingIssues In StaffingLack of project management trainingLack of project management training

Greatly varying skillsGreatly varying skills

Inability to predict productivity of Inability to predict productivity of engineersengineers

Lack of experienceLack of experience

TurnoverTurnover

Not enough software engineersNot enough software engineers– Most graduates are theoreticalMost graduates are theoretical– Or just codersOr just coders

Page 17: Software Engineering Project Management Presented by James Roberts EEL6883 Spring ‘07

Staffing ActivitiesStaffing ActivitiesFill organizational positionsFill organizational positionsAssimilate newly assigned personnelAssimilate newly assigned personnelEducate or train personnelEducate or train personnelProvide for general developmentProvide for general developmentEvaluate and appraise personnelEvaluate and appraise personnelCompensateCompensateTerminate assignmentsTerminate assignmentsDocument staffing decisionsDocument staffing decisions

Page 18: Software Engineering Project Management Presented by James Roberts EEL6883 Spring ‘07

Filling PositionsFilling PositionsMust look forMust look for– EducationEducation– ExperienceExperience– TrainingTraining– MotivationMotivation– CommitmentCommitment– Self-motivationSelf-motivation– Group affinityGroup affinity– IntelligenceIntelligence

Page 19: Software Engineering Project Management Presented by James Roberts EEL6883 Spring ‘07

Staffing ActivitiesStaffing ActivitiesFill organizational positionsFill organizational positionsAssimilate newly assigned personnelAssimilate newly assigned personnelEducate or train personnelEducate or train personnelProvide for general developmentProvide for general developmentEvaluate and appraise personnelEvaluate and appraise personnelCompensateCompensateTerminate assignmentsTerminate assignmentsDocument staffing decisionsDocument staffing decisions

Page 20: Software Engineering Project Management Presented by James Roberts EEL6883 Spring ‘07

Directing ActivitiesDirecting ActivitiesProvide leadershipProvide leadershipSupervise personnelSupervise personnelDelegate authorityDelegate authorityMotivate personnelMotivate personnelBuild teamsBuild teamsCoordinate activitiesCoordinate activitiesFacilitate communicationFacilitate communicationResolve conflictsResolve conflictsManage changesManage changesDocument directing decisionsDocument directing decisions

Page 21: Software Engineering Project Management Presented by James Roberts EEL6883 Spring ‘07

Providing LeadershipProviding Leadership

Positional PowerPositional Power– Power derived from having a leadership Power derived from having a leadership

positionposition– Not always effectiveNot always effective

Personal PowerPersonal Power– Charisma or personal charmCharisma or personal charm– Sometimes more effective than Sometimes more effective than

positional powerpositional power

Page 22: Software Engineering Project Management Presented by James Roberts EEL6883 Spring ‘07

Directing ActivitiesDirecting ActivitiesProvide leadershipProvide leadershipSupervise personnelSupervise personnelDelegate authorityDelegate authorityMotivate personnelMotivate personnelBuild teamsBuild teamsCoordinate activitiesCoordinate activitiesFacilitate communicationFacilitate communicationResolve conflictsResolve conflictsManage changesManage changesDocument directing decisionsDocument directing decisions

Page 23: Software Engineering Project Management Presented by James Roberts EEL6883 Spring ‘07

Job MotivationsJob MotivationsJob AttractorsJob Attractors Job DissatisfiersJob Dissatisfiers

SalarySalary Company mismanagementCompany mismanagement

Chance to advanceChance to advance Poor work environmentPoor work environment

Work environmentWork environment Little feeling of Little feeling of accomplishmentaccomplishment

LocationLocation Poor recognitionPoor recognition

BenefitsBenefits Inadequate salaryInadequate salary

Facilities/equipmentFacilities/equipment Little chance to advanceLittle chance to advance

Job satisfactionJob satisfaction Poor facilities/equipmentPoor facilities/equipment

Company managementCompany management Poor benefitsPoor benefits

Job responsibilityJob responsibility Poor career path definitionPoor career path definition

Page 24: Software Engineering Project Management Presented by James Roberts EEL6883 Spring ‘07

Directing ActivitiesDirecting ActivitiesProvide leadershipProvide leadershipSupervise personnelSupervise personnelDelegate authorityDelegate authorityMotivate personnelMotivate personnelBuild teamsBuild teamsCoordinate activitiesCoordinate activitiesFacilitate communicationFacilitate communicationResolve conflictsResolve conflictsManage changesManage changesDocument directing decisionsDocument directing decisions

Page 25: Software Engineering Project Management Presented by James Roberts EEL6883 Spring ‘07

Controlling ActivitiesControlling Activities

Develop standards of performanceDevelop standards of performance

Establish monitoring and reporting Establish monitoring and reporting systemssystems

Measure and analyze resultsMeasure and analyze results

Initiate corrective actionsInitiate corrective actions

Reward and disciplineReward and discipline

Document controlling methodsDocument controlling methods

Page 26: Software Engineering Project Management Presented by James Roberts EEL6883 Spring ‘07

Thank You!Thank You!