0% found this document useful (0 votes)
27 views

CS 615 2

The document outlines the fundamentals of software project management, emphasizing the importance of defining and achieving project goals while optimizing resources. It discusses key project characteristics such as being temporary, unique, and time-constrained, and introduces the four dimensions of project management: people, product, process, and project. The text highlights the significance of effective team organization and communication in achieving successful software development outcomes.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
27 views

CS 615 2

The document outlines the fundamentals of software project management, emphasizing the importance of defining and achieving project goals while optimizing resources. It discusses key project characteristics such as being temporary, unique, and time-constrained, and introduces the four dimensions of project management: people, product, process, and project. The text highlights the significance of effective team organization and communication in achieving successful software development outcomes.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

Software Project Management (CS615)

LECTURE # 2

1. Introduction & Fundamentals

1.5 Goals of Project management

Project management is the discipline of defining and achieving a set of goals


while optimizing the use of allocated resources (time, money, people, space,
etc). This includes planning, scheduling and maintaining progress of the
activities that comprise the project. Project management is normally reserved for
focused, non-repetitive, time- limited activities with some degree of risk and that
are beyond the usual scope of program (operational) activities for which the
organization is responsible.

Project management software describes the tools to efficiently coordinate and


automate the various project management component processes. Project
management software generally offers extensive reporting features, such as day-
to-day status updates of project progress, scheduling and dependency trees, and
system- generated alerts when schedules slip beyond pre-set tolerances. Most
project management tools include web-accessible interfaces so that employees
can access features of the software relevant to their needs, and functionality to
allow managers to share resource pools without overbooking.

1.6 Project Characteristics

1. Temporary
Temporary means that every project has a definite beginning and a definite end.
The end is reached when the project’s objectives have been achieved, or it
becomes clear that the project objectives will not or cannot be met, or the need for
the project no longer exists and the project is terminated. Temporary does not
necessarily mean short in duration; many projects last for several years. In every
case, however, the duration of a project is finite; projects are not ongoing efforts.

2. Unique, Product Service or Result


Projects involve creating something that has not been done in exactly the same
way before and which is, therefore, unique and distinct. Projects create:

• A product or artifact that is produced, is quantifiable and can be either an


end item in itself or a component item
• A capability to perform a service, such as business functions supporting
production or distribution
• A result, such as new knowledge. For example, a research and
development project develops knowledge that can be used to determine
whether or not a trend is present or a new process will benefit society.

1
© Copyright Virtual University of Pakistan
Software Project Management (CS615)

The presence of repetitive elements does not change the fundamental uniqueness
of the project work. For example:

• A project to develop a new commercial airliner may require multiple


proto-types.
• A project to bring a new drug to market may require thousands of doses of
the drug to support clinical trials.
• A real estate development project may include hundreds of individual
units.
• A development project (e.g., water and sanitation) may be implemented in
five geographic areas.

3. Aims/Tasks/Purpose
The projects are designed to achieve specific targets defined in terms of aims,
tasks or a purpose. The nature and size of the project depends upon
complexity of the task, realization of the aims and scope of the purpose any
organization wants to achieve. In short project has to be aimed for achieving
certain tasks in a given time frame.

4. Limited Time Scale


The projects are always designed considering time constraints. Extension to
the project completion dead lines are always discouraged as time overrun,
costs extra and in some cases opportunity cost for not completing a project is
too high.

1.7 Four Project Dimensions

Software project management is an umbrella activity within software engineering.


It begins before any technical activity is initiated and continues throughout the
definition, development, and support of computer software.

Four P's have a substantial influence on software project management- people,


product, process, and project.

• People must be organized into effective teams , motivated to do high-quality


software work, and coordinated to achieve effective communication.
• The product requirements must be communicated from customer to
developer, partitioned (decomposed) into their constituent parts, and
positioned for work by the software team.
• The process must be adapted to the people and the problem. A common
process framework is selected, an appropriate software engineering paradigm
is applied, and a set of work tasks is chosen to get the job done.
• The project must be organized in a manner that enables the software team to
succeed.

Effective software project management focuses on the four P’s: people, product,
2
© Copyright Virtual University of Pakistan
Software Project Management (CS615)

process, and project. The order is not arbitrary. The manager who forgets that
software engineering work is an intensely human endeavor will never have
Success in project management. A manager who fails to encourage
comprehensive customer communication early in the evolution of a project risks
building an elegant solution for the wrong problem. The manager who pays little
attention to the process runs the risk of inserting competent technical methods and
tools into a vacuum. The manager who embarks without a solid project plan
jeopardizes the success of the product.

