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 (B)

The effectiveness of pair programming can be tested by designing a controlled experiment.

True (A)

The Harvard University data shows that a higher percentage of women were admitted compared to men.

False (B)

In the analysis of software development performance, raw figures alone are sufficient to measure success.

<p>False (B)</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 (A)</p> Signup and view all the answers

31% of software development projects are cancelled before completion.

<p>True (A)</p> Signup and view all the answers

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

<p>False (B)</p> Signup and view all the answers

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

<p>True (A)</p> Signup and view all the answers

Project overrun is often due to fully specified project objectives.

<p>False (B)</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 (A)</p> Signup and view all the answers

The assessment for COMP319 consists of 100% written examination.

<p>False (B)</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 (A)</p> Signup and view all the answers

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

<p>True (A)</p> Signup and view all the answers

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

<p>False (B)</p> Signup and view all the answers

Technological illiteracy impacts 10.6% of failed projects.

<p>False (B)</p> Signup and view all the answers

Tutorials for COMP319 occur twice a week.

<p>False (B)</p> Signup and view all the answers

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

<p>True (A)</p> Signup and view all the answers

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

<p>False (B)</p> Signup and view all the answers

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

<p>False (B)</p> Signup and view all the answers

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

<p>False (B)</p> Signup and view all the answers

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

<p>True (A)</p> Signup and view all the answers

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

<p>True (A)</p> Signup and view all the answers

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

<p>False (B)</p> Signup and view all the answers

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

<p>False (B)</p> Signup and view all the answers

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

<p>True (A)</p> Signup and view all the answers

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

<p>False (B)</p> Signup and view all the answers

The Ariane 5 failure was due to insufficient memory allocation.

<p>False (B)</p> Signup and view all the answers

Agile methodologies emphasize incremental development and involve practices like SCRUM.

<p>True (A)</p> Signup and view all the answers

Chronic failures can result in functionality problems and poor performance.

<p>True (A)</p> Signup and view all the answers

The actor model is a pattern used in software implementation.

<p>True (A)</p> Signup and view all the answers

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

<p>False (B)</p> Signup and view all the answers

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

<p>False (B)</p> Signup and view all the answers

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

<p>False (B)</p> Signup and view all the answers

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

<p>True (A)</p> Signup and view all the answers

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

<p>True (A)</p> Signup and view all the answers

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

<p>True (A)</p> Signup and view all the answers

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

<p>False (B)</p> Signup and view all the answers

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

<p>False (B)</p> Signup and view all the answers

Low quality code can lead to a project being unsupportable.

<p>True (A)</p> Signup and view all the answers

The software crisis is defined solely by incomplete features.

<p>False (B)</p> Signup and view all the answers

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

<p>True (A)</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 (A)</p> Signup and view all the answers

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

<p>True (A)</p> Signup and view all the answers

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

<p>True (A)</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 (B)</p> Signup and view all the answers

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

<p>True (A)</p> Signup and view all the answers

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

<p>True (A)</p> Signup and view all the answers

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

<p>True (A)</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 (B)</p> Signup and view all the answers

Flashcards

Software complexity

Developing software is a complex process involving many different platforms, like iOS, Android, Windows, etc.

Software Engineering Crisis

A common issue in software development where projects often exceed budget, deadlines, or have quality issues.

Software Cost Estimation

A method used to estimate the time and cost of developing a software project.

Software Project Management

A structured way to manage the development of a software project, including tasks, timelines, and resources.

Signup and view all the flashcards

OO Design Patterns

Reusable solutions to common software design problems.

Signup and view all the flashcards

XP and Agile

Agile software development methodology emphasizing flexibility, collaboration, and iterative development.

Signup and view all the flashcards

Concurrency and the Actor Model

A model for handling simultaneous tasks in a software system, enabling efficient parallel processing.

Signup and view all the flashcards

Dependency Graphs

A visual representation of dependencies between software components.

Signup and view all the flashcards

Catastrophic Failures

Software failures that cause major disruptions or even loss of life, often due to fundamental design flaws or unexpected events.

Signup and view all the flashcards

Chronic Failures

Software failures that occur frequently and are not immediately life-threatening, but cause problems like delays, budget overruns, performance issues, and maintainability challenges.

Signup and view all the flashcards

Imperfect Specification Scenario

A scenario where the software development team is highly skilled, but the initial specifications are incomplete or inaccurate.

Signup and view all the flashcards

Perfect Specification Scenario

A scenario where the initial specifications are complete and accurate, but the development team lacks the necessary skills to implement them properly.

Signup and view all the flashcards

Tesla Autopilot Failure

A type of software failure involving the Autopilot function, where the system fails to detect obstacles during autonomous driving.

Signup and view all the flashcards

