Questions and answers: Software project management

Revise Software project management: here is a selection of questions of every level, with the answer and an explanation. To test yourself without seeing the answers, play the quizzes.

Play the Software project management quizzes

Easy

In the waterfall model, how do the phases of a project follow one another?

Answer : The phases follow a strict order, each starting at the end of the previous one

In the waterfall model, each phase starts only when the previous one is finished, in a strict order.

In the V-model, which phase does unit testing correspond to on the descending branch?

Answer : Coding

Each phase of the descending branch has a symmetric test on the ascending branch: unit tests verify the coding.

Which phase does the descending branch of the V-model start with?

Answer : Requirements definition

The descending branch starts with the definition of the customer's requirements, then goes down to coding before the tests come back up.

What is the main purpose of a prototype in a software project?

Answer : Validating an idea or an interface with users

A prototype is used to validate an idea or an interface with users before starting full development.

Which lifecycle model, proposed by Barry Boehm, repeats cycles, each including a risk analysis?

Answer : The spiral model

The spiral model, published by Barry Boehm in 1986, adds a risk assessment to each loop before development.

In an incremental approach, what is delivered at each stage of the project?

Answer : A usable functional part, added to the previous ones

An incremental approach delivers, at each stage, a functional part of the product, which is added to the previous deliveries.

The Agile Manifesto, published in 2001, sets out how many values?

Answer : 4

The Agile Manifesto, written in 2001, sets out four values, including customer collaboration and responding to change.

What is the role of acceptance testing in the V-model?

Answer : Checking that the software meets the needs expressed

Acceptance testing, or validation tests, checks that the product meets the needs expressed by the customer.

Medium

Which UML diagram shows the messages exchanged between objects in chronological order?

Answer : The sequence diagram

The sequence diagram places objects in columns and shows the messages exchanged from top to bottom, in time order.

In a use case diagram, what does the stick figure represent?

Answer : An actor, who interacts with the system

An actor represents an external role, human or system, that interacts with the system under study.

In a class diagram, what does a filled diamond on the side of the enclosing class mean?

Answer : A composition: the parts do not exist without the whole

A filled diamond denotes a composition: the parts do not exist without the whole. A hollow diamond denotes an aggregation.

Which Gang of Four design pattern ensures that a class has only one instance?

Answer : Singleton

The Singleton pattern restricts a class to a single instance, accessible globally.

What is the main goal of the Observer pattern?

Answer : Automatically notifying dependent objects when a state changes

Observer lets an object automatically notify a list of dependent objects when its state changes.

Which pattern makes it possible to replace one algorithm with another at run time, behind the same interface?

Answer : Strategy

The Strategy pattern encapsulates interchangeable algorithms behind a common interface, chosen at run time.

Which pattern dynamically adds responsibilities to an object by wrapping it, without modifying its class?

Answer : Decorator

Decorator wraps an object in another object that implements the same interface and adds behavior.

Which pattern creates an object through a method that subclasses override to choose the class to instantiate?

Answer : Factory Method

Factory Method moves the choice of the class to instantiate to subclasses, which override the creation method.

Hard

In the test pyramid, which type of test should be the most numerous?

Answer : Unit tests

The pyramid puts unit tests at the base, in large numbers, then integration tests, and end-to-end tests at the top, in small numbers.

In TDD, what is the first step of a cycle?

Answer : Writing a failing test

The red, green, refactor cycle starts with a test that fails, then with the minimal code that makes it pass.

What does a test suite's code coverage measure?

Answer : The proportion of lines executed during the tests

Coverage shows which lines are executed by the tests, but not whether the expected behavior is correct.

What is the main purpose of a peer code review?

Answer : Spotting defects and sharing knowledge of the code within the team

A code review helps spot defects early and spreads knowledge of the code within the team.

Who introduced the technical debt metaphor in 1992?

Answer : Ward Cunningham

Ward Cunningham compared design shortcuts to a loan, whose interest is paid back later in complexity.

What does it mean to refactor code?

Answer : Restructuring the code without changing its observable behavior

Refactoring improves the internal structure of the code while its visible behavior stays the same, supported by tests.

In semantic versioning (MAJOR.MINOR.PATCH), when should the MINOR number be incremented?

Answer : When a feature is added while remaining compatible with the previous version

In semantic versioning, the MINOR number goes up for a backward-compatible new feature, and the MAJOR number for a breaking change.

In a PERT method, what is the critical path?

Answer : The chain of tasks whose slipping pushes back the end of the project

The critical path is the chain of linked tasks with the longest total duration: any delay on it pushes back the end of the project.

Related themes

Play the Software project management quizzes