⇒ People

In a study published by the IEEE, the engineering vice presidents of three


major technology companies were asked the most important contributor to a
successful software project. They answered in the following way:

VP 1: I guess if you had to pick one thing out that is most important in our
environment. I’d say it’s not the tools that we use, it ’s the people.
VP 2: The most important ingredient that was successful on this project was
having smart people…very little else matters in my opinion....The most
important thing you do for a project is selecting the staff...The success of the
software development organization is very, very much associated with the
ability to recruit good people.
VP 3: The only rule I have in management is to ensure I have good people –
real good people-and that I grow good people – and that I provide an
environment in which good people can produce.

Indeed, this is a compelling testimonial on the importance of people in the


software engineering process. And yet, all of us, from senior engineering vice
presidents to the lowliest practitioner, often take people for granted. Managers
argue (as the preceding group had) that people are primary, but their actions
sometimes belie their words. In this section we examine the players who
participate in the software process and the manner in which they are organized
to perform effective software engineering.

1. The Players

The software process (and every software project) is populated by players


who can be categorized into one of five constituencies:

1. Senior managers who define the business issues that often have
significant influence on the project.
2. Project (technical) managers who must plan, motivate, organize,
and control the practitioners who do software work.
3. Practitioners who deliver the technical skills that are necessary to
engineer a product or application.

3
© Copyright Virtual University of Pakistan
Software Project Management (CS615)

4. Customers who specify the requirements for the software to be


engineered and other stakeholders who have a peripheral interest in
the outcome.
2. End-users

Who interact with the software once it is released for production use.
Every software project is populated by people who fall within this
taxonomy. To be effective, the project team must be organized in a way
that maximizes each person’s skills and abilities. And that’s the job of the
team leader.

3. Team Leaders

Project management is a people- intensive activity, and for this reason,


competent practitioners often make poor team leaders. They simply don’t
have the right mix of people skills. And yet, as Edgemon states:
“unfortunately and all too frequently it seems, individuals just fall into a
project manager role and become accidental project managers.” [EDG95].

The cultivation of motivated, highly skilled software people has been


discussed since the 1960s (e.g., [COUBO] [WIT94} [DEM9B]). In fact,
the “people factor’ is so important tha t the Software Engineering Institute
has developed a people management capability maturity model (PM-
CMM), “to enhance the readiness of software organizations to undertake
increasingly complex applications by helping to attract, grow, motivate,
deploy, and retain the talent needed to improve their software
development capability” [CUR94].

The people management maturity model defines the following key


practice areas for software people: recruiting, selection, performance
management, training, compensation, career development, organization
and work design, and team/culture development. Organizations that
achieve high levels of maturity in the people management area have a
higher likelihood of implementing effective software engineering
practices.

The PM-CMM is a companion to the software capability maturity model


that guides organizations in the creation of a mature software process.

⇒ The Process

In a fascinating book that provides an economist’s view of software and


software engineering, Howard Baetjer. Jr, comments on the software process:

Software development is a social learning process. The process is a dialogue


in which the knowledge that must become the software is brought together and

4
© Copyright Virtual University of Pakistan
Software Project Management (CS615)

embodied in the software. The process provides interaction between users and
designers: between users and evolving tools, and between designers and
evolving tools [technology] It is an iterative process in which the evolving tool
itself serves as the medium for communication, with each new round of the
dialogue eliciting more useful knowledge from the people involved.

When you build a product or system, it’s important to go through a series of


predictable steps – a road map that helps you create a timely, high-quality
result, The road map that you follow is called a ‘software process’ .

Software engineers and their managers adapt the process to their needs and
then follow it. In addition, the people who have ties defined by the process
requested the software play a role in the software process.

At a detailed level, the process that you adopt depends on the software you’re
building. One process might be appropriate for creating software for an
aircraft avionics system, while an entirely different process would be
indicated for the creation of a web site.

From the point of view of a software engineer, the work products are the
programs, documents and data produces as a consequence of the software
engineering activities defined by the process.

A software process provides the framework from which a comprehensive plan


for software development can be established.

A small number of framework activities are applicable to all software projects,


regardless of their size or complexity.

A number of different task sets-tasks, milestones, work products and; quality


assurance points-enable the framework activities to be adapted to the
characteristics of the software project and the requirements of the project
team.

Finally, umbrella activities – such as software quality assurance, software


configuration management, and measurement – overlay the process model.
Umbrella activities are independent of anyone framework activity and occur
throughout the process.

5
© Copyright Virtual University of Pakistan

You might also like