Agile Software Development Chapter 3
40 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 the principal responsibility of software project managers?

  • To facilitate pair programming and collective ownership
  • To manage the project so that the software is delivered on time and within the planned budget (correct)
  • To ensure the software is delivered with the highest quality
  • To assess the lessons learned from the project
  • What is the focus of the Scrum approach?

  • On managing iterative development (correct)
  • On pair programming and collective ownership
  • On project closure and documentation
  • On managing specific agile practices
  • How many phases are there in Scrum?

  • 2 phases
  • 4 phases
  • 3 phases (correct)
  • 5 phases
  • What is the typical length of a sprint in Scrum?

    <p>2-4 weeks</p> Signup and view all the answers

    What is the starting point for planning in Scrum?

    <p>The product backlog</p> Signup and view all the answers

    What is an important consideration when writing a requirements document?

    <p>Not making assumptions about the reader's experience or expertise</p> Signup and view all the answers

    What is the purpose of the project closure phase in Scrum?

    <p>To wrap up the project, complete required documentation and assess the lessons learned</p> Signup and view all the answers

    What is the result of each sprint cycle in Scrum?

    <p>An increment of the system</p> Signup and view all the answers

    What should be specified in the user requirements section?

    <p>Product and process standards that must be followed</p> Signup and view all the answers

    What is the purpose of prioritising requirements?

    <p>To resolve requirements conflicts</p> Signup and view all the answers

    Why do stakeholders sometimes express requirements in their own terms?

    <p>Because they are not technical experts</p> Signup and view all the answers

    What is the purpose of the system architecture chapter?

    <p>To present a high-level overview of the anticipated system architecture</p> Signup and view all the answers

    What is the relationship between sprints in Scrum and releases in XP?

    <p>Sprints are equivalent to releases</p> Signup and view all the answers

    What is the purpose of the software requirements document?

    <p>To provide an agreed statement of the system requirements</p> Signup and view all the answers

    What type of models may be included in the system models section?

    <p>Graphical system models showing the relationships between system components</p> Signup and view all the answers

    What is the requirements engineering process?

    <p>An iterative process of elicitation, specification, and validation</p> Signup and view all the answers

    What is the purpose of the system evolution chapter?

    <p>To describe the fundamental assumptions of the system and anticipated changes</p> Signup and view all the answers

    What is requirements discovery?

    <p>The process of gathering information about the required and existing systems</p> Signup and view all the answers

    Why is the system evolution chapter useful for system designers?

    <p>It helps them avoid design decisions that would constrain likely future changes</p> Signup and view all the answers

    Who are the stakeholders in the MHC-PMS?

    <p>Patients, doctors, nurses, and external regulators</p> Signup and view all the answers

    What should be described in the system requirements specification chapter?

    <p>The functional and nonfunctional requirements in more detail</p> Signup and view all the answers

    What might be included in the system models section?

    <p>Graphical system models showing the relationships between system components</p> Signup and view all the answers

    Why do new stakeholders emerge during the analysis process?

    <p>Because the business environment changes</p> Signup and view all the answers

    What is the purpose of requirements negotiation?

    <p>To resolve requirements conflicts</p> Signup and view all the answers

    What is the main characteristic of Extreme Programming (XP)?

    <p>It takes an 'extreme' approach to iterative development</p> Signup and view all the answers

    How often are new versions built in Extreme Programming (XP)?

    <p>Several times a day</p> Signup and view all the answers

    What is the primary goal of incremental development in Extreme Programming (XP)?

    <p>To support small, frequent system releases</p> Signup and view all the answers

    What is the role of the customer in Extreme Programming (XP)?

    <p>Full-time engagement with the development team</p> Signup and view all the answers

    What is the purpose of refactoring in Extreme Programming (XP)?

    <p>To maintain simplicity through constant refactoring of code</p> Signup and view all the answers

    What is the primary goal of incremental planning in Extreme Programming (XP)?

    <p>To determine the stories to be included in a release</p> Signup and view all the answers

    What is the main characteristic of a small release in Extreme Programming (XP)?

    <p>It is a minimal useful set of functionality that provides business value</p> Signup and view all the answers

    What is the purpose of simple design in Extreme Programming (XP)?

    <p>To design only what is necessary to meet the current requirements</p> Signup and view all the answers

    What is the purpose of a tabular specification in requirements engineering?

    <p>To supplement natural language specifications</p> Signup and view all the answers

    What is the result of the computation for an insulin pump system when the sugar level is falling (r2 < r1)?

    <p>CompDose = 0</p> Signup and view all the answers

    What is the main difference between requirements engineering processes in different application domains?

    <p>The organisation developing the requirements</p> Signup and view all the answers

    What is the purpose of requirements elicitation in RE?

    <p>To gather the requirements</p> Signup and view all the answers

    What is the result of the computation for an insulin pump system when the sugar level is increasing and the rate of increase is decreasing?

    <p>CompDose = round ((r2 – r1)/4)</p> Signup and view all the answers

    What is the characteristic of RE processes in practice?

    <p>They are iterative and interleaved</p> Signup and view all the answers

    What is the purpose of requirements analysis in RE?

    <p>To check the requirements for consistency and completeness</p> Signup and view all the answers

    What is the result of the computation for an insulin pump system when the sugar level is stable (r2 = r1)?

    <p>CompDose = 0</p> Signup and view all the answers

    Study Notes

    Agile Software Development

    • Extreme Programming (XP) is a well-known agile method that takes an "extreme" approach to iterative development.
    • XP's key practices include:
      • New versions may be built several times a day.
      • Increments are delivered to customers every 2 weeks.
      • All tests must be run for every build, and the build is only accepted if tests run successfully.

    XP and Agile Principles

    • Incremental development is supported through small, frequent system releases.
    • Customer involvement means full-time customer engagement with the team.
    • People not process: through pair programming, collective ownership, and a process that avoids long working hours.
    • Change is supported through regular system releases.
    • Maintaining simplicity through constant refactoring of code.

    The Extreme Programming Release Cycle

    • Incremental planning: requirements are recorded on story cards, and the stories to be included in a release are determined by the time available and their relative priority.
    • Small releases: the minimal useful set of functionality that provides business value is developed first.
    • Releases of the system are frequent and incrementally add functionality to the first release.
    • Simple design: enough design is carried out to meet the current requirements and no more.

    Agile Project Management

    • The principal responsibility of software project managers is to manage the project so that the software is delivered on time and within the planned budget.
    • Agile project management requires a different approach, adapted to incremental development and the particular strengths of agile methods.

    Scrum

    • Scrum is a general agile method that focuses on managing iterative development rather than specific agile practices.
    • Scrum has three phases: outline planning, sprint cycles, and project closure.
    • Sprints are fixed length, normally 2-4 weeks, and correspond to the development of a release of the system in XP.

    Requirements Engineering

    The Structure of a Requirements Document

    • System requirements: describe the functional and nonfunctional requirements in more detail.
    • System models: include graphical system models showing the relationships between the system components and the system and its environment.
    • System evolution: describe the fundamental assumptions on which the system is based and any anticipated changes due to hardware evolution, changing user needs, and so on.

    Tabular Specification

    • Used to supplement natural language, particularly useful when defining a number of possible alternative courses of action.
    • Example: tabular specification of computation for an insulin pump.

    Requirements Engineering Processes

    • Requirements elicitation: gathering information about the required and existing systems.
    • Requirements analysis: distilling the user and system requirements from the gathered information.
    • Requirements validation: checking that the requirements are correct and complete.
    • Requirements management: managing changes to the requirements.

    Problems of Requirements Elicitation

    • Stakeholders may not know what they really want.
    • Stakeholders may express requirements in their own terms.
    • Different stakeholders may have conflicting requirements.
    • Organisational and political factors may influence the system requirements.
    • Requirements may change during the analysis process.

    Key Points

    • The software requirements document is an agreed statement of the system requirements.
    • The requirements engineering process is an iterative process including requirements elicitation, specification, and validation.
    • Requirements elicitation and analysis is an iterative process that can be represented as a spiral of activities.

    Studying That Suits You

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

    Quiz Team

    Related Documents

    FINAL.pdf

    Description

    Learn about extreme programming, a widely used agile method in software development, and its iterative approach. Understand how it works with daily builds and bi-weekly increments.

    More Like This

    Use Quizgecko on...
    Browser
    Browser