quiz image

Agile Software Engineering - Ian Sommerville 2018

AccessibleReef avatar
AccessibleReef
·
·
Download

Start Quiz

Study Flashcards

30 Questions

What is the primary focus of agile software engineering?

Delivering functionality quickly and responding to changing product specifications

Which of the following is a key characteristic of plan-driven development?

Detailed project planning and requirements specification

Why were agile methods developed in the 1990s?

To address the limitations of plan-driven development

What is the relationship between agile methods and plan-driven development?

Agile methods and plan-driven development are complementary approaches

Which of the following is true about agile methods?

Agile methods are only suitable for geographically co-located development teams

What is the primary purpose of agile software engineering?

To minimize development overheads and bureaucracy while rapidly delivering functionality

What is the ideal size range for a Scrum team?

5-8 people

What is a key advantage of a self-organizing team in Agile Software Engineering?

Adaptability to change

Why is good team communication important in Scrum teams?

To enhance learning and understanding among team members

Which approach does Agile Software Engineering limit in its involvement of engineers?

External interactions with management and customers

What assumption did the developers of Scrum make regarding team location?

Teams would be co-located

Why does a Scrum team need individuals with different skills?

To tackle diverse tasks effectively

What does Scrum assume about the team members' workspace?

Team members will work in the same room full-time

Why might daily scrums not always work effectively as a coordination mechanism?

Working on several projects simultaneously

Who should be involved in external interactions in Scrum?

Only the Product Owner

Why is it important for developers in Scrum to focus on development without external interference?

To avoid distractions

In what scenarios might daily scrums be challenging to implement effectively?

When some team members work part-time and in different places

Why does Scrum emphasize that developers should focus on development?

To avoid external interference or distractions

What is the primary purpose of the refinement activity in the product backlog?

To create new product backlog items from existing ones.

What metric is typically used to estimate the amount of work required for implementing a product backlog item?

Effort required in person-hours or person-days

Which of the following activities is responsible for adding new features, changes, or improvements to the product backlog?

Creation

What is the primary difference between effort required and calendar time for implementing a product backlog item?

Effort required considers only the work of one person, while calendar time accounts for multiple people working on the item.

Which activity in the product backlog is responsible for reordering the product backlog items based on new information or changed circumstances?

Prioritization

Which of the following could be a reason for creating a new product backlog item during the creation activity?

To assess the use of new development tools or processes.

What is one of the key points emphasized in the text regarding agile software engineering methods?

Iterative development is a core aspect of agile software engineering methods.

What distinguishes Scrum from Extreme Programming (XP) in agile software development?

XP defines the technical practices to be used, while Scrum does not.

What is a characteristic of the product backlog in Scrum methodology?

It contains work items to be completed in increments of the software.

Which statement best describes the focus of Extreme Programming (XP) in agile software development?

Defining specific engineering practices like user stories and continuous integration.

What is the main emphasis of agile software engineering methods in terms of product development and delivery?

Iterative development and minimizing overheads.

What sets agile software engineering methods apart from traditional software development approaches?

Agile methods feature iterative development and quick product delivery.

Study Notes

Agile Software Engineering

  • Software products must be brought to market quickly, making rapid software development and delivery essential.
  • Agile software engineering focuses on delivering functionality quickly, responding to changing product specifications, and minimizing development overheads.

Plan-driven Development vs. Agile Methods

  • Plan-driven development is based on controlled and rigorous software development processes, involving detailed project planning, requirements specification, and analysis.
  • However, plan-driven development involves significant overheads and documentation, and does not support rapid development and delivery of software.
  • Agile methods were developed to address this problem, focusing on software rather than documentation, and aiming to reduce process bureaucracy.

Agile Methods

  • Agile methods focus on delivering software in a series of increments, and aim to reduce process bureaucracy as much as possible.
  • There is no 'best' agile method or technique, as it depends on the team, the type of product being developed, and the individual using the technique.

Scrum

  • Scrum is an agile method that focuses on agile planning and management.
  • In Scrum, the developers of Scrum assumed that teams would be co-located and could communicate informally.
  • Daily scrums involve team members discussing tasks and reaching a consensus on who should do what.

Scrum Team

  • The ideal Scrum team size is between 5 and 8 people.
  • Teams require people with different skills, such as networking, user experience, and database design.
  • A team of 5-8 people is large enough to be diverse yet small enough to communicate informally and effectively.

Team Coordination

  • Team coordination involves daily scrums, where team members know what's been done and what others are doing.
  • However, the use of daily scrums as a coordination mechanism assumes that team members are full-time workers who share a workspace, which may not always be the case.

External Interactions

  • In Scrum, the idea is that developers should focus on development, and only the ScrumMaster and Product Owner should be involved in external interactions.
  • The intention is that the team should be able to work on software development without external interference or distractions.

Product Backlog

  • The product backlog is a list of work items to be completed.
  • Product backlog activities include refinement, estimation, creation, and prioritization.

PBI Estimation Metrics

  • PBI estimation metrics include effort required, which is the number of hours or days it would take one person to implement a PBI.
  • Effort required is not the same as calendar time, as several people may work on an item, shortening the calendar time required.

Explore the principles and practices of Agile software engineering as discussed in Ian Sommerville's 2018 edition. Learn about the importance of rapid development, responding to changing specifications, and minimizing overheads.

Make Your Own Quizzes and Flashcards

Convert your notes into interactive study material.

Get started for free

More Quizzes Like This

Are You Agile?
15 questions

Are You Agile?

JubilantAntigorite6179 avatar
JubilantAntigorite6179
Software Engineering Process Models Quiz
5 questions
Agile Software Development Chapter 3
10 questions
Use Quizgecko on...
Browser
Browser