Top Banner
Software Project Management Page 1 LECTURE # 1 INTRODUCTION TO SOFTWARE PROJECT MANAGEMENT What is Management? Basically, the management involves the following activities: 1. Planning- deciding what is to be done 2. Organizing- making arrangements 3. Staffing- selecting the right people for the job 4. Directing- giving instructions 5. Monitoring- checking on progress 6. Controlling- taking action to remedy hold-ups 7. Innovating- coming up with new solutions 8. Representing- liaising with users, etc. What is a Project? A project is an activity with specific goals which takes place over a finite period of time. “A temporary organization that is needed to produce a unique and pre-defined outcome or result at a pre-specified time using pre-determined resources” Projects are often implemented as a means of achieving an organization’s strategic plan. Operations and projects differ primarily in that operations are ongoing and repetitive while projects are temporary and unique. A project can thus be defined in terms of its distinctive characteristicsa project is a temporary endeavor undertaken to create a unique product or service. Temporary means that every project has a definite beginning and a definite end. Unique means that the product or service is different in some distinguishing way from all other products or services. Projects are undertaken at all levels of the organization. They may involve a single person or many thousands. Their duration ranges from a few weeks to more than five years. Projects may involve a single unit of one organization or may cross organizational boundaries, as in joint ventures and partnering.
20

LECTURE # 1 INTRODUCTION TO SOFTWARE PROJECT MANAGEMENT · Software Project Management Page 1 LECTURE # 1 INTRODUCTION TO SOFTWARE PROJECT MANAGEMENT What is Management? Basically,

Apr 25, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: LECTURE # 1 INTRODUCTION TO SOFTWARE PROJECT MANAGEMENT · Software Project Management Page 1 LECTURE # 1 INTRODUCTION TO SOFTWARE PROJECT MANAGEMENT What is Management? Basically,

Software Project Management

Page 1

LECTURE # 1

INTRODUCTION TO SOFTWARE PROJECT MANAGEMENT

What is Management?

Basically, the management involves the following activities:

1. Planning- deciding what is to be done

2. Organizing- making arrangements

3. Staffing- selecting the right people for the job

4. Directing- giving instructions

5. Monitoring- checking on progress

6. Controlling- taking action to remedy hold-ups

7. Innovating- coming up with new solutions

8. Representing- liaising with users, etc.

What is a Project?

A project is an activity with specific goals which takes place over a finite period of time.

“A temporary organization that is needed to produce a unique and pre-defined outcome or

result at a pre-specified time using pre-determined resources”

Projects are often implemented as a means of achieving an organization’s strategic plan.

Operations and projects differ primarily in that operations are ongoing and repetitive while

projects are temporary and unique.

A project can thus be defined in terms of its distinctive characteristics—a project is a temporary

endeavor undertaken to create a unique product or service.

Temporary means that every project has a definite beginning and a definite end.

Unique means that the product or service is different in some distinguishing way from all other

products or services.

Projects are undertaken at all levels of the organization. They may involve a single person or

many thousands. Their duration ranges from a few weeks to more than five years. Projects may

involve a single unit of one organization or may cross organizational boundaries, as in joint

ventures and partnering.

Page 2: LECTURE # 1 INTRODUCTION TO SOFTWARE PROJECT MANAGEMENT · Software Project Management Page 1 LECTURE # 1 INTRODUCTION TO SOFTWARE PROJECT MANAGEMENT What is Management? Basically,

Software Project Management

Page 2

Examples of projects include:

Developing a new product or service.

Effecting a change in structure, staffing, or style of an organization.

Designing a new transportation vehicle.

Developing or acquiring a new or modified information system.

Constructing a building or facility.

Building a water system for a community in a developing country.

Running a campaign for political office.

Implementing a new business procedure or process.

What is Project Management?

Project management can be broadly defined as starting an activity to achieve some stated

goals using limited resources, budget, and time.

During the project, resources and budget are consumed in a limited span of time (Figure

1.1).

After the project is finished, the unconsumed resources and budget should be released.

Since each project is started for a customer, a fourth dimension in the project is also

added.

It is customer satisfaction. The customer must be satisfied with the goal achieved by the

project. This goal could be the creation of any product or service.

So we can see that there are inputs to the project in terms of resources, budget, and

