Software Project Quality Management-Material
Software Project Quality Management-Material
Software Project Quality Management-Material
PROJECT:
PROJECT ATTRIBUTES:
As you can see, projects come in all shapes and sizes. The following
attributes help to define a project further;
Every project is constrained in differend way by its scope, time, and cost
goals. These limitations are sometimes refered to in project management as the
tripleconstraint. To create a successful project, a project manager must consider
scope, time, and cost and balance these three often competing goals. He or she
must consider the following:
Scope: What work will be done as part of the project? What unique ptoduct,
service, or result does the customer or sponsor expect from the project? How
will the scope be verified?
Time: How long should it take to complete the pfoject? What is the project’s
schedule? How will the team track actual schedule performance?
Cost: What should it cost to complete the project? What is the project’s
budget? How will costs be tracked? Who can authorize changes to the
budget?
(Successful project management means meeting all three goals and satisfying the
project’s sponsor)
PROJECT MANAGEMENT:
The four core knowledge areas of project management include project scope,
time, cost, and quality management. These are core knowledge areas because they
lead to specific project objectives. Brief Descriptions of each core knowledge area
are as follows:
Project scope management involves defining and managing all the work
required to complete the project successfully.
Project time management includes estimating how long it will take to
complere the work, development an acceptable project schedule, and
ensuring timelu completion of the project.
Project cost management consists of prepating and managing the budget for
the project.
Project quality management ensures that the project will satisfy the stated of
implied needs for which it was undertaken.
Integration management :
Scope management:
Cost management:
Net present value, return on investment, payback analysis, earned value
management, project portfolio management, cost management plans
Time management:
Communication management:
Risk management:
Procurement management:
We already known that project managers must work closely with the other
stakeholders on a project especially the sponsor and project team. They also are
more effective if the are familiar with the nine project management knowledge
areas and the various tools and techniques related to project management.
Experienced project managers help projects succeed.
Project managers need to have a wide variety of skills and be able to decide
which particular skills are more important in different situations. As you can
imagine good project managers should have many skills. The project management
body of knowledge suggests that the project management team understand and use
expertise in the following areas:
Project managers shoukd also possess general management knowledge and skills.
They should understand important topics related to financial management,
accounting, procurement, sales, marketing, contracts, manufacturing, distribution,
logistics, the supply chain, strategic planning, tactical planning, operations
management, organizational structures and behavior, personnel administration,
compensation, benefits, career paths, and health safty practices. Even so the project
manager must be intelligent and experienced enough to know which of these areas
are most important and who is qualified to do the work. He or she must also make
and or take responsibility for all key project decisions.
PROJECT MANAGEMENT PROFESSION:
Many people still use basic productivity software, such as Microsoft word or
Excel, to perform many project management functions, such as determining project
scope, time, and cost, assigning resources, preparing project documentation, and so
on. People often use productivity software instead of specialized project
management software because they already have it and how to use it. How ever,
there are hundreds of project management software tools can be divided into three
general categories based on functionality and price
SYSTEM VIEW OF PROJECT MANAGEMENT
System approach:
System philosophy
System analysis
System management
System philosophy:
System analysis:
System management:
STAKEHOLDER MANAGEMENT
Internal stakeholders generally include the project sponsor, project team, support
staff, and internal customers for the project. Other internal stakeholders include top
management, other functional managers, and other project managers.
PROCESS MODELS
Prescriptive model
There are no easy answers to these questions, but ther are alternatives
available to software engineers. In the sections that follow, I examine the
prescriptive process approach in which order and project consistency are dominant
issues. They call them “prescriptive” because they prescribe a set of process
elements frame work activities, tasks, work products,, quality assurance, and
change control mechanisms for each project. Each process model also prescribes
a process flow – that is, the manner in which the peocess elements are
interrelated to one another.
The waterfall model, sometimes called the classic life cycle, suggests a
systematic, sequential approach to software development that begins with customer
specification of requirements and progress through planning, modeling,
construction, and deployment, culminating in ongoing support of the completed
software
Communication
Planning
Modeling
Analysis design
Construction
Code test
Deployment
1. Real projects rarely follow the sequential flow that the model proposes.
Although the linear model can accommodate iteration, it does so indirectly.
As a result, changes can cause confusion as the project team proceeds.
2. It is often difficult for the customer to state all requirements explicitly. The
waterfall model requires this and has difficulty accommodating the natural
uncertainty that exists at the beginning of themany projects.
3. The customer must have patience. A working version of the program will
not be available until the working program is reviewed, can be disastrous.
INCREMENTAL MODEL
When incremental model is used, the first increment is often a core product.
That is, basic requirements are addressed but many supplementary features remain
undelivered. The core product is used by the customer.
EVOLUTIONARY MODEL
Software, like all complex systems, evolves over a period of time. Business
and product requirements often change as development proceeds, making a straight
line path to an end product unrealistic: tight market deadlines make completion if a
comprehensive software product impossible, but a limited version must be
introduced to meet competitive or business pressure: a set of core product or
system requirements is well understood, but the details of product or system
extensions have yet to ne defined. In these and similar situations, you need a
process model that has been explicitly designed to accommodate a product that
evolves over time.
The most widely used of all agile process model is exreme programming. But
many other agile process models nave been proposed and are in use across the
industry. Among the most common are:
Be agile
Focus on quality at every step
Be ready ti adapt
Build an effective team
Manage change
Asses risk
Create work products that provide value for others
Communication principles
Planning principles
Modeling principles
Construction principles
Deployment principles
UNIT-3
After identifying strategic goals, the next step in the planning process for
selecting information technology projects is to perform a business area analysis,
this analysis outlines business process that are central to achieving strategic goals
and helps determine which ones could most benefits from information technology.
The next step is to start defining potential information technological projects, their
scope, benefits and constraints. The last step in the planning process for selecting
information technology project is choosing which project to do and assigning for
working on them.
Top managers must focus on meeting their organization’s many needs when
deciding what projects to undertake, when to undertake them, and to what level.
Project that address broad organizational needs are much more likely to be
successful because they will be important to the organization. However, it is often
difficult to provide a strong justification for many information technology projects
releated to these broad organizational needs.
Project execution
1. Influencing the factors that create changes to ensure that changes are
beneficial
2. Determining that a change has occurred
3. Managing actual changes as they occur
Important inputs to the integrated change control process include the project
management plan, work information, request changes, recommended preventive
and corrective actions, recommended defect repair, and deliverables. Important
outputs include approved and rejected change requested,and updates to the project
management plan and project scope statement.
1. Scope planning
2. Scope definition
3. Creating the WBS
4. Scope verification
5. Scope control
The first step in project scope management is scope planning. The project’s
size, complexity, importance, and other factors will affect how much effort is spent
on scope planning. The scope management plan must be in the following form,
The main out put of scope definition is the project scope statement. The
project team develops a preliminary scope statement in initiating a project as part if
the project integration management knowledge area. This document , as well as the
project charter, organizational process assets, and approved change requests
provide a basis for creating the project scope statement. The preliminary project
scope statement should provide basic scope information, and the project scope
statement should continue to clarify and provide information that is more specific.
CREATING THE WORK BREAKDOWN STRUCTURE
After completing scope planning and definition processes, the next step in
project management is to create a work breakdown structure. A work breakdown
structure is a deliverable- oriented grouping of the work involved in a project that
defines the total scope of the project. Because most projects involve many people
and many different deliverables, in is important to organize and divide the work
into logical parts based on how the work will be performed. The WBS is a
foundation document in project management because it provides the basis for
planning and managing project schedules, costs, resources, and changes.
Since the WBS defines the total scope of the project, some project
management experts believe that work should not be done on a project if it is not
included in the WBS. Therefore, it is crucial to develop a good WBS.
UNIT-4
Part of the reason schedule problems are so common is that time is easily
simply measured. Achieving timely completion of a project however, is by no
means simple. There are six main process involved in project time management:
1. Activity definition involves identifying the specific activities that the project
team members and stakeholders must perform to produce the project
deliverables.
2. Activity sequencing involves identifying and documenting the relationship
between project activities.
3. Activity resource estimating involves estimating how many resources-
people, equipment, and meterials –a project team should use to perform
project activities.
4. Activity duration estimating involves estimating the number of work periods
are needed to complete individual activities.
5. Schedule development involve analyzing activity sequences, activity
resource estimates, and activity duration estimates to creat the project
schedule.
6. Schedule control involves controlling and managing changes to the project
schedule.
Activity definition:
Activity sequencing
After defining project activities, the next step in project time management is
activity sequencing. Activity sequencing involves reviewing the activity list and
attributes project scope statement, milestone list, and approved change request to
determine the relationship between activities. It also involves evaluating the
reasons for dependencies and the different types of attributes.
Dependencies
There are four types of dependencies can occur among project activities:
Finish-to-start
Start-to-start
Finish-tofinish
Start-to-finish
Schedule development
Schedule development uses the results of all the preceding project time
management processes to determine the start and end dates of the project. There
are often several iterations of all the project time management processes before a
project schedule is finalized. The monitoring project progress for the time
dimension of the project. The main outputs of this process are project schedule,
schedule model data and the project management plan.
A Gantt chart
Critical path analysis
Critical chain scheduling
PERT analysis
Gantt charts:
Many project fail to meet schedule expectations. Critical path method also
Called critical path analysis, it is a network diagramming technique used to predict
total project duration.
PERT analysis:
Cost estimating
Cost budgeting
Cost control
Cost estimating
Project managers must take cost seriously if they want to complete projects
within budgets constraints. After developing a food resource requirements list,
project teams must develop several estimates of the costs for these resources.
Project managers normally prepared several type of cost estimates for most
projects. Three basic types of estimates include the following
The above three types are clearly explained bellow for, when it done? Why it
done? And how accurate?
Very early in the Provides estimate
Rough order of project life cycle, of cost for
magnitude often 3-5 years selection decisions -50% to +100%
before project
completion
Provides details
Definitive Later in the project for purchases, -5 to +10%
less than 1year out estimates actual
costs
UNIT-5
QUALITY MANAGEMENT
1. Quality planning
2. Quality assurance
3. Quality control
Quality planning
Quality control
Many people only think of quality control when they think of quality
management. Perhaps it is because there are many popular tools and techniques in
these area. Before describing some of these tools and techniques, it is important to
distinguish quality control from quality planning and quality assurance.
Quality control includes many general tools and techniques. This section describes
the seven basic tools of quality, statistical sampling, and six sigma and discusses
how they can be applied to information technology projects.
The following seven tools are known as the seven basic tools of quality:
1. Cause-and-effect diagrams
2. Control charts
3. Run chart
4. Scatter diagram
5. Histogram
6. Pareto charts
7. Flow charts
Modern quality management
Software testing
Fundamentals:
The goal of testing is to finding errors, and a good test is one that has a high
probability of finding an error. Therefore, you should design and implement a
computer based system or a product with “testability” in mind.
White box testing some times called glass box testing, is test case design
philosophy that uses the control structure described the control structure as part of
component level design to derive test cases. Using white box methods you can
derive test cases that
The first step in black box testing is to understand the objects that are
modeled in software and the relationship that connect these objects these objects.
Once this has been accomplished the next step is to define a series of tests that
verify “all objects have the expected relationship to one another” stated in another
way, software testing begins by creating a graph of important objects and their
relationships and then devising a series of tests that will cover the graph so that
each object and relationship is exercised and errors are uncovered.
Equivalence partitioning:
Equivalence portioning is a black box testing method that divides the input
domain of a program into classes of data from which test cases can be drived. An
ideal test case single handedly uncovers a class of errors that might otherwise
require many test cases to be executed before the general errors is observed. An
equivalence class is represents a set of valid or invalid states for input conditions.
Typically an input condition is either a specific numeric value a range of values a
set of related values or a Boolean condition.
1. If an input condition specifies a range, one valid and two invalid equivalence
classes are defined.
2. If an input condition requires a specific value, one valid and two invalid
equivalence classes are defined.
3. If an input condition specifies a member of a set, one valid and one invalid
equivalence class are defined.
4. If an input condition is Boolean, one valid and one invalid class are defined
Guide lines for BVA are similar in many respects to those provided for e
equivalence portioning:
There are many applications in which the input domain is relatively limited.
That is the number of input parameters is small and the values that each of the
parameters may take are clearly bounded. When the numbers are very small it is
possible to consider every input permutation and exhaustively test the input
domain.
There are many strategies that can be used to test software. At once extreme,
you can wait until the system is fully constructed and then conduct tests on the
overall system in hopes of finding errors. This approach, although appealing,
simply does not work. It will result in buggy software that disappoints all
stakeholders.
A testing strategy that is chosen by most software team falls between the
two extremes. It takes extremes incremental view of testing , beginning with the
testing of individual program units . each of these classes of tests is described in
the section that follow:
Unit testing:
Unit test focuses verification effort on the smallest unit of software design
the software component or module. Using the component level design description
as a guide, important control paths are tested to uncover within the boundary of the
module. The unit test focuses on the internal processing logic and data structures
within the boundaries of a compound.
Integration testing:
1. The main control module is used as a test driver and stubs are substitutes for
all components directly subordinate to the main control module.
2. Depending on the integration approach selected subordinate stubs are
replaced one at a time with actual components.
3. Tests are conducted as each components is integrated.
4. On completion of each set of tests, another stub is replaced with the real
component.
5. Regression testing may be conducted to ensure that new errors have not been
introduced.
The process continues from step2 until the entire program structure is built.
Bottom-up integration
1. The symptom and the cause may be geographically remote. That is, the
symptom may appear in one part of a program, while the cause may actually
be located at a site that is far removed.
2. The symptom may disappear when another error is corrected.
3. The symptom may actually be caused by non errors
4. The symptom may be caused by human error that is not easily traced.
5. The symptom may be a result of timing problems, rather than processing
problems.
6. It may be difficult to accurately reproduce input condition.
7. The symptom may be intermittent. This particularly common in embedded
systems that couple hardware and software inextricably.
8. The symptom may be due to causes that are distributed across a number of
tasks running in different processors.