Project Management and Development Analysis
49 Questions
0 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

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.

True

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.

<p>False</p> Signup and view all the answers

Null hypotheses are typically formulated to propose that there is no effect or relationship in an experiment.

<p>True</p> Signup and view all the answers

31% of software development projects are cancelled before completion.

<p>True</p> Signup and view all the answers

The average cost of a project for a large company is $4,322,000.

<p>False</p> Signup and view all the answers

Only 9% of large company projects are completed on time and on budget.

<p>True</p> Signup and view all the answers

Project overrun is often due to fully specified project objectives.

<p>False</p> Signup and view all the answers

User involvement has a significant impact on project success, accounting for 15.9% of successful projects.

<p>True</p> Signup and view all the answers

The assessment for COMP319 consists of 100% written examination.

<p>False</p> Signup and view all the answers

The average cost of a project for a medium company is higher than for a small company.

<p>True</p> Signup and view all the answers

Students are required to use Eclipse for Java development in COMP319.

<p>True</p> Signup and view all the answers

The module aims to focus solely on practical software programming skills.

<p>False</p> Signup and view all the answers

Technological illiteracy impacts 10.6% of failed projects.

<p>False</p> Signup and view all the answers

Tutorials for COMP319 occur twice a week.

<p>False</p> Signup and view all the answers

Bad planning and estimating is a reason for project overruns for 48% of projects.

<p>True</p> Signup and view all the answers

Scala is cited as a recommended programming language for the course.

<p>False</p> Signup and view all the answers

According to the Standish report, unrealistic expectations account for 12.4% of project failures.

<p>False</p> Signup and view all the answers

The Standish CHAOS report only highlights bad news regarding software projects.

<p>False</p> Signup and view all the answers

Recommended books for the course include 'Java Design Pattern Essentials'.

<p>True</p> Signup and view all the answers

COMP319 covers topics such as XP and Agile methodologies in software engineering.

<p>True</p> Signup and view all the answers

The only recommended source control resource is Subversion for the course.

<p>False</p> Signup and view all the answers

Software engineering focuses on the application of principles to design or develop machines and apparatus.

<p>False</p> Signup and view all the answers

The period from 1965 to 1985 is known as the software crisis era.

<p>True</p> Signup and view all the answers

Quality control in software engineering involves implementing the design as a product.

<p>False</p> Signup and view all the answers

The Ariane 5 failure was due to insufficient memory allocation.

<p>False</p> Signup and view all the answers

Agile methodologies emphasize incremental development and involve practices like SCRUM.

<p>True</p> Signup and view all the answers

Chronic failures can result in functionality problems and poor performance.

<p>True</p> Signup and view all the answers

The actor model is a pattern used in software implementation.

<p>True</p> Signup and view all the answers

Software engineering is solely concerned with creating software that is visually appealing.

<p>False</p> Signup and view all the answers

The Tesla Autopilot feature successfully detected all obstacles during 2023 incidents.

<p>False</p> Signup and view all the answers

Research areas in software engineering are static and do not evolve over time.

<p>False</p> Signup and view all the answers

A project being over budget is one of the ways software projects can fail.

<p>True</p> Signup and view all the answers

In the second theoretical development scenario, the specification was considered perfect.

<p>True</p> Signup and view all the answers

Requirements analysis is one of the key activities in software engineering.

<p>True</p> Signup and view all the answers

All code developed under high coding skills guarantees a high-quality product.

<p>False</p> Signup and view all the answers

The Pfizer COVID-19 vaccine rollout experienced delays due to hardware issues.

<p>False</p> Signup and view all the answers

Low quality code can lead to a project being unsupportable.

<p>True</p> Signup and view all the answers

The software crisis is defined solely by incomplete features.

<p>False</p> Signup and view all the answers

The EQF stands for Estimation Quality Factor and a higher score indicates better estimation.

<p>True</p> Signup and view all the answers

According to the Chaos Report, a project is successful if it completes within budget and on time.

<p>True</p> Signup and view all the answers

Estimating low timescales can lead to under-resourcing and over-promising.

<p>True</p> Signup and view all the answers

Boem's cone of uncertainty suggests that estimation improves as a project advances.

<p>True</p> Signup and view all the answers

A successfully completed project according to the Chaos Report has an average EQF of 2.3.

<p>False</p> Signup and view all the answers

Projects should aim for an EQF greater than 10 to be considered very good.

<p>True</p> Signup and view all the answers

The Chaos report initially suggested that project success rates were at 67%.

<p>True</p> Signup and view all the answers

Criticism of the Chaos report includes the claim that raw data was not published.

<p>True</p> Signup and view all the answers

An estimation skill is one of the factors that does not influence project success or failure.

<p>False</p> 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

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
  • 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)
  • 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.

Quiz Team

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.

Use Quizgecko on...
Browser
Browser