INTRODUCTION:
Project management involves the planning,
monitoring, and control of the people, process, and
events that occur as –
software develops from a preliminary concept
to an operational implementation.
 A software engineer manages day-to-day activities,
planning, monitoring, and controlling technical tasks.
 Project managers plan, monitor, and control the
work of a team of software engineers.
 Senior managers coordinate the interface between
the business and the software professionals.
Understand the four P’s—
 People,
 Product,
 Process, and
 Project.
o You’re never completely sure that the project plan
is right until you’ve delivered a high-quality product
on
time and within budget.
o However, a project manager does it right when he
encourages software people to work together as an
effective team, focusing their attention on customer
needs and product quality.
The People:
The “people factor” is so important that the Software
Engineering Institute has developed a People
Management Capability Maturity Model (PM-CMM),
PM-CMM:
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.
People must be organized to perform software work
effectively.
Before a project can be planned-
 Product objectives and scope should be
established,
 Alternative solutions should be considered, and
 Technical and management constraints/
limitations should be identified.
 A process must be selected that is appropriate for
the people and the product.
 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.
In order to avoid project failure, a software project
manager and the software engineers who build the
product must-
 develop a commonsense approach for planning,
monitoring and controlling the project.
In order to manage a successful software project, they
must understand :
 what can go wrong (So that problems can be
avoided) and
 how to do it right
The project must be planned by estimating effort and
calendar time to accomplish work tasks.
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.
4. Customers who specify the requirements for the
software to be engineered and have interest in the
outcome.
5. End-users who interact with the software once it
is released for production use.
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
Jerry Weinberg suggests a MOI model of leadership:
 Motivation: The ability to encourage technical
people to produce to their best ability.
 Organization: The ability to modify existing
processes (or invent new ones) that will enable the initial
concept to be translated into a final product.
 Ideas or innovation: The ability to encourage people
to create and feel creative even when they must work
within bounds established for a particular software
product or application.
Mantei suggests three generic team organizations:
 Democratic decentralized (DD)
 Controlled decentralized (CD)
 Controlled Centralized (CC)
 This software engineering team has no permanent
leader.
 Task coordinators are appointed for short durations
and then replaced by others who may coordinate different
tasks.
 Decisions on problems and approach are made by
group consensus /agreement.
 Communication among team members is horizontal.
 This software engineering team has a defined leader
who coordinates specific tasks
 Secondary leaders that have responsibility for
subtasks.
 Problem solving remains a group activity, but
implementation of solutions is partitioned among
subgroups by the team leader
 Communication among subgroups and individuals is
horizontal.
 Vertical communication along the control hierarchy
also occurs.
 Top-level problem solving and internal team
coordination are managed by a team leader
 Communication between the leader and team
members is vertical.
To accomplish the work, mechanisms for formal and informal
communication among team members and between multiple
teams must be established.
 Formal Communication: It is accomplished through
“writing, structured meetings, and other relatively
noninteractive and impersonal communication channels”.
 Informal Communication: It is more personal. Members of
a software team share ideas on an ad hoc basis, ask for help as
problems arise, and interact with one another on a daily basis.

software management, project management,

  • 1.
    INTRODUCTION: Project management involvesthe planning, monitoring, and control of the people, process, and events that occur as – software develops from a preliminary concept to an operational implementation.
  • 2.
     A softwareengineer manages day-to-day activities, planning, monitoring, and controlling technical tasks.  Project managers plan, monitor, and control the work of a team of software engineers.  Senior managers coordinate the interface between the business and the software professionals.
  • 3.
    Understand the fourP’s—  People,  Product,  Process, and  Project.
  • 4.
    o You’re nevercompletely sure that the project plan is right until you’ve delivered a high-quality product on time and within budget. o However, a project manager does it right when he encourages software people to work together as an effective team, focusing their attention on customer needs and product quality.
  • 5.
    The People: The “peoplefactor” is so important that the Software Engineering Institute has developed a People Management Capability Maturity Model (PM-CMM),
  • 6.
    PM-CMM: The people managementmaturity 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. People must be organized to perform software work effectively.
  • 7.
    Before a projectcan be planned-  Product objectives and scope should be established,  Alternative solutions should be considered, and  Technical and management constraints/ limitations should be identified.
  • 8.
     A processmust be selected that is appropriate for the people and the product.  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.
  • 9.
    In order toavoid project failure, a software project manager and the software engineers who build the product must-  develop a commonsense approach for planning, monitoring and controlling the project.
  • 10.
    In order tomanage a successful software project, they must understand :  what can go wrong (So that problems can be avoided) and  how to do it right The project must be planned by estimating effort and calendar time to accomplish work tasks.
  • 11.
    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.
  • 12.
    3. Practitioners whodeliver the technical skills that are necessary to engineer a product or application. 4. Customers who specify the requirements for the software to be engineered and have interest in the outcome. 5. End-users who interact with the software once it is released for production use.
  • 13.
    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
  • 14.
    Jerry Weinberg suggestsa MOI model of leadership:  Motivation: The ability to encourage technical people to produce to their best ability.  Organization: The ability to modify existing processes (or invent new ones) that will enable the initial concept to be translated into a final product.  Ideas or innovation: The ability to encourage people to create and feel creative even when they must work within bounds established for a particular software product or application.
  • 15.
    Mantei suggests threegeneric team organizations:  Democratic decentralized (DD)  Controlled decentralized (CD)  Controlled Centralized (CC)
  • 16.
     This softwareengineering team has no permanent leader.  Task coordinators are appointed for short durations and then replaced by others who may coordinate different tasks.  Decisions on problems and approach are made by group consensus /agreement.  Communication among team members is horizontal.
  • 17.
     This softwareengineering team has a defined leader who coordinates specific tasks  Secondary leaders that have responsibility for subtasks.  Problem solving remains a group activity, but implementation of solutions is partitioned among subgroups by the team leader  Communication among subgroups and individuals is horizontal.  Vertical communication along the control hierarchy also occurs.
  • 18.
     Top-level problemsolving and internal team coordination are managed by a team leader  Communication between the leader and team members is vertical.
  • 19.
    To accomplish thework, mechanisms for formal and informal communication among team members and between multiple teams must be established.  Formal Communication: It is accomplished through “writing, structured meetings, and other relatively noninteractive and impersonal communication channels”.  Informal Communication: It is more personal. Members of a software team share ideas on an ad hoc basis, ask for help as problems arise, and interact with one another on a daily basis.