Pfizer Vaccine Rollout Failure

A software failure that delayed the rollout of a critical vaccine, highlighting the importance of robust software systems in healthcare.

Signup and view all the flashcards

Engineering

The application of scientific principles to design and develop structures, machines, apparatus, or manufacturing processes.

Signup and view all the flashcards

Software Engineering

The application of scientific principles to design and develop software systems.

Signup and view all the flashcards

Software Crisis

A period in software development history characterized by challenges in meeting timelines, budgets, and quality standards.

Signup and view all the flashcards

Pioneer Stage of Software Engineering

A period marked by the early development of software, focusing on basic concepts and tools.

Signup and view all the flashcards

Software Engineering (Definition)

A set of principles and practices to develop high-quality, reliable, and efficient software in a cost-effective manner.

Signup and view all the flashcards

Requirements Analysis

A stage in software development that involves analyzing the needs of users and defining what the software should accomplish.

Signup and view all the flashcards

Agile Development

An approach to software development that focuses on iterative development, feedback, and flexibility.

Signup and view all the flashcards

Test-Driven Development

A set of practices that emphasizes writing automated tests before writing code, ensuring quality and reliability.

Signup and view all the flashcards

Null Hypothesis

A statistical concept used to determine if an observed result is due to chance or a real effect.

Signup and view all the flashcards

Experiment

The process of systematically testing a hypothesis by manipulating variables and observing the effects on a dependent variable.

Signup and view all the flashcards

Sample Size

The number of individuals or data points included in a study. A larger sample size generally leads to more reliable results.

Signup and view all the flashcards

Paradox

A situation where a seemingly contradictory or illogical result occurs, often due to confounding factors or incomplete information.

Signup and view all the flashcards

Hypothesis Testing

A statistical method used to analyze data and determine if observed differences are statistically significant or due to random chance.

Signup and view all the flashcards

Software Glitch

A situation where a software system is unable to function as intended, often due to errors or unexpected behavior.

Signup and view all the flashcards

Software Update Failure

A widespread disruption caused by a software update, affecting multiple users and systems.

Signup and view all the flashcards

AI Text Generation Without Comprehension

The ability of AI to generate human-like text without understanding the meaning or context.

Signup and view all the flashcards

Standish Chaos Report

A report that analyzes the success and failure rates of software projects.

Signup and view all the flashcards

Successful Software Projects

Software projects that are completed on time, within budget, and meet all requirements.

Signup and view all the flashcards

Challenged Software Projects

Software projects that experience delays, budget overruns, or incomplete features.

Signup and view all the flashcards

Incomplete Software Projects

Software projects that are abandoned before completion.

Signup and view all the flashcards

Reasons for Software Project Overruns

Factors that contribute to software project failures, such as unclear goals, poor planning, and inadequate resources.

Signup and view all the flashcards

Factors Contributing to Successful Software Projects

Factors that contribute to software project success, such as user involvement, executive support, and well-defined requirements.

Signup and view all the flashcards

Reasons for Canceled or Failed Software Projects

Common reasons for software project cancellations, including incomplete requirements, lack of user involvement, and unrealistic expectations.

Signup and view all the flashcards

Estimation Quality Factor (EQF)

A metric used to assess the accuracy of software project estimations, calculated as the inverse of the average deviation between estimated and actual effort.

Signup and view all the flashcards

Software Project Estimation Bias

A phenomenon where software project estimations are often inaccurate, leading to schedule overruns and budget blowouts.

Signup and view all the flashcards

Boehm's Cone of Uncertainty

A visual representation of the increasing uncertainty about software project estimations as development progresses.

Signup and view all the flashcards

Contextual Project Success

A situation where the success or failure of a project is assessed based on its achievement of pre-defined goals within given constraints, such as budget and timeline.

Signup and view all the flashcards

The Chaos Report

A study that analyzed the success rates of software projects, highlighting the common issue of project failure due to inaccurate estimations and other factors.

Signup and view all the flashcards

Project Success Rate

A measure of the effectiveness of project management practices, influenced by factors like estimation accuracy and development skills.

Signup and view all the flashcards

Underestimation Bias

A common issue in software projects where estimations are consistently lower than actual effort required, leading to delays and budget overruns.

Signup and view all the flashcards

Overestimation Bias

A situation where project managers intentionally overestimate project time and resources to ensure sufficient buffer for unforeseen challenges.

Signup and view all the flashcards

Estimation Skill

A factor that contributes to project success, involving the ability to accurately predict the time and resources required for development.

Signup and view all the flashcards

Development Skill

A critical aspect of software project success, encompassing the technical competence and expertise of the development team.

Signup and view all the flashcards

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.

More Like This

Use Quizgecko on...
Browser
Browser