Unit 3
Unit 3
Unit 3
The Stakeholders
Team leaders
The Software Team
Agile Team (Implementer)
Coordination and Communication Issues
Stakeholders
Senior managers who define the business issues that
often have significant influence on the project.
Project (technical) managers who must plan,
motivate, organize, and control the practitioners who do
software work.
Practitioners who deliver the technical skills that are
necessary to engineer a product or application.
Customers who specify the requirements for the
software to be engineered and other stakeholders who
have a peripheral interest in the outcome.
End-users who interact with the software once it is
released for production use.
Team Leaders
MOI model for leadership
How to organize?
How to collaborate?
Project Metrics:-
They enables a software project manager to
1. Assess the status of an ongoing project
2. Track potential risks.
3. Uncover problem areas before they go “Critical”
4. Adjust work flow or tasks
5. Evaluate the project team’s ability to control quality of software work products.
Measurement :-
They Are collected by a project team and converted into process metrics during software
process improvement.
Process Metrics and Software
Process Improvement
Process Metrics and Software
Process Improvement
Process at the center connecting 3 factors that have a profound influence on software
quality and organizational performance.
Process triangle exists within a circle of environmental conditions that include the
development environment, business conditions and customer characteristics.
We measure the efficacy of a software process indirectly.
That is, we derive a set of metrics based on the outcomes that can be derived from
the process.
Outcomes include
measures of errors uncovered before release of the software
defects delivered to and reported by end-users
work products delivered (productivity)
human effort expended
calendar time expended
schedule conformance
other measures.
We also derive process metrics by measuring the characteristics of specific software
engineering tasks.
Process Metrics Guidelines
Use common sense and organizational sensitivity when
interpreting metrics data.
Provide regular feedback to the individuals and teams who
collect measures and metrics.
Don’t use metrics to appraise individuals.
Work with practitioners and teams to set clear goals and
metrics that will be used to achieve them.
Never use metrics to threaten individuals or teams.
Metrics data that indicate a problem area should not be
considered “negative.” These data are merely an indicator for
process improvement.
Don’t obsess on a single metric to the exclusion of other
important metrics.
Project Metrics
Used to minimize the development schedule by making
the adjustments necessary to avoid delays and mitigate
potential problems and risks
Used to assess product quality on an ongoing basis and,
when necessary, modify the technical approach to
improve quality.
Every project should measure:
Inputs—measures of the resources (e.g., people, tools)
required to do the work.
Outputs—measures of the deliverables or work
products created during the software engineering
process.
Results—measures that indicate the effectiveness of the
deliverables.
Metrics
Software Matric is standard of measure that contains many
activities which involve some degree of measurement.
Metrics
Categories in 2 ways:
Direct measure of the software process & Product
E.g. Lines of code (LOC), execution speed, and defect)
Indirect measures of the product that include functionality,
complexity, efficiency, reliability, maintainability etc.
Types of Metrics for measuring software size
SIZE oriented
Function oriented
Object Oriented
Use case oriented
Size-Oriented metrics
Size-oriented metrics measures on LOC as normalization
value.
Errors per KLOC (thousand lines of code)
Defects per KLOC
$ per LOC
Pages of documentation per KLOC
Errors per person-month
Errors per review hour
LOC per person-month
$ per page of documentation
Size oriented metrics
Lines of Code
Don’t count comment and blank line for size estimation as
they do not contribute to any kind of functionality or they
can be misused by developer to give false notions about
productivity.
Advantage: Easy to count and calculate from code
Disadvantage: language dependent, technology dependent
and LOC count techniques varies in diff. organization
Example for LOC
Function-Oriented Metrics
It use a measure of functionality delivered by the application as a
normalization value.
Since ‘functionality’ cannot be measured directly, it must be
derived indirectly using other direct measures
Function Point (FP) is widely used as function oriented
metrics.
FP derived using an empirical relationship based on countable
(direct) measures of software’s information domain and
assessments of software complexity.
FP is based on characteristic of Software information domain and
complexity.
Like LOC measure, FP is controversial.
FP is programming language independent.
It is ideal for applications using conventional and nonprocedural
languages.
FP- Five information domain characteristics
Measurement parameter
(functional units) Weighting factor
Number of external
interfaces 5x_ 7x_ 10 x _
Number of files: 8 10
Project ai bi ci di
organic 3.2 1.05 2.5 0.38
semidetached 3.0 1.12 2.5 0.35
embedded 2.8 1.20 2.5 0.32
Completer or detailed COCOMO model
Large team
Complex project
Experience and creative members are required for divide project
in to modules and apply cocomo to all .
Phases of cocomo:
1)planning & requirement
2)system design
3)detailed design
4)Module code and test
5) Intigration and test
6)cost cunstruction model
Note :
Refer page number 709 t o712 of pressman 7th edition for
example of COCOMO II model
NOP(number of object points=object points* [(100-
%reuse)/100]
Prod=NOP/person-month
Estimated effort=NOP/PROD
Risk
risk is a potential (probable) problem – which might happen and
might not
Conceptual definition of risk
Risk concerns future happenings
Risk involves change in mind, opinion, actions, places, etc.
Risk involves choice and the uncertainty that choice entails
Two characteristics of risk
Uncertainty:
The risk may or may not happen, so there are no 100% risks (some of those
may called constraints)
Loss
If the risk becomes a reality and unwanted consequences or losses occur
Risk Categorization: Approach-1
Project risks
They threaten the project plan
If they become real, it is likely that the project schedule will slip and that
costs will increase
Technical risks
They threaten the quality and timeliness of the software to be produced
If they become real, implementation may become difficult or impossible
Business risks
They threaten the feasibility of the software to be built
If they become real, they threaten the project or the product
Sub-categories of Business risks
Market risk
Building an excellent product or system that no one really wants
Strategic risk
Building a product that no longer fits into the overall business
strategy for the company
Sales risk
Building a product that the sales force doesn't understand how to
sell
Management risk
Losing the support of senior management due to a change in focus
or a change in people
Budget risk
Losing budgetary or personnel commitment
Risk categorization approach -2
Known risks
Those risks that can be uncovered after careful evaluation
of the project plan,
The business and technical environment in which the project is
being developed, and other reliable information sources (Ex.
unrealistic delivery date)
Predictable risks
Those risks that are deduced (draw conclusion) from past
project experience (Ex. past turnover)
Unpredictable risks
Those risks that can and do occur, but are extremely difficult
to identify in advance
Risk Strategies (Reactive vs. Proactive)
Reactive risk strategies
“Don't worry, I will think of something“.
The majority of software teams and managers rely on this
approach
Nothing is done about risks until something goes wrong
The team then flies into action in an attempt to correct the
problem rapidly (fire fighting)
Crisis management is the choice of management techniques
Proactive risk strategies
Steps for risk management are followed
Primary objective is to avoid risk and to have an emergency plan
in place to handle unavoidable risks in a controlled and effective
manner
Steps for Risk Management
Compartmentalization
The product and process must be decomposed into a
manageable number of activities and tasks
Interdependency
Tasks that can be completed in parallel must be separated
from those that must completed serially
Time allocation
Every task has start and completion dates that take the
task interdependencies into account
Effort validation
Project manager must ensure that on any given day there are
enough staff members assigned to completed the tasks within the
time estimated in the project plan
Defined Responsibilities
Every scheduled task needs to be assigned to a specific team
member
Defined outcomes
Every task in the schedule needs to have a defined outcome
(usually a work product or deliverable)
Defined milestones
A milestone is accomplished when one or more work products
from an engineering task have passed quality review
Scheduling
Scheduling of a software project does not differ greatly
from scheduling of any multitask engineering effort.
Therefore, generalized project scheduling tools and
techniques can be applied with little modification for
software projects.
Program evaluation and review technique (PERT) and
the critical path method (CPM) are two project
scheduling methods that can be applied to software
development.
Scheduling
Both techniques are driven by information already developed
in earlier project planning activities: estimates of effort, a
decomposition of the product function, the selection of the
appropriate process model and task set, and decomposition
of the tasks that are selected.
Both PERT and CPM provide quantitative tools that allow
you to
Determine the critical path—the chain of tasks that determines the
duration of the project
Establish “most likely” time estimates for individual tasks by applying
statistical models
Calculate “boundary times” that define a time “window” for a
particular task.
Sample Gantt chart-1
Gantt Chart-2
PERT chart
Assignment
What do you mean by risk? What is software risk? Explain all
type of Software risk.
Write short note on : Risk Management or RMMM
Explain Software Project Management and W5HH principles.
What is software measurement? Explain Software matrices
used for software cost estimation. Or Explain Software
matrices in details.
Explain software project planning.
Explain project scheduling process and Gantt chart in detail.
References
https://www.forecast.app/blog/benefits-of-using-project-
management-software
https://www.youtube.com/watch?v=z9KjqfpR9XI
JIRA https://youtu.be/aP7W7zNTM2I
Risk management
https://www.youtube.com/watch?v=OlzMrXtgl1I