allocated time duration, and the output of the project is the achieved goal.

A project must be initiated. To execute the project in a systematic manner, it is better to

have a project plan.

During project execution, some risks may arise, which may end up jeopardizing the

project plan and in fact the entire project.

Page 3: LECTURE # 1 INTRODUCTION TO SOFTWARE PROJECT MANAGEMENT · Software Project Management Page 1 LECTURE # 1 INTRODUCTION TO SOFTWARE PROJECT MANAGEMENT What is Management? Basically,

Software Project Management

Page 3

So we should have some controlling measures, which can be employed to tackle any risks

arising in the project successfully to avoid the project getting jeopardized. By the time

project execution ends, we must have a proper project closure so that we can end the

project. In Figure 1.2, you can see these project processes.

IT projects

Before moving to software projects, let us first discuss IT projects. But even before

discussing IT projects, let us understand IT and software and their differences.

IT is a field where an IT system refers to a complete system comprising many parts like

hardware systems, software systems, and any other components from some other fields.

A complete IT system can be used for any purpose like running a business, doing

research, use in robotics, use in automation systems, etc. For instance, a robot is mostly a

hardware device, but the information or instructions given to it to do some things are

done using a software system.

In other words, we can say that the brain of the robot is a software system and other parts

of the robot like its limbs and sensing devices attached to it are hardware parts (Figure

1.3).

Page 4: LECTURE # 1 INTRODUCTION TO SOFTWARE PROJECT MANAGEMENT · Software Project Management Page 1 LECTURE # 1 INTRODUCTION TO SOFTWARE PROJECT MANAGEMENT What is Management? Basically,

Software Project Management

Page 4

Generally, when we refer to IT, we mean the combination of software system and the

computer hardware in which the software system will be running. For example, a

business software application for doing transactions may be a complete IT system when

the software system is installed in the computer hardware system and is ready to be used

by end users.

Since software is being used in many new industries and we use more and more software

systems in our daily lives, it is now becoming part of most things we see or interact with.

Our gadgets of daily use (music systems, air conditioners, washing machines, etc.) now

have some sort of computer built into them.

In manufacturing industries, industrial robots have been used since the 1950s. Now these

robots are becoming sophisticated with more advanced software systems to control them.

More recently, the ubiquitous mobile phone handsets have been the major beneficiaries

of advancement in software system capabilities.

In fact, more than 40% of all spending on IT budgets now goes to the telecom sector

(mostly mobile and communication applications), which is a part of the IT industry

(Figure 1.4).

Page 5: LECTURE # 1 INTRODUCTION TO SOFTWARE PROJECT MANAGEMENT · Software Project Management Page 1 LECTURE # 1 INTRODUCTION TO SOFTWARE PROJECT MANAGEMENT What is Management? Basically,

Software Project Management

Page 5

So an IT project could be for setting up an enterprise-wide software system (along with

the hardware to run it) to get business intelligence capability, manage store operations, or

manage warehouses, etc.

Tasks involved in such a project could be building (developing) the software system,

buying the computer hardware to run it, installing the software in the computer hardware,

preparing the network of computers (if it is an enterprise-wide system), and finally

configuring the software system so that it can run on the network of computers.

What is Software Project?

A software development project on the other hand is making software design based on

customer requirements and implementing it into source code.

This source code is then tested to make sure that it is defect free so that end users can use

the software system without running into many problems.

In software maintenance project, an already existing software product is modified to

remove software defects, add new functionality, port the software product on some other

operating system, etc. Software development and software maintenance projects together

are referred to as software projects (Figure 1.5).

Page 6: LECTURE # 1 INTRODUCTION TO SOFTWARE PROJECT MANAGEMENT · Software Project Management Page 1 LECTURE # 1 INTRODUCTION TO SOFTWARE PROJECT MANAGEMENT What is Management? Basically,

Software Project Management

Page 6

What is Software Project Management?

Software projects demand not only general project management skills but also good soft-

ware engineering skills.

A goal of any software project management is to develop/maintain a software product by

applying good project management principles as well as software engineering principles

so that the software project is delivered at minimum cost, within minimum time, and with

good product quality.

Good project management principles will ensure good productivity. Good productivity in

turn will ensure that the project is delivered in minimum time at minimum cost.

