Software Research Methods and Gender Bias
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

What is one possible explanation for the low birth weight paradox?

  • Babies born to smoking mothers may receive more medical attention.
  • Smoking during pregnancy may cause lower birth weights that correlate with lower infant mortality. (correct)
  • Low birth weight is always a risk factor for higher infant mortality.
  • Low birth weight babies are less likely to be born in low socioeconomic conditions.
  • Which of the following is a reason why raw figures may not be sufficient in software research?

  • Raw figures can overestimate the difficulties faced by the teams.
  • Raw figures provide a complete view of the developers' productivity.
  • Raw figures are always biased based on project funding.
  • Raw figures do not account for variations in team experience. (correct)
  • What aspect does a null hypothesis generally pertain to in an experiment?

  • It hypothesizes an increase in outcomes due to stronger methods.
  • It claims the experiment will always succeed.
  • It states that there is no effect or relationship. (correct)
  • It confirms the alternative hypothesis.
  • In the context of Harvard's gender bias statistics, which finding is notable?

    <p>Men had a larger number of applications but lower acceptance rates. (C)</p> Signup and view all the answers

    How can the effectiveness of pair programming be evaluated in an experiment?

    <p>By assessing team output and quality of code produced. (B)</p> Signup and view all the answers

    What percentage of the overall assessment is attributed to the written examination?

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

    Which of the following is NOT mentioned as a recommended book for the module?

    <p>Effective Java (D)</p> Signup and view all the answers

    Which software development tool is specifically mentioned as necessary for Java development?

    <p>Eclipse (D)</p> Signup and view all the answers

    What is one of the focus areas of the module aims?

    <p>Producing software in a timely manner (B)</p> Signup and view all the answers

    Which topic is included in the contents of the module?

    <p>Concurrency and the Actor model (B)</p> Signup and view all the answers

    How often are tutorials held in the module?

    <p>Once a week (B)</p> Signup and view all the answers

    What is the primary aim of reviewing research papers in this module?

    <p>To enhance understanding of software engineering (B)</p> Signup and view all the answers

    Which source control resource is recommended for this module?

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

    What type of software failure was the Ariane 5 launch associated with?

    <p>Catastrophic failure (C)</p> Signup and view all the answers

    Which of the following is NOT listed as a way for a project to fail?

    <p>Project loses all data (C)</p> Signup and view all the answers

    What can be a consequence of low quality code in a project?

    <p>Chronic functionality problems (D)</p> Signup and view all the answers

    Which scenario involves a highly skilled team using the best object-oriented techniques?

    <p>Theoretical Development Scenario 1 (A)</p> Signup and view all the answers

    What issue arose with the Tesla Autopilot feature in 2023?

    <p>Software glitch causing crashes (C)</p> Signup and view all the answers

    What type of specification was used in Theoretical Development Scenario 2?

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

    Which of the following would NOT be considered a hard problem in software development?

    <p>Simple user interfaces (B)</p> Signup and view all the answers

    What consequence resulted from a software glitch during the rollout of the Pfizer COVID-19 vaccine?

    <p>Delay in distribution (D)</p> Signup and view all the answers

    What percentage of software projects are completed on time and on budget according to the Standish CHAOS report?

    <p>16.2% (C)</p> Signup and view all the answers

    What was the primary reason for project overruns as per the Standish CHAOS report?

    <p>Bad Planning and Estimating (C)</p> Signup and view all the answers

    Which type of project completion is characterized as 'Challenged' in the Standish project resolution framework?

    <p>Over time and budget with incomplete features (C)</p> Signup and view all the answers

    According to the findings, what is a key factor in successful projects?

    <p>Clear Statement of Requirements (C)</p> Signup and view all the answers

    What percentage of projects is cited for having 'Incomplete Requirements' as a reason for cancellation or failure?

    <p>13.1% (C)</p> Signup and view all the answers

    Which aspect is NOT highlighted as a characteristic of successful projects in the Standish CHAOS report?

    <p>High Market Demand (D)</p> Signup and view all the answers

    Which software platform experienced a significant global failure due to an update from Crowdstrike?

    <p>Windows (C)</p> Signup and view all the answers

    What is the average cost of a software project for a medium-sized company as stated in the Standish report?

    <p>$1,331,000 (D)</p> Signup and view all the answers

    What term describes projects that are completed on time and on budget with all features as per the Standish classification?

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

    Which is a common concern raised due to the glitch affecting vaccine tracking?

    <p>Safety and efficacy of the vaccine (B)</p> Signup and view all the answers

    What characterizes the pioneer stage of software engineering from 1945 to 1965?

    <p>Development of the first computer programs (D)</p> Signup and view all the answers

    Which of the following is NOT a general engineering principle?

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

    What is the primary focus of the software crisis phase from 1965 to 1985?

    <p>Research in formal methods and OO methods (B)</p> Signup and view all the answers

    Which of the following activities is part of software management?

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

    What is a key trend in modern software engineering?

    <p>Emphasis on Agile and test-driven development (D)</p> Signup and view all the answers

    According to NATO Science Committee, what is considered sound software engineering?

    <p>Applying scientific principles for efficiency and reliability (C)</p> Signup and view all the answers

    Which activity is performed right after software design?

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

    What does the term 'No software silver bullet' imply in the context of software engineering?

    <p>Complex software problems require multiple approaches (C)</p> Signup and view all the answers

    What is the Chaos Report primarily concerned with?

    <p>Project delivery and estimation (B)</p> Signup and view all the answers

    How is project success primarily measured according to the Chaos Report?

    <p>By comparing budget and time (B)</p> Signup and view all the answers

    What does an EQF (Estimation Quality Factor) score greater than 10 indicate?

    <p>Very good estimation (C)</p> Signup and view all the answers

    Which of the following is NOT listed as a factor influencing project success or failure?

    <p>Technological advancements (C)</p> Signup and view all the answers

    What does the term 'overrun' typically refer to in the context of project management?

    <p>Going beyond the scheduled delivery date (B)</p> Signup and view all the answers

    Which statement is accurate about the criticisms of the Chaos Report?

    <p>The classification of project success is often incomplete. (A)</p> Signup and view all the answers

    What is the formula for calculating the Estimation Quality Factor (EQF)?

    <p>EQF = 1 / (Average(Deviation/Actual)) (B)</p> Signup and view all the answers

    What does a low EQF indicate about a project?

    <p>There was a significant error in estimated versus actual performance. (D)</p> Signup and view all the answers

    What is typically encouraged among project managers concerning their estimations?

    <p>To overestimate in order to manage expectations. (C)</p> Signup and view all the answers

    What can be inferred about projects with an EQF of 0.43?

    <p>They had very low success rates. (B)</p> Signup and view all the answers

    Flashcards

    Software Engineering Crisis

    A phenomenon where software development struggles to keep up with increasing demands and complexity. This is often reflected in projects exceeding budgets, deadlines, and falling short of expectations.

    Software Cost Estimation

    A method to predict the resources (time, money, people) needed to complete a software project.

    OO Design Patterns

    A set of proven solutions (like blueprints) for common software design problems.

    XP (Extreme Programming)

    A software development methodology that focuses on flexibility, collaboration, and delivering value quickly.

    Signup and view all the flashcards

    Actor Model

    A model of concurrent computation designed for parallel and distributed systems. It involves autonomous 'actors' that communicate with each other via asynchronous messages.

    Signup and view all the flashcards

    Agile Development

    A software development philosophy that prioritizes adaptability, customer collaboration, and delivering working software in short iterations.

    Signup and view all the flashcards

    Dependency Graph

    A representation of the dependencies between different parts of a program, showing how changes in one part can affect other parts.

    Signup and view all the flashcards

    Program Slicing

    A technique for identifying and isolating sections of code that contribute to a particular output or behavior in a program.

    Signup and view all the flashcards

    Software Failure

    A situation where a software project fails to deliver a product that meets its goals, such as being completed on time and within budget or having the desired functionality.

    Signup and view all the flashcards

    Catastrophic Failure

    A software failure that is severe and has significant, often disastrous, consequences. It may result in loss of life, property damage, or major financial losses.

    Signup and view all the flashcards

    Chronic Failure

    A software failure that is persistent and recurring, leading to delays, budget overruns, and poor quality software. These failures are often related to weak software design and coding practices.

    Signup and view all the flashcards

    Project Incomplete

    A software failure where the project does not reach completion, often due to lack of resources, poor planning, or unforeseen challenges.

    Signup and view all the flashcards

    Project Over Budget

    A software failure where the project exceeds the allotted budget, often due to unforeseen costs, inefficient development practices, or changing requirements.

    Signup and view all the flashcards

    Project Is Buggy

    A software failure where the project is riddled with defects and bugs, compromising its quality and reliability.

    Signup and view all the flashcards

    Project Over Time Schedule

    A software failure where the project takes longer than the planned timeframe to complete, often due to poor planning, inadequate resources, or unforeseen challenges.

    Signup and view all the flashcards

    Code Base is Unsupportable

    A software failure characterized by code that is difficult to understand, modify, and maintain, making it challenging to fix bugs or add new features.

    Signup and view all the flashcards

    Null Hypothesis

    A hypothesis that assumes no significant difference or relationship between the variables being studied.

    Signup and view all the flashcards

    Statistical Significance

    The process of analyzing data to determine whether an observed result could have occurred by chance or if there's a real effect.

    Signup and view all the flashcards

    Model

    A simplified representation of a real-world phenomenon used to study its characteristics and behavior.

    Signup and view all the flashcards

    Sample Size

    The number of observations or data points used in a study or experiment.

    Signup and view all the flashcards

    Confounding Factor

    Occurs when an observed effect appears to be caused by one factor, but in reality, it's influenced by another hidden factor.

    Signup and view all the flashcards

    Microsoft Azure Platform Failure (2024)

    A technology failure that occurred when a software update from Crowdstrike caused a blue screen of death on Windows PCs, affecting various industries globally.

    Signup and view all the flashcards

    CNET's AI-Generated Article

    An AI tool used by CNET to generate articles on compound interest, but the AI produced inaccurate information, demonstrating the limitations of AI in financial writing.

    Signup and view all the flashcards

    ChatGPT's Lack of Understanding

    Language models like ChatGPT don't truly understand the meaning of the text they generate; they utilize statistical patterns from their training data to create text.

    Signup and view all the flashcards

    Standish Chaos Report

    A report that tracks the success and failure rates of software development projects, highlighting challenges like exceeding budgets and deadlines, and project cancellations.

    Signup and view all the flashcards

    Type 1 Successful Standish Project

    A successful software development project meets all requirements, finishes on time, and within budget.

    Signup and view all the flashcards

    Type 2 Challenged Standish Project

    Projects that finish late or over budget, or lack some planned features, are considered challenged projects.

    Signup and view all the flashcards

    Type 3 Incomplete Standish Project

    Projects that are abandoned before completion are categorized as incomplete projects.

    Signup and view all the flashcards

    Project Overrun Reasons

    Inaccurate project planning, lack of user involvement, and unclear requirements are a major reason for projects going over budget or not finishing on time.

    Signup and view all the flashcards

    Successful Project Factors

    Standish research shows that successful projects prioritize user involvement, clear requirements, and a well-defined project management process.

    Signup and view all the flashcards

    Reasons for Project Failure

    Incomplete requirements, lack of user involvement, and unrealistic expectations can lead to failed projects.

    Signup and view all the flashcards

    What is Software Engineering?

    The creative application of scientific principles to design and develop software systems. It uses engineering principles to create reliable and efficient software.

    Signup and view all the flashcards

    What was the Software Crisis?

    A period in software development history characterized by projects exceeding budgets, deadlines, and failing to meet expectations. It highlighted the need for better software development practices.

    Signup and view all the flashcards

    What was the Pioneer Stage of Software Engineering?

    A stage in software development history marked by early experimentation and exploration of concepts like high-level languages and object-oriented programming.

    Signup and view all the flashcards

    What is the NATO definition of Software Engineering?

    A set of principles and practices to develop quality software economically. It focuses on achieving efficiency, reliability, and maintainability.

    Signup and view all the flashcards

    What are the main activities in Software Engineering?

    A collection of activities involved in software development, encompassing everything from defining requirements to testing and managing projects.

    Signup and view all the flashcards

    What is Agile Development?

    A methodology that focuses on flexibility, collaboration, and delivering working software in short cycles. It emphasizes adaptability and customer feedback.

    Signup and view all the flashcards

    What are Design Patterns?

    A set of proven solutions for common software design challenges, offering blueprints for recurring design problems.

    Signup and view all the flashcards

    Why are experiments in Software Engineering difficult?

    Designing experiments for software engineering is complex because the context of each activity must be considered. The conclusions drawn from research should always be examined critically.

    Signup and view all the flashcards

    Estimation Quality Factor (EQF)

    The level of accuracy in predicting the time required for a software project to be completed.

    Signup and view all the flashcards

    Deviation/Actual

    Describes how much a project's actual completion time deviates from its initial estimation. It's often expressed as a ratio.

    Signup and view all the flashcards

    Project Success/Failure

    A measure of how well a software project is managed, typically based on factors like budget, time, and functionality.

    Signup and view all the flashcards

    Sales Driven Estimation

    An approach to software estimation where sales are prioritized, potentially leading to underestimation and under-resourcing.

    Signup and view all the flashcards

    Development Driven Estimation

    An approach to software estimation where the development needs are considered first, potentially leading to more realistic estimations.

    Signup and view all the flashcards

    Boehm's Cone of Uncertainty

    A visual model that represents the uncertainty in software project estimations. The uncertainty decreases as the project progresses.

    Signup and view all the flashcards

    Positive Bias

    When a project completes earlier or within the budget despite initial underestimation, indicating a positive bias in the estimation process.

    Signup and view all the flashcards

    Overestimation

    The practice of deliberately overestimating project timelines and costs to buffer against unforeseen challenges.

    Signup and view all the flashcards

    Chaos Reports

    Reports that often analyze the success and failure rates of software projects.

    Signup and view all the flashcards

    Rise and Fall of the Chaos Report Figures

    A phenomenon where the initial reports and figures from studies or analyses are significantly skewed, leading to inaccurate conclusions.

    Signup and view all the flashcards

    Study Notes

    Course Information

    • Course Title: SOFTWARE ENGINEERING II
    • Course Code: COMP319
    • Academic Year: 2024-2025
    • Instructor: Sebastian Coope
    • Email: [email protected]

    Delivery

    • Lectures: On-campus and online recorded lectures.
    • Tutorials/Seminars: One hour per week.

    Installation

    • Install Eclipse for Java development (latest version).
    • Install AspectJ development tools.
    • Use a source control resource (e.g., GitHub).

    Assessment

    • 80% Written examination.
    • 20% Object-Oriented (OO) pattern design programming assignment.
    • Exam material covers lectures and tutorial work.

    Module Aims

    • Introduce advanced software engineering topics.
    • Review and analyze software engineering research papers.
    • Focus on how to read research papers and improve software development.

    Module Materials

    • Lecture notes
    • Selected papers
    • Past exam papers and model answers
    • Tutorial sheets
    • No single recommended textbook; research and advanced topics are essential.
    • 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 techniques.
    • Object-Oriented (OO) design patterns.
    • Agile practices (e.g., Scrum, Extreme Programming (XP)).
    • Concurrency and the Actor model.
    • Dependency graphs and program slicing

    Software Engineering (Slide 9)

    • High complexity due to numerous platforms (e.g., iPhone, Android).
    • Use of varied models, such as client-server and peer-to-peer.
    • Complex problems (e.g., AI, neural networks), as well as large software size (e.g., Linux kernel).

    Software Crisis and Failure Classification (Slide 10)

    • Catastrophic failures (e.g., Ariane 5 rocket failure due to variable overflow).
    • Chronic failures (e.g., project overruns, poor functionality, low code quality).

    Ways to Fail (Slide 11)

    • Project incompleteness.
    • Budget overruns.
    • Buggy projects.
    • Missed deadlines. Incomplete feature sets.
    • Code base unsupportability (e.g., poor code, inflexibility).
    • Poor platform portability.

    Theoretical Development Scenarios (Slides 12 and 13)

    • Presents two scenarios emphasizing different specification and development team qualities.

    Failures 2023 (Slides 14 and 15)

    • Tesla autopilot incidents: Failures to detect obstacles.
    • Pfizer COVID-19 vaccine rollout delays: Software issue disrupting tracking.

    Failures 2024 (July) (Slide 17)

    • Microsoft Azure update issues causing Windows blue screen of death in many sectors (e.g., Airlines, NHS). These were not related to attacks.

    CNET Money (Slide 18)

    • CNET used AI to generate an article on compound interest calculation. Example demonstrating accuracy and effectiveness.

    Limits of Language Models (Slide 19)

    • Chat GPT, despite sophisticated text generation, relies on statistical patterns from training data; it does not genuinely understand the text generated.

    Standish Chaos Report (Slide 20)

    • Comprehensive study of software development projects; total spend, costs, cancellation rates, and on-time/on-budget project percentages are key aspects.

    Standish Project Resolution (Slide 21)

    • Categorizes software projects into successful, challenged, and incomplete types, based on completion and budget/time adherence.

    Standish Chaos Report Findings (Slides 22 and 23)

    • Detailed causes of project overruns and project success.
    • The most frequent project overrun reasons and reasons for project success to support projects.

    Reasons for Cancelled/Failed Projects (Slide 24)

    • Primary causes behind project cancellation or failure.

    Standish Chaos in Perspective (Slide 25)

    • Critiques the bias and limitation of Standish metrics.

    Chaos Report Analysis (Slide 26)

    • Critical discussion on challenges around defining failures and overruns.

    Chaos Report Criticisms (Slide 27)

    • Key limitations and issues raised in evaluating the chaos report's data accuracy and categorization.

    Estimation and Chaos Report (Slide 28)

    • Importance of estimation accuracy for software projects.
    • Companies' tendencies toward either underestimation or overestimation.

    Boem's Cone of Uncertainty (Slide 29)

    • Presents a graphical representation of uncertainty in software project scheduling.

    Project Success/Failure (Slide 30)

    • Project success is dependent on several external factors, including company context, culture, and estimation/development skills.

    Estimation Quality Factor (EQF) (Slides 31 and 32)

    • Provides a measure of estimation accuracy (EQF)
    • This technique allows for determination of whether an estimate is accurate

    EQF Example (Slide 33)

    • Presents an example of calculating EQF using sample data.

    EQF (Slide 34)

    • Importance of EQF scores for estimation accuracy.
    • High EQF scores indicate accurate estimation, while low scores point to estimation inaccuracies/inaccuracies

    Bias (Slide 35)

    • Definition and calculation of bias to adjust estimation accuracy.

    Example Data from Slide 36

    • Illustrates the calculation of bias for the project estimations

    Things that Effect Estimation (Slide 37)

    • Factors that influence project estimation accuracy (e.g., timing, management pressure, experience, design details, specification details).

    In General (regarding bias, Slide 38)

    • General summary of possible estimator bias and potential causes.

    Exercise (Slides 39 & 40)

    • Calculation tasks for EQF and bias, and analysis of the results.

    Rise and Fall of the Chaos Report Figures (Slides 40 - 42)

    • Detailed analysis of various studies involving the Chaos report and their outcomes; the findings have been evaluated in numerous studies.

    Research and Critical Analysis (Slide 43)

    • Importance when evaluating research of critically assessing the underlying methodology, sample size, and potential biases.

    Exercise (Slide 44)

    • Includes a pair programming effectiveness experiment setup exercise.

    Final Point on Using Statistics (Slide 45)

    • Presents a paradox regarding low birth weight and smoking during pregnancy.

    Another Example (Slide 46)

    • Discusses Harvard University's admissions data highlighting potential for bias.

    Harvard Figures Broken Down (Slide 47)

    • Provides a more elaborate or detailed breakdown of data.

    What's This To Do with Software Research (Slide 48)

    • Highlights the importance of recognizing hidden biases when comparing different teams' or organizations' performance.

    Engineering (Slide 49)

    • Definition of engineering in a broad sense; in this context, it is related to the broad application of science in creating and building useful systems or products.

    Software Engineering (Slide 50)

    • Definition of Software Engineering.

    Software Engineering History (Slide 51)

    • Overview of software engineering timeline
    • Phases of development and crucial events.

    Software Engineering Definition (Slide 52)

    • Definition from NATO Science Committee, Fritz Bauer.

    General Engineering Principles (Slide 53)

    • General engineering principles (specification, design, manufacturing, quality, testing, modification).

    Software Engineering Activities (Slide 54)

    • Key activities in the software development process.
    • Key trends in software engineering (e.g., Agile methodologies, software tools, improved languages, incremental development, and project management).

    Summary (Slide 56)

    • Brief summary of main ideas about researching experiments, considering context and being skeptical of results.

    Studying That Suits You

    Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

    Quiz Team

    Related Documents

    Description

    This quiz covers various aspects of software research methods, including evaluations of pair programming and the significance of null hypotheses. Additionally, it addresses notable findings related to gender bias statistics from Harvard and other essential module content. Test your understanding of these critical topics in software development and research methodology.

    More Like This

    Software Development in Research Overview
    12 questions
    Software Engineering Requirements Research Papers Quiz
    10 questions
    Use Quizgecko on...
    Browser
    Browser