Title: Software Engineering Project Management
1Chapter 7
- Software Engineering Project Management
- Arnaldo Echevarria
- Jorge Gonzalez
- Hugo Occil
2Software Engineering Project Management
- Management functions and tasks necessary to
manage any software engineering project. - Encapsulates
- Management procedures
- Practices
- Technologies
- Skills needed to successfully manage any software
engineering project
3Software Project Management
- Software engineering projects are frequently part
of larger more comprehensive projects. - Require
- Hardware
- Facilities
- Personnel
- Procedures
- Managed by
- One or more system (project managers)
- One or more software project managers
4Types of Software Project Management
- Development Project Management
- Deals with the managing software intensive
system, from development to delivery. - Acquisition Project Management
- Contractually obtain from a group or organization
a software intensive system to be used by another
group or organization. - Similarities
- Organization, staffing, directing, and problem
resolution. - Either type must understand the other.
5Acquisition Development Project Management
6Acquisition Development Project Management
7Acquisition Development Project Management
8Major Issues Of Software Engineering
- Ad hoc procedures are used in 70 of software
development organizations. - Proven techniques are only used when project
falls behind in cost, schedule, and or costumer
demands more functionality without budget
increase. - Management plays a major role in software and
system development and support. - The difference success and failure is often a
function of managers effectiveness D.O.D. SW
Initiative 83
9Classical Management Model
10Major Functions of Management
11Major Issues in Planning
- Deciding in advance what to do, how to do it,
when to do it, and who is to do it. - Involves specifying objectives for a project and
the strategies, policies, plans and procedures
for attaining them. - Every project needs to start with a good plan.
- Uncertainties and unknowns, make planning
necessary.
12Major Issues in Planning
- Complete, correct and clear requirements are
extremely important. - Vagueness in objectives can result in poor cost
and scheduling estimates. - Major requirement changes will change cost an
scheduling estimates, yet most of the time they
remain the same. - Accurate budgets and schedules are hard to
prepare. - Most realistic cost estimates are based on past
histories of cost and scheduling, of similar
project.
13Major Issues in Planning
- Most project managers do make a realistic attempt
to create an accurate cost and schedule estimate. - Ok to take risks as long as problems are known.
- Most times when risks become problems it catches
every one by surprise.
14Planning Activities
- Set Project Objectives and Goals
- Determine the desired outcome for the project.
- Develop project strategies
- Decide major goals, and develop actions for
meeting goals. - Develop project policies
- Make decisions to provide guide for decision
making. - Forecast future situations
- Anticipate future events or make assumptions
about the future. Predict future expectations
from course of action. - Conduct project risk assessment
- Anticipate possible problems, state assumptions,
predict results and possible courses of action.
15Planning Activities
- Determine possible courses of action
- Develop, analyze, and evaluate different project
plans. - Make project planning decisions
- Evaluate and select a course of action from among
alternatives. - Set project procedures and rules
- Establish methods, guides, and limits for
accomplishing project activity. - Develop a software project plan
- Establish Policies, procedures, rules, tasks,
schedules, and resources needed to complete the
project.
16Planning Activities
- Prepare project budgets
- Allocate estimated costs to project functions,
activities, and tasks. - Document Project Plans
- Recommend policy decisions, course of action,
budget, program plans, and contingency plans.
17Types of Plans
- Objectives
- The project goals toward which activities are
directed. - Strategic
- Guidance for placing emphasis and project
resources. - Policies
- Limit the freedom in making the decisions but
allow for some discretion. - Procedures
- Customary methods for handling activities, allow
very little discretion.
18Types of Plans
- Rules
- Requirements for specific for taken or not taken
with respect to particular project situations. - Plans
- Set of goals, objective, policies, procedures,
rules, work assignments, resources, and other
elements used to conduct the software project. - Budget
- Constraint on resources, quantitative expressed
in staff hours or dollars.
19Organization of S/W Project
- Involves developing an effective and efficient
organizational structure for assigning and
completing project tasks and establishing
responsibility and relationship among tasks - Major Issues
- Functional Format
- Distributes authority among functional elements
- Matrix Format
- Two-Boss phenomenon.
- Project Format
- Centralized control
20Organizing Activities
- Identify and group project function, activities
and tasks. - Select organizational structures
- Create organizational positions
- Define responsibilities and authority
- Establish position qualifications
- Document organizational decisions
21Organizational Structures
- Line Organization p239
- Functional Project Organization p243
- Project Organization p243
- Matrix Project Organization p244
- Mostly used in aerospace industry.
- Software Project teams
- Team leader should not be expected to carry any
share of technical work.
22Organizational Positions
- Project Manager
- Software systems engineer
- Scientific/engineering programmers,
programmer-analysis - Software verification and validation engineers.
- Software quality assurance engineers
23Staffing a Software Project
- Fill positions defined in project organization
structure. - Filled throw selection, training and development
of personnel. - Ensure roles are filled by qualified personnel.
- Major Issue
- Development skills vary from individual to
individual, can vary from 4 to 1. - U.S. Universities turn out Theoretical computer
scientist at best, or mere programmers at worst. - Staffing Activities p246
24Directing a Software Project
- Consists of management activities that involve
motivational and interpersonal aspects, used to
achieve project goals. - Major Issues
- Most software engineers are high in the ladder of
satisfied needs p253 so money alone is not a
strong motivator. - Leadership may not introduce unfamiliar methods
and tools because it raises risk. - Unfamiliar methods make it harder for cost and
scheduling estimates. - SW Engineers may eventually burn out.
25Directing the Project team
- Provide leadership
- Supervise personnel
- Delegate authority
- Motivate personnel(X,Y, Z theories) p252
- X - dislike work, need to be controlled, dont
like responsibility. - Y rewards associated with achievement, seek
responsibility. - Z People need goals, both positive and negative
reinforcement, motivation is essential.
26Directing the Project team
- Motivate personnel
- Theories, Needs, management, job factors p254.
- Build teams
- Coordinate activities
- Facilitate communication
- Resolve conflicts
- Manage changes
- Document Direct decisions
27Controlling a Software Project
- Collection of management activities used to
ensure that the project goes according to plan. - Major Issues
- Status based on resources expanded.
- Problem lies in that resources used and work done
is only a rough estimate at best, wrong at worst. - Progress Matricides
- Costly and hard to implement.
28Controlling a Software Project
- Develop standards of performance
- Standards, Quality Assurance, Software
Configuration Management, Process and product
metrics. - Establish monitoring and reporting systems
- Formal Reviews, Budget reviews, Independent
Auditing, binary tracking system, Software
quality assurance, Configuration management,
testing verification and validation, walkthrough
inspections.
29Controlling a Software Project
- Initiate corrective actions
- Measure and analyze results
- Reward and discipline
- Document controlling methods
30Conclusion
- Software engineering procedures and techniques do
not alone guarantee a successful project. - Good project manager can work around deficiencies
in a portion of the project. - Poor manager stumbles over any problem.
- Techniques shown can improve probability of
success with competent project manager.