Podcast
Questions and Answers
Low birth weight babies born to mothers who smoke during pregnancy have higher infant mortality rates.
Low birth weight babies born to mothers who smoke during pregnancy have higher infant mortality rates.
False
The effectiveness of pair programming can be tested by designing a controlled experiment.
The effectiveness of pair programming can be tested by designing a controlled experiment.
True
The Harvard University data shows that a higher percentage of women were admitted compared to men.
The Harvard University data shows that a higher percentage of women were admitted compared to men.
False
In the analysis of software development performance, raw figures alone are sufficient to measure success.
In the analysis of software development performance, raw figures alone are sufficient to measure success.
Signup and view all the answers
Null hypotheses are typically formulated to propose that there is no effect or relationship in an experiment.
Null hypotheses are typically formulated to propose that there is no effect or relationship in an experiment.
Signup and view all the answers
31% of software development projects are cancelled before completion.
31% of software development projects are cancelled before completion.
Signup and view all the answers
The average cost of a project for a large company is $4,322,000.
The average cost of a project for a large company is $4,322,000.
Signup and view all the answers
Only 9% of large company projects are completed on time and on budget.
Only 9% of large company projects are completed on time and on budget.
Signup and view all the answers
Project overrun is often due to fully specified project objectives.
Project overrun is often due to fully specified project objectives.
Signup and view all the answers
User involvement has a significant impact on project success, accounting for 15.9% of successful projects.
User involvement has a significant impact on project success, accounting for 15.9% of successful projects.
Signup and view all the answers
The assessment for COMP319 consists of 100% written examination.
The assessment for COMP319 consists of 100% written examination.
Signup and view all the answers
The average cost of a project for a medium company is higher than for a small company.
The average cost of a project for a medium company is higher than for a small company.
Signup and view all the answers
Students are required to use Eclipse for Java development in COMP319.
Students are required to use Eclipse for Java development in COMP319.
Signup and view all the answers
The module aims to focus solely on practical software programming skills.
The module aims to focus solely on practical software programming skills.
Signup and view all the answers
Technological illiteracy impacts 10.6% of failed projects.
Technological illiteracy impacts 10.6% of failed projects.
Signup and view all the answers
Tutorials for COMP319 occur twice a week.
Tutorials for COMP319 occur twice a week.
Signup and view all the answers
Bad planning and estimating is a reason for project overruns for 48% of projects.
Bad planning and estimating is a reason for project overruns for 48% of projects.
Signup and view all the answers
Scala is cited as a recommended programming language for the course.
Scala is cited as a recommended programming language for the course.
Signup and view all the answers
According to the Standish report, unrealistic expectations account for 12.4% of project failures.
According to the Standish report, unrealistic expectations account for 12.4% of project failures.
Signup and view all the answers
The Standish CHAOS report only highlights bad news regarding software projects.
The Standish CHAOS report only highlights bad news regarding software projects.
Signup and view all the answers
Recommended books for the course include 'Java Design Pattern Essentials'.
Recommended books for the course include 'Java Design Pattern Essentials'.
Signup and view all the answers
COMP319 covers topics such as XP and Agile methodologies in software engineering.
COMP319 covers topics such as XP and Agile methodologies in software engineering.
Signup and view all the answers
The only recommended source control resource is Subversion for the course.
The only recommended source control resource is Subversion for the course.
Signup and view all the answers
Software engineering focuses on the application of principles to design or develop machines and apparatus.
Software engineering focuses on the application of principles to design or develop machines and apparatus.
Signup and view all the answers
The period from 1965 to 1985 is known as the software crisis era.
The period from 1965 to 1985 is known as the software crisis era.
Signup and view all the answers
Quality control in software engineering involves implementing the design as a product.
Quality control in software engineering involves implementing the design as a product.
Signup and view all the answers
The Ariane 5 failure was due to insufficient memory allocation.
The Ariane 5 failure was due to insufficient memory allocation.
Signup and view all the answers
Agile methodologies emphasize incremental development and involve practices like SCRUM.
Agile methodologies emphasize incremental development and involve practices like SCRUM.
Signup and view all the answers
Chronic failures can result in functionality problems and poor performance.
Chronic failures can result in functionality problems and poor performance.
Signup and view all the answers
The actor model is a pattern used in software implementation.
The actor model is a pattern used in software implementation.
Signup and view all the answers
Software engineering is solely concerned with creating software that is visually appealing.
Software engineering is solely concerned with creating software that is visually appealing.
Signup and view all the answers
The Tesla Autopilot feature successfully detected all obstacles during 2023 incidents.
The Tesla Autopilot feature successfully detected all obstacles during 2023 incidents.
Signup and view all the answers
Research areas in software engineering are static and do not evolve over time.
Research areas in software engineering are static and do not evolve over time.
Signup and view all the answers
A project being over budget is one of the ways software projects can fail.
A project being over budget is one of the ways software projects can fail.
Signup and view all the answers
In the second theoretical development scenario, the specification was considered perfect.
In the second theoretical development scenario, the specification was considered perfect.
Signup and view all the answers
Requirements analysis is one of the key activities in software engineering.
Requirements analysis is one of the key activities in software engineering.
Signup and view all the answers
All code developed under high coding skills guarantees a high-quality product.
All code developed under high coding skills guarantees a high-quality product.
Signup and view all the answers
The Pfizer COVID-19 vaccine rollout experienced delays due to hardware issues.
The Pfizer COVID-19 vaccine rollout experienced delays due to hardware issues.
Signup and view all the answers
Low quality code can lead to a project being unsupportable.
Low quality code can lead to a project being unsupportable.
Signup and view all the answers
The software crisis is defined solely by incomplete features.
The software crisis is defined solely by incomplete features.
Signup and view all the answers
The EQF stands for Estimation Quality Factor and a higher score indicates better estimation.
The EQF stands for Estimation Quality Factor and a higher score indicates better estimation.
Signup and view all the answers
According to the Chaos Report, a project is successful if it completes within budget and on time.
According to the Chaos Report, a project is successful if it completes within budget and on time.
Signup and view all the answers
Estimating low timescales can lead to under-resourcing and over-promising.
Estimating low timescales can lead to under-resourcing and over-promising.
Signup and view all the answers
Boem's cone of uncertainty suggests that estimation improves as a project advances.
Boem's cone of uncertainty suggests that estimation improves as a project advances.
Signup and view all the answers
A successfully completed project according to the Chaos Report has an average EQF of 2.3.
A successfully completed project according to the Chaos Report has an average EQF of 2.3.
Signup and view all the answers
Projects should aim for an EQF greater than 10 to be considered very good.
Projects should aim for an EQF greater than 10 to be considered very good.
Signup and view all the answers
The Chaos report initially suggested that project success rates were at 67%.
The Chaos report initially suggested that project success rates were at 67%.
Signup and view all the answers
Criticism of the Chaos report includes the claim that raw data was not published.
Criticism of the Chaos report includes the claim that raw data was not published.
Signup and view all the answers
An estimation skill is one of the factors that does not influence project success or failure.
An estimation skill is one of the factors that does not influence project success or failure.
Signup and view all the answers
Study Notes
Course Information
- Course Title: SOFTWARE ENGINEERING II
- Course Code: COMP319
- Academic Year: 2024-2025
- Lecturer: Sebastian Coope
- Lecturer Email: [email protected]
Delivery
- Lectures: On-campus lectures and Q&A sessions, online recorded lectures
- Tutorials/Seminars: Weekly 1-hour sessions
Installation
- Install Eclipse for Java development (latest version recommended)
- AspectJ development tools available at https://download.eclipse.org/tools/ajdt/410/dev/update/
- Use a Git repository for source control
Assessment
- 80% Written examination
- 20% Object-Oriented (OO) pattern design programming assignment
- Examination material covers lectures and tutorial work
Module Aims
- Introduce advanced software engineering topics
- Review and analyze research papers in software engineering
- Focus on research reading and better software production
Module Materials
- Lecture notes
- Selected research papers
- Past exam papers and model answers
- Tutorial sheets
Recommended Books
- No single recommended textbook
- Java Design Pattern Essentials (ISBN 0956575803)
- Learning Agile: Understanding Scrum, XP, Lean, and Kanban (ISBN 978-1449331924)
- Actors: A Model of Concurrent Computation in Distributed Systems (ISBN 978-0262511414)
Contents
- Software engineering crisis
- Software cost estimation and project management
- OO design patterns
- XP and Agile
- Concurrency and the Actor model
- Dependency graphs and program slicing
Software Engineering
- Highly complex
- Many platforms (iPhone, Android, PC, Linux, HTML5)
- Many models (standalone, client-server, peer-to-peer)
- Hard problems (AI, neural networks)
- Large size (e.g., Linux kernel >10 million lines)
Software Crisis and Failure Classification
- Catastrophic failures (e.g., Ariane 5, cost 7 billion USD)
- Variable overflow in software caused the crash
- Chronic failures
- Project overruns (time and budget)
- Functionality problems
- Poor performance
- Poor quality code, poorly structured
Ways to Fail
- Project incomplete
- Project over budget
- Project is buggy
- Project over time schedule
- Project does not fully deliver requirements
- Code base is unsupportable (badly written, inflexible)
- Code doesn't port well between platforms (e.g., browser compatibility issues)
Theoretical Development Scenarios
- Scenario 1: Imperfect specification but high-quality coding and testing; the product meets the given specifications.
- Scenario 2: Perfect specification and high-skilled team but low coding skills; the product meets the requirements.
Failures 2023
- Tesla Autopilot: Crashes due to failure to detect obstacles and pedestrians.
- Pfizer COVID-19 vaccine rollout delayed due to software issues, affecting vaccine tracking.
Failures 2024 (July)
- Microsoft Azure platform update caused Windows PC Blue Screen of Death
- Affected key industries like airlines, hospitals, and banks
CNET Money
- CNET used an AI engine for compound interest articles.
- Example of AI-written financial article.
Limits of Language Models
- ChatGPT does not understand the meaning of words generated.
- Statistical techniques creating text from training data patterns.
Standish Chaos Report (US)
- Total software development spending: $250 billion
- Average project costs: vary by company size
- Cancellation rate: 31% before completion
- Cost overruns: 189% of original estimates
- Success rate: significantly lower for large companies
Standish Project Resolution
- Type 1: Successful (on time and on budget)
- Type 2: Challenged (over budget and/or time, not all features delivered)
- Type 3: Incomplete (cancelled)
Standish CHAOS Report Findings
- Reasons for project overruns:
- Project Objectives Not Fully Specified
- Bad Planning and Estimating
- Technology New to the Organization
- Inadequate/No Project Management Methodology
- Insufficient Senior Staff
- Poor Performance (Hardware/Software Suppliers)
- Other-Performance Issues
Standish CHAOS Report Findings: Successful projects
- User Involvement
- Executive Management Support
- Clear Statement of Requirements
- Proper Planning
- Realistic Expectations
- Smaller Project Milestones
- Competent Staff
- Ownership
- Clear Vision & Objectives
Reasons for Cancelled/Failed Projects
- Incomplete Requirements
- Lack of User Involvement
- Lack of Resources
- Unrealistic Expectations
- Lack of Executive Support
- Changing Requirements and Specifications
- Lack of Planning, Didn't Need It Any Longer
- Lack of IT Management
- Technology Illiteracy
Standish Chaos in Perspective
- Did Standish only look at bad news?
- What is the extent of the so-called software crisis?
- How many software systems are used daily?
- How do you rate their performance?
Chaos Report Analyzed
- Defining failure and overrun
- Failure of project delivery or estimation technique.
Chaos Report Criticisms
- Classification of projects (incomplete)
- Projects completed within budget and time
- Raw data not published
- Measuring failure (forecast/actual)
- f/a < 1 (time)
- f/a > 1 (functionality)
Estimation and Chaos Report
- Success measured vs. original estimation
- Companies sometimes underestimate/overestimate
- Estimate low timescales: Under-resourced, over-promised
- Estimate high timescales: Over-resourced (wasteful)
- Get it right (in terms of estimate)
Boem's Cone of Uncertainty
- A visual representation of uncertainty in project duration
Project Success/Failure
- Factors defining success or failure
- Context (budget, cost, company type)
- Culture
- Sales driven/development driven estimation
- Estimation skill
- Development skill
Estimation Quality Factor (EQF)
- Determining the quality of estimates
- Calculation method EQF= 1/(average(deviation/actual)
EQF Example
- Project completion in 14 weeks
- Estimates (20, 10, 15, 12, 12)
- Calculating Average Deviation and EQF
EQF (Further Explanation)
- Higher scores indicate better estimation
- EQF > 10 is considered very good
- < 10% average deviation
- Estimation bias may be calculated as EQF; absolute values
- Biases, examples
Bias (Further Explanation)
- Bias = Mean(Estimator) – Actual Value
- Normalize Bias as a percentage
Things Affecting Estimations
- Difficulty of early estimations
- Management pressure for low estimates
- Inexperienced developers (optimistic/pessimistic)
- Lack of detailed design
- Specification quality
In General
- Very large negative bias (project mean more complex than first thought)
- Project changed mid-cycle, specification issues
- Very large positive bias (project overestimated, past experience/risk-averse manager)
Exercise
- Calculate EQF and bias for given projects
- Draw project conclusions
Rise and Fall of the Chaos Report Figures
- Determination of organization performance relative to Chaos
- Three organizations (example)
- Standish success rate
Research and Critical Analysis
- Be wary of headlines (cause and sample size)
- Consider random aspects
- Experiment effect on outcome
Exercise (Pair Programming)
- Design an experiment to test pair programming effectiveness
- Identify a null hypothesis
Final Point on Using Statistics
- Low birth weight paradox
- Definitions (low birth weight, infant mortality)
- Paradox statement (low birth weight babies with smoking mothers have lower infant mortality rates)
Another Example
- Harvard University gender bias data
Harvard Figures Broken Down
- Categorization and percentage of men and women applicants, admitted
What's This to Do with Software Research?
- Comparing software development team/company performance
- Are raw figures sufficient?
- Measuring performance
- Measuring code size
Engineering Definition
- Creative application of scientific principles to design structures, machines, and manufacturing processes
Software Engineering Definition
- Creative application of scientific principles for designing and building software
Software Engineering History
- 1945-1965 Pioneer Stage
- 1965-1985 Software Crisis
- 1985-Today No Software Silver Bullet
Software Engineering Activities
- Requirements Analysis
- Software Design/Implementation
- Patterns
- Actor Model
- AOP
- Software Testing and Analysis
- Program Slicing
- Software Management (scheduling, QA, workflow)
Trends Going Forward
- Emphasis on Agile
- Test-driven development
- Good use of software tools
- Better languages
- Incremental development
- SCRUM
- Improved estimation and project management
Summary (Final Points)
- Difficulty in designing experiments
- Context considerations for software activities
- Mixed evidence for the use of various approaches
- Be skeptical of headline results in research papers
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.
Related Documents
Description
Explore key insights into project management and software development metrics. This quiz covers topics from the effects of user involvement on project success to the statistics of project completion rates and costs for large companies. Test your knowledge on the implications of factors such as smoking during pregnancy on infant mortality and the significance of controlled experiments.