E-1-1-1
SOFTWARE PROJECT
MANAGEMENT -II
Elements – Cost Estimation -
In general costs are categorized as follows –
Staff Costs
Overheads
Usage Charges
Incorrect success criteria
E-1-1-1
SOFTWARE PROJECT
MANAGEMENT -II
Elements – Cost Estimation -
In general costs are categorized as follows –
Staff Costs
Overheads
Usage Charges
If the organization has standard cost system, calculating the
cost is an easier option. But, where such information is not
available the project manager has to organize for working
out the cost for various activities and the project cost. The
cost schedule is prepared to show weekly / monthly costs
over the life of the project.
E-2-1-1
MAN POWER PLANNING
The resource allocation plan is to list the resources
required along with the expected level of demand.
It is necessary to have a comprehensive list of
resource requirements for each activity.
Because of the nature of software development, skill and
experience play a significant part in deciding the time
taken, and potentially the quality of the final product.It is
better to allocate individual members to software activities
as early as possible.
E-2-1-2
MAN POWER PLANNING
The factors to be considered in allocation of
manpower –
Availability
Criticality
Risk
Training
Team Building
E-3-1-1
SOFTWARE & PRODUCT
METRICS
Measure – Quantitative indication –no of errors
Measurement – process of ascertaining the measure – no of
errors in components / system
Metrics – Quantitative measures to identify the efficacy and
improve the quality of software process, project and
product. – detection of errors found per review or the
average no of errors found per unit test.
E-3-1-2
SOFTWARE & PRODUCT
METRICS
4 different types of Data identified in metrics -
Nominal Data – Data in the program can be placed under a
category
Ordinal Data – Can be ranked according according to the
values. Ex- Qualification can be ranked as low, equal,
high, very high etc.
Interval Scale – Can be ranked and sustantial differences
amongst them can be shown. Complex level 8 more than
complex level 4.
Ratio Scale – Values associated with ratio scale. Program lines
expressed in lines of code.
E-3-1-3
SOFTWARE & PRODUCT
METRICS
Guidelines to develop metrics –
Simple and Computable
Consistent and Objective
Consistent units and dimensions
Programming language independent
High Quality
Easy to Calibrate
Easy to obtain
Robust
E-3-1-4
SOFTWARE & PRODUCT
METRICS
Value
Validation
E-3-2-1
SOFTWARE & PRODUCT
METRICS
Process measurement thru’ Process metrics. To improve
any process it is necessary to measure its specified attributes,
develop a set of meaningful metrics based on these attributes,
and then use these metrics to obtain indicators in order to
derive a strategy for process improvement.
Process having 3 parameters – Product, People &
Technology, have important influence on software quality
and organization performance. The environmental conditions
such as development environment, business conditions, and
user characteristics have also influence on the quality and
team performance.
E-3-2-2
SOFTWARE & PRODUCT
METRICS
To measure the efficiency and efficacy of the software process
A set of metrics is formulated based on the outcomes-
No of errors found before software release
Defect reported by users after release of software
Time spent in fixing errors
Work products delivered
Human efforts used
Time expended
Conformity to Schedule
Wait time
E-3-2-3
SOFTWARE & PRODUCT
METRICS
No of contract modifications
Actual cost compared to Estimated cost
E-3-3-1
SOFTWARE & PRODUCT
METRICS
Product Metrics – A working product is developed at the end
of each phase. Each product can be measured at any stage
of its development. Metrics are developed for the products
to indicate whether they have been developed according to
user requirement or not. If the product does not meet user
requirements , then corrective action is taken in the
respective phase.
Product metrics assess the internal product attributes in order
to know the efficacy of the following -
Analysis Design and code model
Potency and test cases
Overall quality of the software under development
E-3-3-2
SOFTWARE & PRODUCT
METRICS
Metrics formulated in the development phase for –
Analysis Model –System functionality, system size etc
Design model – quality of design includes architectural
metrics, component – level design metrics
Source code – source code complexity, maintainability and
other characteristics.
Testing – design efficient and effective test cases and also
evaluate effectiveness of testing
Maintenance – stability of the software product.
E-4-1-1
QUALITY STANDARDS &
CONTROL STANDARDS
Quality is a common concern for all producers of goods and
services. The special characteristics of software , in
particular its intangibility and complexity make special
demands –
Increasing criticality of the software – The customer is
anxious about the quality of software specially its
reliability. More so in safety critical systems.
Intangibility of software – whether a particular task is
completed satisfactorily or not ? Developer has to give
deliverables that can be examined for quality.
E-4-1-2
QUALITY STANDARDS &
CONTROL STANDARDS
Accumulating errors during software development – the latter
in a project that an error is found it is more expensive to
fix the error.
For these reasons, quality management is essential part of
software project management.
For any software system quality, there should be 3
specifications –
Functional specification – What the system is to do
Quality (attribute) specification – how well the functions are
to operate
Resource specification – how much is to be spent on the
E-4-1-3
QUALITY STANDARDS &
CONTROL STANDARDS
Software Quality Criteria - sive to fix the error.
For these reasons, quality management is essential part of
software project management.
For any software system quality, there should be 3
specifications –
Functional specification – What the system is to do
Quality (attribute) specification – how well the functions are
to operate
Resource specification – how much is to be spent on the
system.
E-4-1-4
QUALITY STANDARDS &
CONTROL STANDARDS
Software Quality Criteria
Correctness Traceability, consistency, completeness
Reliability Error tolerance, accuracy, simplicity
Efficiency Execution / storage efficiency
Integrity Access control, access audit
Usability Operability, training, communicativeness, input/output
volume, input/output rate
Maintainability Consistency,simplicity, conciseness, modularity, self
descriptiveness
Testability Simplicity, Modularity, instrumentation, self descriptiveness
Flexibility Modularity, generality, expandability, self descriptiveness
E-4-1-5
QUALITY STANDARDS &
CONTROL STANDARDS
Portability Modularity, self descriptiveness, machine
independence, software system independence
Reusability Modularity, generality, machine independence,
software system independence, self descriptiveness
Inter operability Modularity,communications commonality, data
commonality
E-4-1-6
QUALITY STANDARDS &
CONTROL STANDARDS
The following are considered for quality
Scale – the unit of measurement
Test – the practical test to which the attribute quality exists
Worst – the worst acceptable value
Plan – the value that is planned to achieve
Best – the best value that appears to be feasible
Now – the value that applies currently
E-4-2-1
QUALITY STANDARDS &
CONTROL STANDARDS
Software quality characteristics
Functionality – functions that a software provides to satisfy
user needs – suitability, Accuracy, Interoperability,
Compliance, Security
Reliability – capability to maintain a level of performance –
Maturity, Fault tolerance, Recoverability
Usability – effort needed to use the software –
Understandability, Learnability, Operability
Efficiency – physical resources used when software is
executed – Time behaviour, Resource behaviour
E-4-2-2
QUALITY STANDARDS &
CONTROL STANDARDS
Maintainability – Analysability, Changeability, Stability,
Testability
Portability - Recoverability
Usability – effort needed to use the software –
Understandability, Learnability, Operability
Efficiency – physical resources used when software is
executed – Time behaviour, Resource behaviour
E-4-2-2
QUALITY STANDARDS &
CONTROL STANDARDS
Maintainability – Analysability, Changeability, Stability,
Testability
Portability – Adaptability, Installability, Conformance,
Replaceability
E-4-2-2
QUALITY STANDARDS &
CONTROL STANDARDS
Execution & Control - During the execution of the plan, the
standard expects the supplier to monitor and control
progress and product quality, and have mechanism for
recording, analysing, and resolving the problems that
occur. The supplier will also be responsible for passing on
the requirements of the user clearly to all the sub-
contractors and for ensuring compliance of the
requirements.
The supplier also needs to cooperate fully with any
independent verification and validation process.
E-4-2-3
QUALITY STANDARDS &
CONTROL STANDARDS
Contents of a control plan –
Project organisation structure
Engineering (development) environment, including facilities,
standards, procedures and tools.
Work Breakdown Structure
Management of Quality characteristics
Management of safety, security and other critical requirements
Sub-contractor management
Verification and validation
Acquirer involvement
User involvement
E-4-2-4
QUALITY STANDARDS &
CONTROL STANDARDS
Risk management
Security policy – ‘need to know’ and ‘access to information’
rules
Arrangements for obtaining any regulatory approvals
Scheduling, tracking and reporting
Training
E-5-1-1
DOCUMENTATION
A Paper based information – could be in electronic form.
Inappropriate documentation can be an obstacle for working.
Characteristics of Good documentation –
Records information about software products
Helps make the product usable and maintainable
Defines processes
Communication information
Records history
Provides evidence
Unambiguous, complete, verifiable, consistent, modifiable,
traceable, presentable
E-5-1-2
DOCUMENTATION
Generic types of data held by a project –
Requirements – what the system is expected to do
Design – including details of its structure
Testing – including test strategy and criteria, test cases and
results
Configuration
User – including user manuals
Management
Quality – including quality plans and procedures
E-6-1-1
TECHNOLOGY MANAGEMENT
QUALITY STANDARDS
The techniques and guidelines if applied properly produce
well designed , low failure system.
However, even if the techniques are applied carefully, the
analyst must not assume that necessary quality standards have
been met.
Quality assurance is the review of software products and
related documentation for completeness, correctness,
reliability and maintainability. It includes assurance that the
system meets the specification and requirements of its
intended use and performance.
E-6-2-1
TECHNOLOGY MANAGEMENT
QUALITY STANDARDS
4 levels of quality assurance – Testing, Verification,
Validation, and Certification.
Certification - an endorsement of the correctness of the
program, an issue that is rising in importance for information
systems applications. There is an increasing dependence on
purchase or lease of commercial software rather than in-house
development. Hence, before acquisition of the software
package, a certification of the software package is required by
the developer or from an unbiased third party.
Selected accounting firms are certifying that the
software package does what the vendor claims and in a proper
manner.
E-6-2-2
TECHNOLOGY MANAGEMENT
QUALITY STANDARDS
4 levels of quality assurance – Testing, Verification,
Validation, and Certification.
Certification - an endorsement of the correctness of the
program, an issue that is rising in importance for information
systems applications. There is an increasing dependence on
purchase or lease of commercial software rather than in-house
development. Hence, before acquisition of the software
package, a certification of the software package is required by
the developer or from an unbiased third party.
Selected accounting firms are certifying that the
software package does what the vendor claims and in a proper
manner.
E-6-1-1
TECHNOLOGY MANAGEMENT
QUALITY STANDARDS
The techniques and guidelines if applied properly produce
well designed , low failure system.
However, even if the techniques are applied carefully, the
analyst must not assume that necessary quality standards have
been met.
Quality assurance is the review of software products and
related documentation for completeness, correctness,
reliability and maintainability. It includes assurance that the
system meets the specification and requirements of its
intended use and performance. n
User – including user manuals
Management