Good software engineering principles will ensure good product quality. Even though how

software engineering principles are formulated may not be in the domain of software

project management, adopting those principles in their projects definitely comes under

the purview of the job of a software project manager.

For instance, a project manager responsible for managing a civil construction project

must have knowledge and experience in civil engineering. An electrical engineer

managing a civil project will not be a suitable fit. Similarly, a project manager

responsible for managing a software project must have knowledge and experience in

software engineering.

Page 7: LECTURE # 1 INTRODUCTION TO SOFTWARE PROJECT MANAGEMENT · Software Project Management Page 1 LECTURE # 1 INTRODUCTION TO SOFTWARE PROJECT MANAGEMENT What is Management? Basically,

Software Project Management

Page 7

Project management processes may include project initiation, project planning, project

monitoring and control, and finally project closure. The software engineering processes

may include requirement development, software design, software construction, software

testing, and software maintenance. These software engineering processes have to be

somehow accommodated in project management processes (see Figure 1.6).

In a nutshell, software project management can be defined as applying project

management and software engineering methods to develop/maintain a software product

so that the goal of developing/maintaining a software product can be achieved using

minimum possible resources and money and within the minimum time possible.

Page 8: LECTURE # 1 INTRODUCTION TO SOFTWARE PROJECT MANAGEMENT · Software Project Management Page 1 LECTURE # 1 INTRODUCTION TO SOFTWARE PROJECT MANAGEMENT What is Management? Basically,

Software Project Management

Page 8

PM’s nine Knowledge Areas:

1. Project Integration Management

Project Integration Management includes the processes required to ensure that the various

elements of the project are properly coordinated. It involves making tradeoffs among competing

objectives and alternatives to meet or exceed stakeholder needs.

These processes interact with each other and with the processes in the other knowledge areas as

well. Each process may involve effort from one or more individuals or groups of individuals,

based on the needs of the project. Each process generally occurs at least once in every project

phase.

Project integration management comes into play when a cost estimate is needed for a

contingency plan, or when risks associated with various staffing alternatives must be identified.

However, for a project to be completed successfully, integration must also occur in a number of

other areas as well.

For example:

The work of the project must be integrated with the ongoing operations of the performing

organization.

Product scope and project scope must be integrated.

One of the techniques used to both integrate the various processes and to measure the

performance of the project as it moves from initiation through to completion is Earned Value

Management (EVM).

Earned value is the amount of work completed, measured according to the budgeted

effort that the work was supposed to consume.

It is also called the budgeted cost of work performed.

As each task is completed, the number of person-months originally planned for that task

is added to the earned value of the project.

– Earned value charts: An earned value chart has three curves:

The budgeted cost of the work scheduled.

The earned value.

The actual cost of the work performed so far.

2. Project Scope Management

Project Scope Management includes the processes required to ensure that the project includes

all the work required, and only the work required, to complete the project successfully. It is

primarily concerned with defining and controlling what is or is not included in the project.

Page 9: LECTURE # 1 INTRODUCTION TO SOFTWARE PROJECT MANAGEMENT · Software Project Management Page 1 LECTURE # 1 INTRODUCTION TO SOFTWARE PROJECT MANAGEMENT What is Management? Basically,

Software Project Management

Page 9

The processes, tools, and techniques used to manage product scope vary by application area

and are usually defined as part of the project life cycle

A project generally results in a single product, but that product may include subsidiary

components, each with its own separate but interdependent product scopes. For example, a

new telephone system would generally include four subsidiary components—hardware,

software, training, and implementation.

Completion of the project scope is measured against the project plan, but completion of the

product scope is measured against the product requirements.

Both types of scope management must be well integrated to ensure that the work of the

project will result in delivery of the specified product.

3. Project Time Management

Project Time Management includes the processes required to ensure timely completion of the

project. The followings are major processes in developing the project time schedule:

a) Activity Definition—identifying the specific activities that must be performed to

produce the various project deliverables.

b) Activity Sequencing—identifying and documenting interactivity dependencies.

c) Activity Duration Estimating—estimating the number of work periods that will be

needed to complete individual activities.

d) Schedule Development—analyzing activity sequences, activity durations, and resource

requirements to create the project schedule.

e) Schedule Control—controlling changes to the project schedule.

