software engineeringrsingh/documents/software...the effort estimates for all scenarios are summed to...
TRANSCRIPT
![Page 1: Software Engineeringrsingh/documents/software...The effort estimates for all scenarios are summed to develop the effort estimate for the increment. 32. 33. an unrealistic deadline](https://reader035.vdocuments.net/reader035/viewer/2022070705/5e97dc4326ef45103d75333f/html5/thumbnails/1.jpg)
Software Engineering
Dr. Raj Singh
![Page 2: Software Engineeringrsingh/documents/software...The effort estimates for all scenarios are summed to develop the effort estimate for the increment. 32. 33. an unrealistic deadline](https://reader035.vdocuments.net/reader035/viewer/2022070705/5e97dc4326ef45103d75333f/html5/thumbnails/2.jpg)
![Page 3: Software Engineeringrsingh/documents/software...The effort estimates for all scenarios are summed to develop the effort estimate for the increment. 32. 33. an unrealistic deadline](https://reader035.vdocuments.net/reader035/viewer/2022070705/5e97dc4326ef45103d75333f/html5/thumbnails/3.jpg)
People — the most important element of a successful project
Product — the software to be built
Process — the set of framework activities and software engineering tasks to get the job done
Project — all work required to make the product a reality
3
![Page 4: Software Engineeringrsingh/documents/software...The effort estimates for all scenarios are summed to develop the effort estimate for the increment. 32. 33. an unrealistic deadline](https://reader035.vdocuments.net/reader035/viewer/2022070705/5e97dc4326ef45103d75333f/html5/thumbnails/4.jpg)
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 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.
4
![Page 5: Software Engineeringrsingh/documents/software...The effort estimates for all scenarios are summed to develop the effort estimate for the increment. 32. 33. an unrealistic deadline](https://reader035.vdocuments.net/reader035/viewer/2022070705/5e97dc4326ef45103d75333f/html5/thumbnails/5.jpg)
How to lead?How to organize?
How to motivate?
How to collaborate?
How to create good ideas?
5
![Page 6: Software Engineeringrsingh/documents/software...The effort estimates for all scenarios are summed to develop the effort estimate for the increment. 32. 33. an unrealistic deadline](https://reader035.vdocuments.net/reader035/viewer/2022070705/5e97dc4326ef45103d75333f/html5/thumbnails/6.jpg)
6
the difficulty of the problem to be solved
the size of the resultant program(s) in lines of code or function points
the time that the team will stay together (team lifetime)
the degree to which the problem can be modularized
the required quality and reliability of the system to be built
the rigidity of the delivery date
the degree of sociability (communication) required for the project
![Page 7: Software Engineeringrsingh/documents/software...The effort estimates for all scenarios are summed to develop the effort estimate for the increment. 32. 33. an unrealistic deadline](https://reader035.vdocuments.net/reader035/viewer/2022070705/5e97dc4326ef45103d75333f/html5/thumbnails/7.jpg)
Team members must have trust in one another
The distribution of skills must be appropriate to the problem
Mavericks may have to be excluded from the team, if team cohesiveness is to be maintained
Team is self-organizing, adapting, and autonomous
7
![Page 8: Software Engineeringrsingh/documents/software...The effort estimates for all scenarios are summed to develop the effort estimate for the increment. 32. 33. an unrealistic deadline](https://reader035.vdocuments.net/reader035/viewer/2022070705/5e97dc4326ef45103d75333f/html5/thumbnails/8.jpg)
Context How does the software to be built fit into a larger system, product, or business context?
Constraints What constraints are imposed as a result of the context?
Objectives What value does it provide to end user?
Function and performance What function does the software perform? Are any special performance characteristics to be addressed?
Clear understanding Scope must be unambiguous and understandable by all stakeholders.
8
![Page 9: Software Engineeringrsingh/documents/software...The effort estimates for all scenarios are summed to develop the effort estimate for the increment. 32. 33. an unrealistic deadline](https://reader035.vdocuments.net/reader035/viewer/2022070705/5e97dc4326ef45103d75333f/html5/thumbnails/9.jpg)
Sometimes called partitioning or problem elaboration
Once scope is defined decompose into a set of problem classes
Decomposition process continues until all functions or problem classes have been defined
9
![Page 10: Software Engineeringrsingh/documents/software...The effort estimates for all scenarios are summed to develop the effort estimate for the increment. 32. 33. an unrealistic deadline](https://reader035.vdocuments.net/reader035/viewer/2022070705/5e97dc4326ef45103d75333f/html5/thumbnails/10.jpg)
Customer needs are not understood.
Incomplete and unrealistic requirements and timelines.
Scope is poorly defined.
Changes are managed poorly.
Resource, budget, technology, and priority changes.
The project team lacks people with appropriate skills.
Practitioners avoid best practices and lessons learned.
10
![Page 11: Software Engineeringrsingh/documents/software...The effort estimates for all scenarios are summed to develop the effort estimate for the increment. 32. 33. an unrealistic deadline](https://reader035.vdocuments.net/reader035/viewer/2022070705/5e97dc4326ef45103d75333f/html5/thumbnails/11.jpg)
Start on the right foot.
Maintain momentum.
Track progress.
Make smart decisions.
Conduct a postmortem analysis.
11
![Page 12: Software Engineeringrsingh/documents/software...The effort estimates for all scenarios are summed to develop the effort estimate for the increment. 32. 33. an unrealistic deadline](https://reader035.vdocuments.net/reader035/viewer/2022070705/5e97dc4326ef45103d75333f/html5/thumbnails/12.jpg)
Formal risk management
Empirical cost and schedule estimation
Metrics-based project management
Earned value tracking
Defect tracking against quality targets
People aware project management
12
![Page 13: Software Engineeringrsingh/documents/software...The effort estimates for all scenarios are summed to develop the effort estimate for the increment. 32. 33. an unrealistic deadline](https://reader035.vdocuments.net/reader035/viewer/2022070705/5e97dc4326ef45103d75333f/html5/thumbnails/13.jpg)
![Page 14: Software Engineeringrsingh/documents/software...The effort estimates for all scenarios are summed to develop the effort estimate for the increment. 32. 33. an unrealistic deadline](https://reader035.vdocuments.net/reader035/viewer/2022070705/5e97dc4326ef45103d75333f/html5/thumbnails/14.jpg)
process
measurement
What do weuse as abasis?• size?• function?
project metrics
process metrics
product
product metrics
14
![Page 15: Software Engineeringrsingh/documents/software...The effort estimates for all scenarios are summed to develop the effort estimate for the increment. 32. 33. an unrealistic deadline](https://reader035.vdocuments.net/reader035/viewer/2022070705/5e97dc4326ef45103d75333f/html5/thumbnails/15.jpg)
assess the status of an ongoing project
track potential risks
uncover problem areas before they go “critical”
adjust work flow or tasks
evaluate the project team’s ability to control quality of software work products.
15
![Page 16: Software Engineeringrsingh/documents/software...The effort estimates for all scenarios are summed to develop the effort estimate for the increment. 32. 33. an unrealistic deadline](https://reader035.vdocuments.net/reader035/viewer/2022070705/5e97dc4326ef45103d75333f/html5/thumbnails/16.jpg)
SPI
Process model
Improvement goals
Process metrics
Process improvementrecommendations
16
![Page 17: Software Engineeringrsingh/documents/software...The effort estimates for all scenarios are summed to develop the effort estimate for the increment. 32. 33. an unrealistic deadline](https://reader035.vdocuments.net/reader035/viewer/2022070705/5e97dc4326ef45103d75333f/html5/thumbnails/17.jpg)
Quality-related focus on quality of work products and deliverables
Productivity-related Production of work-products related to effort expended
Statistical data error categorization & analysis
Defect removal efficiency
propagation of errors from process activity to activity
Reuse dataThe number of components produced and their degree of reusability
17
![Page 18: Software Engineeringrsingh/documents/software...The effort estimates for all scenarios are summed to develop the effort estimate for the increment. 32. 33. an unrealistic deadline](https://reader035.vdocuments.net/reader035/viewer/2022070705/5e97dc4326ef45103d75333f/html5/thumbnails/18.jpg)
Effort/time per software engineering task
Errors uncovered per review hour
Scheduled vs. actual milestone dates
Changes (number) and their characteristics
Distribution of effort on software engineering tasks
18
![Page 19: Software Engineeringrsingh/documents/software...The effort estimates for all scenarios are summed to develop the effort estimate for the increment. 32. 33. an unrealistic deadline](https://reader035.vdocuments.net/reader035/viewer/2022070705/5e97dc4326ef45103d75333f/html5/thumbnails/19.jpg)
Use common sense and organizational sensitivity when interpreting metrics data.
Provide regular feedback to the individuals and teams who have worked to 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.
19
![Page 20: Software Engineeringrsingh/documents/software...The effort estimates for all scenarios are summed to develop the effort estimate for the increment. 32. 33. an unrealistic deadline](https://reader035.vdocuments.net/reader035/viewer/2022070705/5e97dc4326ef45103d75333f/html5/thumbnails/20.jpg)
Correctness the degree to which a program operates according to specification
Maintainability the degree to which a program is amenable to change
Integrity the degree to which a program is impervious to outside attack
Usability the degree to which a program is easy to use
20
![Page 21: Software Engineeringrsingh/documents/software...The effort estimates for all scenarios are summed to develop the effort estimate for the increment. 32. 33. an unrealistic deadline](https://reader035.vdocuments.net/reader035/viewer/2022070705/5e97dc4326ef45103d75333f/html5/thumbnails/21.jpg)
Identifybusiness goals,
entities, attributes, data, actions
Formalizeyour measurement
goals
DefineThe measures to be
used, and make these definitions operational
Preparea plan for
implementing the measures
21
![Page 22: Software Engineeringrsingh/documents/software...The effort estimates for all scenarios are summed to develop the effort estimate for the increment. 32. 33. an unrealistic deadline](https://reader035.vdocuments.net/reader035/viewer/2022070705/5e97dc4326ef45103d75333f/html5/thumbnails/22.jpg)
![Page 23: Software Engineeringrsingh/documents/software...The effort estimates for all scenarios are summed to develop the effort estimate for the increment. 32. 33. an unrealistic deadline](https://reader035.vdocuments.net/reader035/viewer/2022070705/5e97dc4326ef45103d75333f/html5/thumbnails/23.jpg)
ESTABLISH PROJECT SCOPE
DETERMINE FEASIBILITY
ANALYZE RISKS DEFINE REQUIRED RESOURCES
ESTIMATE COST AND EFFORT
DEVELOP A PROJECT
SCHEDULE
23
![Page 24: Software Engineeringrsingh/documents/software...The effort estimates for all scenarios are summed to develop the effort estimate for the increment. 32. 33. an unrealistic deadline](https://reader035.vdocuments.net/reader035/viewer/2022070705/5e97dc4326ef45103d75333f/html5/thumbnails/24.jpg)
Estimation carries inherent risk and this risk leads to uncertainty
Estimation of resources, cost, and schedule for a software engineering effort requires
experience historical information commitment
24
![Page 25: Software Engineeringrsingh/documents/software...The effort estimates for all scenarios are summed to develop the effort estimate for the increment. 32. 33. an unrealistic deadline](https://reader035.vdocuments.net/reader035/viewer/2022070705/5e97dc4326ef45103d75333f/html5/thumbnails/25.jpg)
UNDERSTAND THE CUSTOMERS
NEEDS
UNDERSTAND THE BUSINESS
CONTEXT
UNDERSTAND THE PROJECT BOUNDARIES
UNDERSTAND THE CUSTOMER’S
MOTIVATION
UNDERSTAND THE LIKELY PATHS
FOR CHANGE
25
![Page 26: Software Engineeringrsingh/documents/software...The effort estimates for all scenarios are summed to develop the effort estimate for the increment. 32. 33. an unrealistic deadline](https://reader035.vdocuments.net/reader035/viewer/2022070705/5e97dc4326ef45103d75333f/html5/thumbnails/26.jpg)
project
people
skills
number
location
reusable softwareOTS
components
full-experience components
new components
part.-experience components
environment
hardware
software tools
network resources
26
![Page 27: Software Engineeringrsingh/documents/software...The effort estimates for all scenarios are summed to develop the effort estimate for the increment. 32. 33. an unrealistic deadline](https://reader035.vdocuments.net/reader035/viewer/2022070705/5e97dc4326ef45103d75333f/html5/thumbnails/27.jpg)
Project scope must be
understood
Elaboration (decomposition)
is necessary
Historical metrics are very
helpful
At least two different
techniques should be used
Uncertainty is inherent in the
process
27
![Page 28: Software Engineeringrsingh/documents/software...The effort estimates for all scenarios are summed to develop the effort estimate for the increment. 32. 33. an unrealistic deadline](https://reader035.vdocuments.net/reader035/viewer/2022070705/5e97dc4326ef45103d75333f/html5/thumbnails/28.jpg)
Past (similar) project experience
Conventional estimation techniques
task breakdown and effort estimates
size (e.g., FP) estimates
Empirical models
Automated tools
28
![Page 29: Software Engineeringrsingh/documents/software...The effort estimates for all scenarios are summed to develop the effort estimate for the increment. 32. 33. an unrealistic deadline](https://reader035.vdocuments.net/reader035/viewer/2022070705/5e97dc4326ef45103d75333f/html5/thumbnails/29.jpg)
Obtained from “process framework”
applicationfunctions
framework activities
Effort required to accomplisheach framework activity for each application function
29
![Page 30: Software Engineeringrsingh/documents/software...The effort estimates for all scenarios are summed to develop the effort estimate for the increment. 32. 33. an unrealistic deadline](https://reader035.vdocuments.net/reader035/viewer/2022070705/5e97dc4326ef45103d75333f/html5/thumbnails/30.jpg)
Activity
Task
Function
UICF2DGA3DGA
DSMPCF
CGDF
DAM
Totals
% effort
CC Planning Risk Analysis Engineering
Construction Release TotalsCE
analysis design code test
0.25 0.25 0.25 3.50 20.50 4.50 16.50 46.00
1% 1% 1% 8% 45% 10% 36%
CC = customer communication CE = customer evaluation
0.500.750.500.500.500.25
2.504.004.003.003.002.00
0.400.601.001.000.750.50
5.002.003.001.501.501.50
8.407.358.506.005.754.25
0.50 2.00 0.50 2.00 5.00
n/an/an/an/an/an/an/a
§ Based on an average burdened labor rate of $8,000 per month, the total estimated project cost is $368,000 and the estimated effort is 46 person-months.
30
![Page 31: Software Engineeringrsingh/documents/software...The effort estimates for all scenarios are summed to develop the effort estimate for the increment. 32. 33. an unrealistic deadline](https://reader035.vdocuments.net/reader035/viewer/2022070705/5e97dc4326ef45103d75333f/html5/thumbnails/31.jpg)
project characteristics
calibration factors
LOC/FP data
31
![Page 32: Software Engineeringrsingh/documents/software...The effort estimates for all scenarios are summed to develop the effort estimate for the increment. 32. 33. an unrealistic deadline](https://reader035.vdocuments.net/reader035/viewer/2022070705/5e97dc4326ef45103d75333f/html5/thumbnails/32.jpg)
Each user scenario is considered separately for estimation purposes.
The scenario is decomposed into the set of software engineering tasks.
Each task is estimated separately.
Estimates for each task are summed to create an estimate for the scenario.
The effort estimates for all scenarios are summed to develop the effort estimate for the increment.
32
![Page 33: Software Engineeringrsingh/documents/software...The effort estimates for all scenarios are summed to develop the effort estimate for the increment. 32. 33. an unrealistic deadline](https://reader035.vdocuments.net/reader035/viewer/2022070705/5e97dc4326ef45103d75333f/html5/thumbnails/33.jpg)
33
![Page 34: Software Engineeringrsingh/documents/software...The effort estimates for all scenarios are summed to develop the effort estimate for the increment. 32. 33. an unrealistic deadline](https://reader035.vdocuments.net/reader035/viewer/2022070705/5e97dc4326ef45103d75333f/html5/thumbnails/34.jpg)
![Page 35: Software Engineeringrsingh/documents/software...The effort estimates for all scenarios are summed to develop the effort estimate for the increment. 32. 33. an unrealistic deadline](https://reader035.vdocuments.net/reader035/viewer/2022070705/5e97dc4326ef45103d75333f/html5/thumbnails/35.jpg)
an unrealistic deadline
changing customer requirements
underestimate of the effort and resources
unpredictable risks
technical difficulties
miscommunication
a lack of action to correct the problem
35
![Page 36: Software Engineeringrsingh/documents/software...The effort estimates for all scenarios are summed to develop the effort estimate for the increment. 32. 33. an unrealistic deadline](https://reader035.vdocuments.net/reader035/viewer/2022070705/5e97dc4326ef45103d75333f/html5/thumbnails/36.jpg)
Compartmentalization define distinct tasks
Interdependency indicate task interrelationship
Effort validation be sure resources are available
Defined responsibilities people must be assigned
Defined outcomes each task must have an output
Defined milestones review for quality
36
![Page 37: Software Engineeringrsingh/documents/software...The effort estimates for all scenarios are summed to develop the effort estimate for the increment. 32. 33. an unrealistic deadline](https://reader035.vdocuments.net/reader035/viewer/2022070705/5e97dc4326ef45103d75333f/html5/thumbnails/37.jpg)
§ “front end” activities§ customer communication§ analysis§ design§ review and modification
§ construction activities§ coding or code generation
§ testing and installation§ unit, integration§ white-box, black box§ regression
40-50%
30-40%
15-20%
37
![Page 38: Software Engineeringrsingh/documents/software...The effort estimates for all scenarios are summed to develop the effort estimate for the increment. 32. 33. an unrealistic deadline](https://reader035.vdocuments.net/reader035/viewer/2022070705/5e97dc4326ef45103d75333f/html5/thumbnails/38.jpg)
38
determine type of project
assess the degree of rigor required
identify adaptation criteria
select appropriate software engineering tasks
![Page 39: Software Engineeringrsingh/documents/software...The effort estimates for all scenarios are summed to develop the effort estimate for the increment. 32. 33. an unrealistic deadline](https://reader035.vdocuments.net/reader035/viewer/2022070705/5e97dc4326ef45103d75333f/html5/thumbnails/39.jpg)
Tasks Week 1 Week 2 Week 3 Week 4 Week n
Task 1Task 2Task 3Task 4Task 5Task 6Task 7Task 8Task 9Task 10Task 11Task 12
39
![Page 40: Software Engineeringrsingh/documents/software...The effort estimates for all scenarios are summed to develop the effort estimate for the increment. 32. 33. an unrealistic deadline](https://reader035.vdocuments.net/reader035/viewer/2022070705/5e97dc4326ef45103d75333f/html5/thumbnails/40.jpg)
§ Roger Pressman, Software Engineering: A Practitioner's Approach, 8th edition, McGraw Hill, ISBN 0078022126
40