SE - Module 3
SE - Module 3
SE - Module 3
Management Spectrum
The management spectrum describes the management of a software project or how to make a
project successful. It focuses on the four P’s;people, product, process and project.
Here, the manager of the project has to control all these P’s to have a
smooth flow in the project progress and to reach the goal.
The four P’s of management spectrum has been described briefly
in below.
The People:
People of a project includes from manager to developer, from customer toend user.
But mainly people of a project highlight the developers.
It is so important to have highly skilled and motivated developers that theSoftware 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”.
Organizations that achieve high levels of maturity in the people management area have a higher
likelihood of implementing effectivesoftware engineering practices.
The Product:
Product is any software that has to be developed. To develop successfully, product objectives
and scope should be established, alternative solutions should be considered, and technical and
management constraints should be identified.
Without this information, it is impossible to define reasonable and accurate estimates of the
cost, an effective assessment of risk, a realisticbreakdown of project tasks or a manageable
project schedule that provides a meaningful indication of progress.
The Process:
A software process provides the framework from which a comprehensive plan for software
development can be established.
A number of different tasks sets— tasks, milestones, work products, andquality assurance
points—enable the framework activities to be adapted to the characteristics of the software
project and the requirements of theproject team.
Finally, umbrella activities overlay the process model. Umbrella activitiesare independent of
any one framework activity and occur throughout theprocess.
The Project:
Here, the manager has to do some job. The project includes all and everything of the total
development process and to avoid project failurethe manager has to take some steps, has to
be concerned about some common warnings etc.
Process Metrics:
Private process metrics (e.g. defect rates by individual or module) are knownonly to the
individual or team concerned.
Public process metrics enable organizations to make strategic changes toimprove the software
process.
In-process quality metrics deals with the tracking of defect arrival duringformal machine
testing for some organizations. This metric includes −
This metric can be calculated for the entire development process, for the front-end before code
integration and for each phase. It is called early defect removal when used for the front-
end and phase effectiveness for specific phases.
The higher the value of the metric, the more effective the development
process and the fewer the defects passed to the next phase or to the field. This metric is a key
concept of the defect removal model for software development.
These are metrics that pertain to Process Quality. They are used to measure the
efficiency and effectiveness of various processes.
1. Cost of quality: It is a measure of the performance of quality initiatives in an
organization. It’s expressed in monetary terms.
Project Metrics
These are metrics that relate to Project Quality. They are used to quantify defects, cost,
schedule, productivity and estimation of variousproject resources and deliverables.
• Project metrics are used to avoid development schedule delays, to mitigate potential
risks, and to assess product quality on an on-goingbasis.
This metrics describe the project characteristics and execution. Examplesinclude the number of
software developers, the staffing pattern over the life cycle of the software, cost, schedule, and
productivity.
1. Schedule Variance: Any difference between the scheduled completionof an activity and
the actual completion is known as Schedule Variance.
Schedule variance = ((Actual calendar days – Planned calendar days) + Start variance)/
Planned calendar days x 100.
2. Effort Variance: Difference between the planned outlined effort andthe effort required
to actually undertake the task is called Effort variance.
1. Lines of Code (LOC): As the name suggest, LOC count thetotal number of lines of
source code in a project.
While Counting the no of src instructions, lines used for commenting the code and
header lines should be ignored. Determining the LOC count at the end of a project is a
very simple job. However accurate estimation of the LOC count at thebeginning of a
project is very difficult.
Project managers usually divide the problem into modules, each module into sub-modules
and so on, until the sizes Of the differentleaf-level modules can be approximately predicted.
Function Point Analysis was initially developed by Allan J. Albercht in 1979 at IBM and it
has been further modified by the International Function Point Users Group (IFPUG).
Initial Definition given by Allan J. Albrecht:
FPA gives a dimensionless number defined in function points which we have found to be an
effective relative measure of function valuedelivered to our customer.
Function Point Analysis (FPA) is a method or set of rules of Functional Size Measurement.
It assesses the functionality delivered to its users, based on the user’s external view of the
functional requirements. It measures the logical view of an application not the physically
implemented view or the internaltechnical view.
The Function Point Analysis technique is used to analyse the functionality delivered by
software and Unadjusted Function Point(UFP) is the unit of measurement.
Objectives of FPA:
1. The objective of FPA is to measure functionality that the userrequests and receives.
2. The objective of FPA is to measure software development and maintenance
independently of technology used for implementation.
3. It should be simple enough to minimize the overhead of themeasurement process.
4. It should be a consistent measure among various projects andorganizations.
Types of FPA:
1. Transactional Functional Type –
(i) External Input (EI): EI processes data or control information that
comes from outside the application’s boundary. The EI is an elementary
process.
1. FPs of an application is found out by counting the number and types of functionsused in
the applications. Various functions used in an application can be put under five types, as
shown in Table:
Types of FP Attributes
Measurements Parameters Examples
2. FP characterizes the complexity of the software system and hence can be used to depict the
project time and the manpower requirement.
3. The effort required to develop the project depends on what the software does.
5. FP method is used for data processing systems, business systems like information systems.
6. The five parameters mentioned above are also known as information domain
characteristics.
7. All the parameters mentioned above are assigned
The functional complexities are multiplied with the corresponding weights against each
function, and the values are added up to determine the UFP (Unadjusted Function Point)
of the subsystem.
Here that weighing factor will be simple, average, or complex for a measurement parameter
type.
The Function Point (FP) is thus calculated with the following formula.
and ∑(fi) is the sum of all 14 questionnaires and show the complexity adjustment value/
factor-CAF (where i ranges from 1 to 14). Usually, a student is provided withthe value of
∑(fi)
Example: Compute the function point, productivity, documentation, cost per function
for the following data:
3. Number of inquiries = 8
4. Number of files = 4
Solution:
FP LOC
Benefits of FPA:
FPA is a tool to determine the size of a purchased application package by counting all
the functions included in the package.
It is a tool to help users discover the benefit of an application package to their
organization by counting functions that specifically match their requirements.
It is a tool to measure the units of a software product to supportquality and productivity
analysis.
It s a vehicle to estimate cost and resources required forsoftware development
and maintenance.
It is a normalization factor for software comparison.
Empirical estimation is a technique or model in which empirically derived formulas are used
for predicting the data that are a required and essential part of the software project planning
step.
These techniques are usually based on the data that is collected previously from a project and
also based on some guesses, prior experience with the development of similar types of
projects, and assumptions. It uses the size of the software to estimate the effort.
This knowledge base can be provided by a member of the project team, or multiple members
of the project team, or by a team leader or team leaders.
However, typically expert judgment requires an expertise that is not present withinthe project
team and, as such, it is common for an external group or person with a specific relevant skill
set or knowledge base to be brought in for a consultation,
In this approach some of the shortcomings of the expert judgment approach aretried to resolve.
The Coordinator gives a copy of the Software Requirement Specification (SRS) document
to all of the estimators and a particular form for the purpose of recording their cost estimates.
Individual estimates are completed by all of the estimators and submitted to thcoordinator
In individual estimates, the estimators point out any unusual characteristics regarding the
product which has great impact on the estimation.
By considering summary, all of the estimators re-estimate. This method isrepeated for
several rounds.
However, estimators cannot communicate with each other regarding the estmates,(the
reason is that the estimate of more experienced or senior estimator may influence
other estimators.
After several iteratons of estimations are done, the coordinator compiles the results and
prepares the final estimates.
Project scheduling
Project schedule simply means a mechanism that is used to communicate and know about
that tasks are needed and has to be done or performed and which organizational resources will
be givenor allocated to these tasks and in what time duration or time framework is needed to
be performed.
The process of dividing complex projects to simpler and manageable work items is called
Work Breakdown Structure(WBS).
WBS is not limited to a specific field, this methodology can be usedfor any type of project
management.
Effective project scheduling leads to success of project, reducedcost, and increased customer
satisfaction. Scheduling in project management means to list out activities, deliverables, and
milestones within a project that are delivered.
It contains more notes than your average weekly planner notes. The most common and
important form of project schedule is Ganttchart.
Process :
The manager needs to estimate time and resources of project whilescheduling project.
All activities in project must be arranged in a coherent sequence that means activities should
be arranged in a logical and well- organized manner for easy to understand. Initial estimates
of project can be made optimistically which means estimates can bemade when all favorable
things will happen and no threats or problems take place.
The total work is separated or divided into various small activities or tasks during project
schedule. Then, Project manager will decide time required for each activity or task to get
completed. Even some activities are conducted and performed in parallel for efficient
performance. The project manager should be aware of fact that each stage of project is not
problem-free.
TimeLine Charts
Timelines are very important in project management because they help to visualize time-related
activities, organization of task, set deadlines and have to define delays.
The diagram are useful for managers who want to get a High-level look attheir tasks or to view
any time-related activities.
1. Planned time- Actual time in-progress that show how longthe tasks have
been in progress.
2. Forecasted time- Project managers have knowledge regarding that
setting expectations for delivery time issignificant and challenging
concern of management.
It is possible to compare planned and actual end dates and get forecasts.
Factors:
The project schedule is a road map which defines the tasks and milestones that are to be
tracked and controlled as the project proceeds.
If things are going well(i.e the project is on schedule and within allocatedbudget, reviews is
also going well), control is normal.
But if the problem occur, project manager has to control them as quicklyas possible.
Earned Value Analysis
Earned Value Analysis (EVA) is an industry standard method of measuring a project's progress
at any given point in time, forecasting its completion date and final cost, and analyzing
variances in the schedule and budget asthe project proceeds.
It compares the planned amount of work with what has actually been completed, to determine
if the cost, schedule, and work accomplished areprogressing in accordance with the plan. As
work is completed, it is considered "earned".
These two values can be converted to efficiency indicators to reflect thecost and schedule
performance of the project.
The sum of all individual EV budgets divided by the sum of all individual AC's is known as
the cumulative CPI, and is generally used to forecast thecost to complete a project.
The schedule performance index (SPI), calculated thus:SPI = EV / PV
A negative schedule variance (SV) calculated at a given point in time means the project is
behind schedule, while a negative cost variance (CV) means the project is over budget.