These processes interact with each other and with the processes in the other knowledge areas as

well. Each process may involve effort from one or more individuals or groups of individuals,

based on the needs of the project. Each process generally occurs at least once in every project

phase.

4. Project Cost Management

Project Cost Management includes the processes required to ensure that the project is completed

within the approved budget.

Page 10: LECTURE # 1 INTRODUCTION TO SOFTWARE PROJECT MANAGEMENT · Software Project Management Page 1 LECTURE # 1 INTRODUCTION TO SOFTWARE PROJECT MANAGEMENT What is Management? Basically,

Software Project Management

Page 10

Resource Planning—determining what resources (people, equipment, materials) and what

quantities of each should be used to perform project activities.

Cost Estimating—developing an approximation (estimate) of the costs of the resources needed

to complete project activities.

Cost Budgeting—allocating the overall cost estimate to individual work activities.

Cost Control—controlling changes to the project budget.

These processes interact with each other and with the processes in the other knowledge areas as

well. Each process may involve effort from one or more individuals or groups of individuals,

based on the needs of the project. Each process generally occurs at least once in every project

phase.

5. Project Quality Management

Project Quality Management includes the processes required to ensure that the project will

satisfy the needs for which it was undertaken. It includes “all activities of the overall

management function that determine the quality policy, objectives, and responsibilities and

implements them by means such as quality planning, quality assurance, quality control, and

quality improvement, within the quality system.

These processes interact with each other and with the processes in the other knowledge areas as

well. Each process may involve effort from one or more individuals or groups of individuals,

based on the needs of the project. Each process generally occurs at least once in every project

phase.

Project quality management must address both the management of the project and the product of

the project. The generic term product is occasionally used, in literature regarding quality, to refer

to both goods and services.

6. Project Human Resource Management

Project Human Resource Management includes the processes required to make the most

effective use of the people involved with the project. It includes all the project stakeholders—

sponsors, customers, partners, and individual contributors Following are some major processes:

Organizational Planning—identifying, documenting, and assigning project roles,

responsibilities, and reporting relationships.

Staff Acquisition—getting the human resources needed assigned to and working on the

project.

Page 11: LECTURE # 1 INTRODUCTION TO SOFTWARE PROJECT MANAGEMENT · Software Project Management Page 1 LECTURE # 1 INTRODUCTION TO SOFTWARE PROJECT MANAGEMENT What is Management? Basically,

Software Project Management

Page 11

Team Development—developing individual and group competencies to enhance project

performance.

These processes interact with each other and with the processes in the other knowledge areas as

well. Each process may involve effort from one or more individuals or groups of individuals,

based on the needs of the project.

There is a substantial body of literature about dealing with people in an operational, ongoing

context. Some of the many topics include:

Leading, communicating, negotiating, etc.

Key General Management Skills:

Delegating, motivating, coaching, mentoring, and other subjects related to dealing with

individuals.

Team building, dealing with conflict, and other subjects related to dealing with groups.

Performance appraisal, recruitment, retention, labor relations, health and safety

regulations, and other subjects related to administering the human resource function.

Most of this material is directly applicable to leading and managing people on projects, and the

project manager and project management team should be familiar with it. However, they must

also be sensitive as to how this knowledge is applied on the project. For example: Project Human

Resource Management includes the processes required to make the most effective use of the

people involved with the project. It includes all the project stakeholders—sponsors, customers,

partners, and individual contributors.

Major processes include:

Organizational Planning—identifying, documenting, and assigning project roles,

responsibilities, and reporting relationships.

Staff Acquisition—getting the human resources needed assigned to and working on the

project.

Team Development—developing individual and group competencies to enhance project

performance.

These processes interact with each other and with the processes in the other knowledge areas as

well. Each process may involve effort from one or more individuals or groups of individuals,

based on the needs of the project.

Page 12: LECTURE # 1 INTRODUCTION TO SOFTWARE PROJECT MANAGEMENT · Software Project Management Page 1 LECTURE # 1 INTRODUCTION TO SOFTWARE PROJECT MANAGEMENT What is Management? Basically,

Software Project Management

Page 12

7. Project Communications Management

Project Communications Management includes the processes required to ensure timely and

appropriate generation, collection, dissemination, storage, and ultimate disposition of project

