ZeePedia buy college essays online


Software Project Management

<<< Previous Goals of Project management Next >>>
 
img
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
6
img
Software Project Management (CS615)
·
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.
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.
5.
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.
6.
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.
7
img
Software Project Management (CS615)
·
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,
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.
8
img
Software Project Management (CS615)
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 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 that 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
9
img
Software Project Management (CS615)
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
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.
10
Table of Contents:
  1. Introduction & Fundamentals
  2. Goals of Project management
  3. Project Dimensions, Software Development Lifecycle
  4. Cost Management, Project vs. Program Management, Project Success
  5. Project Management’s nine Knowledge Areas
  6. Team leader, Project Organization, Organizational structure
  7. Project Execution Fundamentals Tracking
  8. Organizational Issues and Project Management
  9. Managing Processes: Project Plan, Managing Quality, Project Execution, Project Initiation
  10. Project Execution: Product Implementation, Project Closedown
  11. Problems in Software Projects, Process- related Problems
  12. Product-related Problems, Technology-related problems
  13. Requirements Management, Requirements analysis
  14. Requirements Elicitation for Software
  15. The Software Requirements Specification
  16. Attributes of Software Design, Key Features of Design
  17. Software Configuration Management Vs Software Maintenance
  18. Quality Assurance Management, Quality Factors
  19. Software Quality Assurance Activities
  20. Software Process, PM Process Groups, Links, PM Phase interactions
  21. Initiating Process: Inputs, Outputs, Tools and Techniques
  22. Planning Process Tasks, Executing Process Tasks, Controlling Process Tasks
  23. Project Planning Objectives, Primary Planning Steps
  24. Tools and Techniques for SDP, Outputs from SDP, SDP Execution
  25. PLANNING: Elements of SDP
  26. Life cycle Models: Spiral Model, Statement of Requirement, Data Item Descriptions
  27. Organizational Systems
  28. ORGANIZATIONAL PLANNING, Organizational Management Tools
  29. Estimation - Concepts
  30. Decomposition Techniques, Estimation – Tools
  31. Estimation – Tools
  32. Work Breakdown Structure
  33. WBS- A Mandatory Management Tool
  34. Characteristics of a High-Quality WBS
  35. Work Breakdown Structure (WBS)
  36. WBS- Major Steps, WBS Implementation, high level WBS tasks
  37. Schedule: Scheduling Fundamentals
  38. Scheduling Tools: GANTT CHARTS, PERT, CPM
  39. Risk and Change Management: Risk Management Concepts
  40. Risk & Change Management Concepts
  41. Risk Management Process
  42. Quality Concept, Producing quality software, Quality Control
  43. Managing Tasks in Microsoft Project 2000
  44. Commissioning & Migration