software engineering project management presented by james roberts eel6883 spring ‘07
TRANSCRIPT
Software Engineering Project Software Engineering Project ManagementManagement
Presented byPresented by
James RobertsJames Roberts
EEL6883 Spring ‘07EEL6883 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
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
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
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
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
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
““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”
Management Functions & ActivitiesManagement Functions & Activities
Functions of managementFunctions of management– PlanningPlanning– OrganizingOrganizing– StaffingStaffing– Directing (leading)Directing (leading)– ControllingControlling
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
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
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
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
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
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
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
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
Filling PositionsFilling PositionsMust look forMust look for– EducationEducation– ExperienceExperience– TrainingTraining– MotivationMotivation– CommitmentCommitment– Self-motivationSelf-motivation– Group affinityGroup affinity– IntelligenceIntelligence
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
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
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
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
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
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
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
Thank You!Thank You!