information. It provides the critical links among people, ideas, and information that are necessary

for success. Everyone involved in the project must be prepared to send and receive

communications, and must understand how the communications in which they are involved as

individuals affect the project as a whole.

Major processes include:

Communications Planning—determining the information and communications needs of

the stakeholders: who needs what information, when they will need it, and how it will be

given to them.

Information Distribution—making needed information available to project stakeholders

in a timely manner.

Performance Reporting—collecting and disseminating performance information. This

includes status reporting, progress measurement, and forecasting.

Administrative Closure—generating, gathering, and disseminating information to

formalize a phase or project completion.

These processes interact with each other and with the processes in the other knowledge areas as

well. Each process may involve effort from one or more individuals or groups of individuals,

based on the needs of the project. Each process generally occurs at least once in every project

phase. Communicating is a broader subject and involves a substantial body of knowledge

that is not unique to the project context. For example:

Sender-receiver models—feedback loops, barriers to communications, etc.

Choice of media—when to communicate in writing versus when to communicate orally,

when to write an informal memo versus when to write a formal report, etc.

Writing style—active versus passive voice, sentence structure, word choice, etc.

Presentation techniques—body language, design of visual aids, etc.

Meeting management techniques—preparing an agenda, dealing with conflict, etc.

8. Project Risk management

Page 13: LECTURE # 1 INTRODUCTION TO SOFTWARE PROJECT MANAGEMENT · Software Project Management Page 1 LECTURE # 1 INTRODUCTION TO SOFTWARE PROJECT MANAGEMENT What is Management? Basically,

Software Project Management

Page 13

Project Risk management is the systematic process of identifying, analyzing, and responding to

project risk. It includes maximizing the probability and consequences of positive events and

minimizing the probability and consequences of adverse events to project objectives.

Risk Management Planning—deciding how to approach and plan the risk management

activities for a project.

Risk Identification—determining which risks might affect the project and documenting

their characteristics.

Qualitative Risk Analysis—performing a qualitative analysis of risks and conditions to

prioritize their effects on project objectives.

Quantitative Risk Analysis—measuring the probability and consequences of risks and

estimating their implications for project objectives.

Risk Response Planning—developing procedures and techniques to enhance

opportunities and reduce threats to the project’s objectives.

Risk Monitoring and Control—monitoring residual risks, identifying new risks,

executing risk reduction plans, and evaluating their effectiveness throughout the project

life cycle.

These processes interact with each other and with the processes in the other knowledge areas.

Each process generally occurs at least once in every project.

9. Project Procurement Management

Project Procurement Management includes the processes required to acquire goods and services,

to attain project scope, from outside the performing organization. For simplicity, goods and

services, whether one or many, will generally be referred to as a product.

An overview of the major processes includes:

Procurement Planning—determining what to procure and when.

Solicitation Planning—documenting product requirements and identifying potential

sources.

Solicitation—obtaining quotations, bids, offers, or proposals, as appropriate.

Source Selection—choosing from among potential sellers.

Contract Administration—managing the relationship with the seller.

Page 14: LECTURE # 1 INTRODUCTION TO SOFTWARE PROJECT MANAGEMENT · Software Project Management Page 1 LECTURE # 1 INTRODUCTION TO SOFTWARE PROJECT MANAGEMENT What is Management? Basically,

Software Project Management

Page 14

Contract Closeout—completion and settlement of the contract, including resolution of

any open items.

These processes interact with each other and with the processes in the other knowledge areas as

well. Each process may involve effort from one or more individuals or groups of individuals,

based on the needs of the project.

Project Procurement Management is discussed from the perspective of the buyer in the buyer-

seller relationship. The buyer-seller relationship can exist at many levels on one project.

Depending on the application area, the seller may be called a subcontractor, a vendor, or a

supplier.

The seller will typically manage its work as a project. In such cases:

The buyer becomes the customer, and is thus a key stakeholder for the seller.

The seller’s project management team must be concerned with all the processes of project

management, not just with those of this knowledge area.

The terms and conditions of the contract become a key input to many of the seller’s

processes. The contract may actually contain the input (e.g., major deliverables, key

milestones, cost objectives), or it may limit the project team’s options (e.g., buyer

approval of staffing decisions is often required on design projects).

Comparing Projects and Operations

