ZeePedia Add to Favourites   |   Contact us


Software Project Management

<<< Previous Software Process, PM Process Groups, Links, PM Phase interactions Next >>>
 
img
Software Project Management (CS615)
Figure 1: Quality Assurance
LECTURE # 20
3. Processes
3.1
Software Process
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.
It provides stability, control, and organization to an activity that can, if left
uncontrolled, become quite chaotic.
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 number of software process assessment mechanisms enable organizations to
determine the "maturity" of a software process. However, the quality, timeliness
and long-term viability of the product you build are the best indicators of the
efficacy of the process that you use.
A common process framework is established by defining a small number of
framework activities that are applicable to all software projects, regardless of their
size or complexity. A number of task sets-each a collection of software
engineering work tasks, project 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 through- out the process.
128
img
Software Project Management (CS615)
Common process
Framework activities
Tasks
Tasks
Milestones,
SQA points
Figure 1: The software Process
Software Process Vs Software Engineering
But what exactly is a software process from a technical point of view? A software
process is a framework for the tasks that are required to build high-quality
software. Is process synonymous with software engineering? The answer is "yes"
and "no." A software process defines the approach that is taken as software is
engineered. But software engineering also encompasses technologies that
populate the process-technical methods and automated tools.
More important, software engineering is performed by creative, knowledgeable
people who should work within a defined and mature software process that is
appropriate for the products they build, and the demands of their marketplace.
Software Engineering
Software engineering is a layered technology. Referring to Figure 2, any
engineering approach (including software engineering) must rest on an
organizational commitment to quality. Total quality management and similar
philosophies foster a continuous process improvement culture, and this culture
ultimately leads to the development of increasingly more mature approaches to
129
img
Software Project Management (CS615)
software engineering. The bedrock that supports software engineering is a quality
focus.
Figure 2: Software engineering layers
Process
A quality focus
Tools
Metho
The foundation for software engineering is the process layer. Software
engineering process is the glue that holds the technology layers together and
enables rational and timely development of computer software. Process defines a
framework for a set of key process areas that must be established for effective
delivery of software engineering technology.
The key process areas form the basis for management control of software projects
and establish the context in which technical methods are applied, work products
(models, documents, data, reports, forms, etc.) are produced, milestones are
established, quality is ensured, and change is properly managed.
Software engineering methods provide the technical how-to's for building
software. Methods encompass a broad array of tasks that include requirements
analysis, design, program construction testing and support. Software engineering
methods rely on a set of basic principles that govern each area of the technology
and include modeling and other descriptive techniques.
Software engineering tools provide automated or semi-automated support for the
process and the methods. When tools are integrated so that information created by
one tool can be used by another, a stem for the support of software development
called computer-aided software engineering, is established. CASE combines
software, hardware, and a software engineering database (a repository containing
important information about analysis, design, program construction and testing) to
create software engineering environment analogous to CAD/CAE (computer-
aided design engineering) for hardware.
130
img
Software Project Management (CS615)
3.2
PM Process Groups
Project management processes can be organized into five groups of one or more
processes each:
1. Initiating processes--authorizing the project or phase
2. Planning processes--defining and refining objectives and selecting the best
of the alternative courses of action to attain the objectives that the project
was undertaken to address
3. Executing processes--coordinating people and other resources to carry out
the plan
4. Controlling processes--ensuring that project objectives are met by
monitoring and measuring progress regularly to identify variances from plan
so that corrective action can be taken when necessary
5. Closing processes--formalizing acceptance of the project or phase and
bringing it to an orderly end
Each process is described by:
­
Inputs
­
Tools & Techniques
­
Outputs
3.3
PM Process Links
The process groups are linked by the results they produce--the result or out-
come of one often becomes an input to another.
Among the central process groups, the links are iterated--planning provides
executing with a documented project plan early on, and then provides documented
updates to the plan as the project progresses. These connections are illustrated in
Figure 3.
The project management process groups are not discrete, one-time events; they
are overlapping activities that occur at varying levels of intensity throughout each
phase of the project. These process groups overlap and vary within a phase.
Figure 4 illustrates how the process groups overlap and vary within a phase.
3.4
PM Phase interactions
131
img
Software Project Management (CS615)
Finally, the process group interactions also cross phases such that closing one
phase provides an input to initiating the next. For example, closing a design phase
requires customer acceptance of the design document. Simultaneously, the design
document defines the product description for the ensuing implementation phase.
This interaction is illustrated in Figure 5. Repeating the initiation processes at the
start of each phase helps to keep the project focused on the business need that it
was undertaken to address. It should also help ensure that the project is halted if
the business need no longer exists, or if the project is unlikely to satisfy that need.
It is important to note that the actual inputs and outputs of the processes depend
upon the phase in which they are carried out. Although Figure 5 is drawn with
discrete phases and discrete processes, in an actual project there will be many
overlaps. The planning process, for example, must not only provide details of the
work to be done to bring the current phase of the project to successful completion,
but must also provide some preliminary description of work to be done in later
phases. This progressive detailing of the project plan is often called rolling wave
planning; indicating that planning is an iterative and ongoing process.
Involving stakeholders in the project phases generally improves the probability of
satisfying customer requirements and realizes the buy-in or shared ownership of
the project by the stakeholders, which is often critical to project
success.
Initiating
Planning
Processes
Processes
Controlling
Executing
Processes
Processes
Closing
Processes
Figure 3: Links among Process Groups in a phase
132
img
Software Project Management (CS615)
Executing
Processes
Planning
Processes
Initiating
Closing Processes
Processes
Controlling
Processes
Phase
Phase
Start
Finish
Figure 4: Overlap of Process Groups in a Phase
Design Phase
Implementation Phase
Initiating
Planning
Initiating
Planning
Controlling
Controlling
Executing
Executing
Closing
Closing
Figure 5: Interaction between phases
133
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