There is a distinct difference between projects and operations.

Operations are the day-to-day activities that your organization does. For example, a car

manufacturer makes cars. An airline flies people from one city to another. A help desk

supports technical solutions. Within each of these companies reside various departments

working on projects that enable operations to function.

A project at an automobile manufacturer might be to design a new sports car. The car

manufacturer’s operations involve manufacturing that design again and again.

Software creation is special. Imagine you have customers around the world who want you

to create a piece of software that helps them keep track of sports statistics. This is your

new business — you create sports stat software and you’re a gazillionaire.

Examining Project Constraints

A constraint is anything that restricts the project manager’s options.

Page 15: LECTURE # 1 INTRODUCTION TO SOFTWARE PROJECT MANAGEMENT · Software Project Management Page 1 LECTURE # 1 INTRODUCTION TO SOFTWARE PROJECT MANAGEMENT What is Management? Basically,

Software Project Management

Page 15

Constraints are requirements, confines, or, if you’re a glass-is-half-empty kind of person, prison

walls. Constraints can include _ Resource constraints such as a team member being assigned to

too many concurrent projects

Tight deadlines

Budgetary limitations

Government regulations

Limitations of software

Scope limitation, such as being required to use a particular existing interface

Hardware requirements

Anything else that restricts your options

Understanding Universal Constraints (Time, Cost, and Scope)

The three universal project constraints you will always face are

Time: Time constraints may range from a reasonable schedule to an impossibly short

timeframe that can’t budge because the product simply must be on shelves by September

15 (never mind that September 15 was last week).

Cost: Cost constraints are the usual budgetary restrictions that you expect. (“Here’s a

nickel. Make it happen.”)

Scope: Sometimes scope is a no-brainer (you’re working on the 700th

rev of Acme

Wizware to fix a bug). On the other hand, scope can be a bit trickier if you’re dealing

with an executive who isn’t sure what he wants.

Iron Triangle of project management

These three constraints make up what we affectionately refer to as the somewhat

inflexible-sounding nickname the Iron Triangle of project management.

Page 16: LECTURE # 1 INTRODUCTION TO SOFTWARE PROJECT MANAGEMENT · Software Project Management Page 1 LECTURE # 1 INTRODUCTION TO SOFTWARE PROJECT MANAGEMENT What is Management? Basically,

Software Project Management

Page 16

Even though your boss has changed the scope, you have to deliver more stuff within the

same amount of time and with the same amount of cash, as Figure depicts. You’ll need

more time, more money, or both for the triangle to remain equilateral.

Managing time constraints

Time constraints are simply deadlines.

You have a project to create a new piece of software within six months. Or there’s an

opportunity in the marketplace for a new application, but the window of opportunity is

small, so you have no time to waste.

Time can also be calculated as labor: Working or billable hours, processor speed,

database consistency, and even network latency issues can be used to estimate time

constraints.

Introducing the law of diminishing returns

Time is time. Don’t be fooled into thinking you can buy more time — no one can. You

can buy more labor if you think it will help your team do more work faster, but that’s not

the same thing as adding time to a project.

The law of diminishing returns dictates that adding labor doesn’t exponentially increase

productivity; in fact, at some point productivity can even go backwards.

For a real-life example of the law of diminishing returns, consider that you may have two

hardworking, experienced programmers working on a section of code. In your quest to

finish the project on time, you add one more programmer to the mix. Now the

Page 17: LECTURE # 1 INTRODUCTION TO SOFTWARE PROJECT MANAGEMENT · Software Project Management Page 1 LECTURE # 1 INTRODUCTION TO SOFTWARE PROJECT MANAGEMENT What is Management? Basically,

Software Project Management

Page 17

programmers may be completing the code more quickly, and you’re so excited that you

decide to add six more programmers so that you can finish even sooner.

You soon realize that although adding one programmer increased your productivity,

adding six more only created chaos, with programmers stepping on each other’s toes,

inadvertently neutralizing each other’s code, and creating a contentious environment.

You reached the point of diminishing returns when you added six programmers

Managing cost constraints

Cost constraints are easy to identify because they deal with cash money.

Well, it’s not always cash, but you get the idea; the miniscule funds in your project

budget to complete the project work create a unique constraint. Your costs include

computers and languages to code in, labor, and anything else you need to buy in order to

get the job done.

Projects almost always cost somebody something. Be sure to factor in hidden costs for

labor, resources, computers, pizza, celebrations, training, bribes, and more.

Managing the scope

The third part of the Iron Triangle is the scope. There are two scopes within project management:

Product scope: The product scope describes, lists, and categorizes all the features and

components of the finished deliverable. This is what the customers see in their minds’

eye.

Project scope: This is where you focus. The project scope is all the required work, and

only the required work, to create the project deliverable.

The project scope focuses on work, activities, and progress to achieve the product scope. The

project scope must be protected from unapproved changes because it dictates what the project

team will do and what the end result of the project will be.

Controlling Scope Creep

Changes to the project scope can affect cost and time constraints, melting your Iron

Triangle. The Iron Triangle is a key tool in project management and is ideal for

negotiations with stakeholders.

Page 18: LECTURE # 1 INTRODUCTION TO SOFTWARE PROJECT MANAGEMENT · Software Project Management Page 1 LECTURE # 1 INTRODUCTION TO SOFTWARE PROJECT MANAGEMENT What is Management? Basically,

Software Project Management

Page 18

For example, if your stakeholder insists on adding software functionality to your project

scope, you can use the Iron Triangle as a tool to explain that when you increase one side

of the triangle (the scope side) the triangle is no longer in balance.

To change the scope, you must change the cost or the schedule (or both) to keep the

triangle balanced.

Unplanned changes to the project scope, sometimes called scope creep, are the little

extras that expand the scope without reflecting the changes in the cost and time baselines.

The reason scope creep is so poisonous is because it can happen so easily, and so

innocently. And yet, it can be so deadly.

When the scope goes off track, time and funds are stolen from the original baselines. It’s

not as if extra money and time are magically added to the project to handle all the little

extras.

Balancing the three sides of the triangle ensures a high-quality final product.

Changes to the project scope should be controlled and managed through a change control

system, which you can find out more about in later lectures.

In essence, a change control system accommodates a process for documenting requested

changes and requires obtaining appropriate approval for all requested project changes.

The key is to avoid changes that are not directly approved or requested by the customer.

Making Sense of Project Success (Or Failure)

Most projects start with an optimistic attitude about creating a deliverable, keeping the customer

happy, and making this the best software project ever.

And then things (bad things) happen. The good projects end on time and as planned. We’d wager

that these projects have three things in common:

Page 19: LECTURE # 1 INTRODUCTION TO SOFTWARE PROJECT MANAGEMENT · Software Project Management Page 1 LECTURE # 1 INTRODUCTION TO SOFTWARE PROJECT MANAGEMENT What is Management? Basically,

Software Project Management

Page 19

A leader who knows what he or she is doing

A tight change control system

Team members who understand what the project is supposed to deliver and can therefore

get results

Commonly, projects limp to the finish line, late, over budget, and after crushing the morale of

everyone involved. Done, but maybe not done well. These projects typically have three

attributes:

Poor requirements from the project customers

Poor communications through the project manager

Poor morale from the project team

The saddest of projects are the ones that never make it to the finish. This bunch misses deadlines,

blows budgets, or experiences a radical change of scope so often that no one (not even the PM)

knows exactly what the project should be creating anymore. Failed projects usually have some, if

not all, of these attributes:

No clear vision of what the project priorities are

Lack of leadership from the project manager and/or sponsor

A timid project manager

Lack of autonomy for the project manager

New resumes being typed in unison

Starting and Finishing Software Projects

Five process groups as defined by the Project Management Institute.

Initiating: That’s really where you are now. The project is in the process of getting

selected, sponsored, funded, and launched.

Page 20: LECTURE # 1 INTRODUCTION TO SOFTWARE PROJECT MANAGEMENT · Software Project Management Page 1 LECTURE # 1 INTRODUCTION TO SOFTWARE PROJECT MANAGEMENT What is Management? Basically,

Software Project Management

Page 20

Planning: As you can see in Figure above, planning is an iterative process. Planning

basically determines how the project work will get accomplished.

Executing: After you get a plan, your project team does the work.

Controlling: Your project team does the work, but you control them.

Closing: Ah, paradise. After the project work has been completed, you tie up loose ends

and close out the software project.