CS471 Final

Ace your homework & exams now with Quizwiz!

Upper management has forbidden the use of scrum because they've heard nothing in scrum dictates the production of documentation of the internal APIs in a large project such as yours. As Scrum Master, your project manager has asked you to explain to upper management how scrum will address their concern. Which of the following arguments realistically support your agenda to use scrum?

Explain the use of the Definition of Done in a scrum project and provide an example of a Definition of Done requiring documentation of the internal APIs.

During the Poker Planning activity for estimating a particular story, if eight developers reveal 4, 5, 7, 6, 5, 4, 6 and 6 on their cards, the Scrum Master will use the average of these values to estimate the story, since the values of the teams are very close to each other.

False

If a non-critical, cosmetic, but complex bug is discovered towards the end of a Sprint the team should focus all their energy and effort to fix it at the detriment of the other features (i.e., the bug is implicitly given top priority in order to be fixed by the end of the sprint).

False

If a team encounters problems delivering features to the client after one or two sprints, or if the team cannot find their "rhythm" after one or two sprints the team should switch to a Waterfall process, because things are not going to improve if the team continues with Scrum.

False

The purpose of a Backlog Grooming meeting performed during the middle of Sprint N, is to re-prioritize the work needed to be done in the second part of Sprint N.

False

The purpose of the Sprint Retrospective is to demo the product to the clients to elicit feedback.

False

The use of story points and relative estimation for stories is purely done because of historical reasons, but story points could be replaced with effort hours since humans are outstanding at estimating the absolute duration of tasks.

False

It is the responsibility of the entire development team to estimate both the stories and the tasks, since the group knowledge is more accurate than the individual team member knowledge.

False, Team estimates User Stories with Planning Poker and individual team members estimate tasks (based on their expertise).

From Williams_ESEM2011_Scrum_3_Microsoft_Teams.pdf article. Team-C had higher defect density than Team-A, which means their product was of a higher quality.

False, The higher the defect density (expressed in Defects/KLOC), the lower the quality of the software. Example: A defect density of 100 defects/KLOC would have a bug at approximately every 10 LOC.

Check all the answers that are true:

Integration tests are useful for testing code on a shared branch. A builder is a tool that can compile code and run unit tests if needed.

A UML Sequence Diagram illustrates:

Interactions between objects

Which of the following statements are true:

It is a good practice to remove a defect as soon as the defect is discovered assuming that it is feasible to remove it. It is cheaper to remove a defect before integration rather than after integration.

Which of the following are responsibilities of the Scrum Master?

Removing impediments that would affect the team's progress Organizing scrum meetings and ensuring the scrum process is followed by the team Ensuring the scrum process is followed by the team Removing impediments to the team's progress

In Scrum Team A, every team member works 40 hours / week and their velocity after 5 sprints is 28. In Scrum Team B, every team member works 80 hours / week and their velocity after 5 sprints is 60. At this work rate, at the end of Scrum 15 ....

Scrum Team A will produce higher quality code (e.g., less defects) than Scrum Team B. Scrum Team A will likely have a velocity of around 30.

In the Williams_ESEM2011_Scrum_3_Microsoft_Teams.pdf article, do Microsoft teams incorporate any engineering practices in their process? If yes, why do they do that? If not, why are they not doing that? Briefly justify your answer.

Selected Answer: yes, 1. Planning poker 2. Continuous integration 3. Unit Test-Driven development 4. Quality gates 5. Source control 6. Code coverage 7. Static analysis tools 8. Peer review 9. XML documentation

In which scrum meeting is it appropriate to discuss the adoption of an engineering practice such as pair programming or static analysis?

Sprint Retrospective

Agile software development processes are sometimes accused of omitting planning activities. Which of the following Scrum artifacts and activities have a role in planning?

Task Estimates User Story Priorities User Stories Sprint Planning Meeting Tasks Definition of Done Acceptance Criteria User Story Estimates

Agile software development processes are sometimes accused of omitting planning activities. Which of the following scrum artifacts and activities have a role in planning?

Task Owners Daily Scrum Tasks Acceptance Criteria User Story Estimates (In Story Points) User Stories Definition of Done Task Estimates Sprint Planning Meeting User Story Priorities

Given a git repository with the following branches visualization (i.e., this is the original state of the repository): What git commands should be used to transform the repository as follows (i.e., below is the expected state of the repository):

$ git checkout master $ git merge someBranch

Enumerate at least 3 different strategies that a novice developer could utilize for identifying the location of a bug on a large (i.e., 10 millions lines of code) and unfamiliar system.

1. Familiarize yourself with the software by reading documentation/wiki pages. 2. Software structure comprehension, understanding the source code. 3. Software build/run, running the code to see where the problem is.

Use the Williams_ESEM2011_Scrum_3_Microsoft_Teams.pdf paper, "Scrum + Engineering Practices: Experience of Three Microsoft Teams" to answer the following question. How many Lines of Production code did each engineer in Team B write on average per work day? (assume that a month has 20 work days) Round your answer to 2 decimals.

13.37

After Sprint 5 of their 10 planned two-week sprints, a scrum team has completed 25 of the 100 Story Points that were initially in their Product Backlog. How many two-week sprints will be required to complete all of the remaining work, assuming that the team velocity does not change?

15

During the implementation of project X there were 30 defects/KLOC introduced. If the defect removal model included unit testing (with 40% effectiveness) and pair programming (with 10% effectiveness), how many defects/KLOC were delivered to the client?

16.2 In 30 defects/KLOC 3 defects/KLOC removed by Pair Programming 10.80 defects/KLOC removed by Unit Tests Pair programming is performed before unit testing.

For Sprint 13, team Alpha agreed to implement the following five stories: #A (5 story points) #B (1 story points) #C (3 story points) #D (8 story points) #E (2 story points) These five stories were broken down into 34 tasks, with a sum of the task estimates of 104. Assumming that Sprint 13 was successful, and the team was able to complete all proposed tasks and stories, what is the Actual velocity at the end of the sprint? (Enter as answer an integer value, without decimals)

19

After finishing 4 two-week sprints, Team Mach1 completed 80 of the 560 Story Points that were initially in their Product Backlog. Based on historical data related to velocity, how many Story Points team Mach1 is expected to complete in the fifth two-week sprint, assuming that the team does not change?

20

For Sprint 7, team Alpha agreed to implement the following four stories: #A (3 story points) #B (7 story points) #C (8 story points) #D (5 story points) Towards the end of the sprint, team Alpha realizes that it cannot complete story #B before the Sprint 7 Review. What was team Alpha's Expected Velocity ([EV]) for Sprint 7 and what was team Alpha's Actual Velocity ([AV]) at the end of Sprint 7? (Enter as answers two integer values)

23, 16

What is the difference between a User Story and a Use Case?

A User Story describes what a customer needs the System to do, while a Use Case describes a sequence of interactions between an Actor and the System

Choose the best workflow that any scrum team should use:

A customized workflow based on the project/team needs

An alternate sequence can be used to:

Describe how a system will respond to its user's illegal input

Careful scrutiny of The Elements of Scrum reveals that the word "design" rarely, if ever, appears in this description of the widely used scrum process. Yet design is an important aspect of software development. Which of the following are true about software design in scrum?

Design decisions can be refactored as a product evolves in subsequent sprints Complex (time-consuming) design choices could be planned as Tasks in the Sprint Backlogs Scrum leaves trivial (obvious) design decisions that don't require a plan to the Developer volunteering for a Task

Why is it important to begin a sprint with detailed (as opposed to epic) User Stories?

Detailed User Stories better engage with the customer, helping them understand what the team is planning to build Detailed User Stories help the Team plan what Tasks are needed to implement them Small and detailed User Stories are more likely to fit in a single sprint Detailed User Stories lead to more accurate estimates

Which of the following are scrum roles?

Developer Product Owner Scrum Master

Which of the following are motivations for or characteristics of the Scrum process?

Development through a series of small version releases that deliver incremental functionality for each release. Each incremental version of software developed by the team is a full-tested, potentially releasable, subset of the final product Customers don't always know what they need, or they do not know how to express it (i.e., they might present contradictory requirements) The customers' needs change during the course of a long project The development team has the authority to decide how the work will be completed and has the freedom to self organize

A UML State Chart Diagram:

Documents the internal design of a class

The Williams_ESEM2011_Scrum_3_Microsoft_Teams.pdf paper, "Scrum + Engineering Practices: Experience of Three Microsoft Teams," reports that the quality from one of the three examined scrum teams was significantly less than the other two. Which of the following metrics likely indicate that failure?

The % of Code Coverage was 53%, well below the 82% achieved by another team The Test LoC / Source LoC ratio was 0.46, well below the 0.84 achieved by another team Response Feedback: Team B test/source LoC ratio was only 0.46 while the other teams achieved 0.84. Team B's test coverage was only 53% while another team achieved 82%. The best performing teams were surprisingly those distributed between Redmond and China; the failing team's members were co-located in Redmond. All teams employed scrum; the differences lie in their application of software engineering practices!

Once the scrum team decides to incorporate an engineering process (e.g., pair programming, code review, etc.) in their next sprint, it is mandatory for the team to update the following scrum artifact:

definition of done

A survey presented in the Williams_ESEM2011_Scrum_3_Microsoft_Teams.pdf article mentioned that Scrum is widely used in industry followed by an agile methodology that combines Scrum with ____.

extreme programming

Why do many scrum advocates advise us to create Acceptance Criteria (AC) for the User Stories prior to beginning a sprint?

AC promote a common understanding of what the Team plans to build AC promote improved estimates which leads to better Sprint Planning

A use case describes:

An interaction by one or more actors with the product

Which of the following is a potential "pitfall" (liability) of a waterfall life cycle?

Big bang integration Changing customer requirements

Alice, Bob and Carol are developers on a scrum team. When Carol assigns herself for an upcoming task, who should estimate the duration of the task?

Carol, The developer volunteering for the task should estimate the task based on their experience.

UML Diagrams are useful for:

Creating a common understanding amongst team members Documenting a finished implementation Discussing/capturing various design decisions

A Scrum team would like to defer creating Acceptance Criteria until after they've implemented the associated User Story. Why do many Scrum proponents discourage this approach?

Defining Acceptance Criteria prior to the sprint improves the Team's planning of what Tasks are required to implement the User Story Defining Acceptance Criteria prior to the sprint can improve the story's estimate Defining Acceptance Criteria prior to the sprint provides an opportunity to validate the story's correct behavior with the Customer (i.e., the team can know if they are on the right track).

Describe in a few words one of the major problems of expressing/documenting requirements using natural language (e.g., English), instead of using more formal methods.

One of the major problems of expressing/documenting requirements using a natural language is that it is ambiguous, it may lead to different interpretations.

What activities must be completed prior to starting the first Sprint Planning Meeting?

Place in the Product Backlog epics (large, complex User Stories) for any known customer needs to be eventually refined, broken down into stories and addressed in later sprints Estimate each User Story in the Product Backlog using the Planning Poker activity Each User Story in the Product Backlog that has the potential to be selected in the first Sprint should have adequate Acceptance Criteria Place in the Product Backlog enough detailed User Stories to fully engage the team in the first Sprint (or in the first few Sprints). Prioritize each User Story in the Product Backlog Create a Definition of Done document that explains how the team will know when a User Story has been fully implemented, tested and is ready for release Response Feedback: Before holding the Sprint Planning Meeting, you need a Product Backlog populated with enough detailed, prioritized, estimated User Stories to keep your team busy in the first sprint or two. Large (epic) stories capture less-well-defined customer needs. Detailed Acceptance Criteria are needed for User Stories. Definition of Done that defines how the team will know when a User Story has been completed. Tasks, not User Stories, have owners!

Which of the following activities occur during the Sprint Planning meeting?

The Team populates the upcoming Sprint with as many User Stories as appropriate given the estimates of the stories and the Team's historical velocity The Product Owner decides what work needs to be done in the following sprint, and the development team clarifies whether or not they can commit to the work or not. The team creates a new Sprint Backlog for the upcoming sprint Developers volunteer to implement Tasks Create new Tasks in the Sprint Backlog that will be required to implement the User Stories selected for the upcoming sprint Select work (e.g., User Stories) from the Product Backlog (in order of their priorities) to implement in the upcoming sprint The team creates a new Sprint Backlog for the upcoming sprint Create new Tasks in the Sprint Backlog that will implement the User Stories selected for the upcoming sprint Select items (e.g., User Stories) from the Product Backlog that can likely be implemented in the upcoming sprint Developers volunteer to implement the Tasks Rewrite an overly complex User Story (an epic) as two or more simpler User Stories

Which of the following are motivations for or characteristics of the scrum process?

The development team's initial approach to building the product does not always work Incremental development through a series of small, ever-more functional versions Customers don't always know what they need The customers' needs change during the course of a long project Each incremental version, (also known as the Product Increment) is a full-tested, potentially releasable, subset of the final product

Your server-side team will develop an API used by two client-side mobile app teams: one for iOS and another for Android. The server-side and client-side teams are located on different continents, operate entirely independently, and will never see one another in person. Your supervisor has invited you to explain to the company executives how the various teams will capture and coordinate the API definition. Which of the following are true?

The server-side team will contact the two client teams to capture their requirements as User Stories in the server team's Product Backlog. The server-side team will act as the " Scrum Development Team" and the two client teams will act as the "Product Owner". It's ok for the User Stories to include engineering language since the API is an interface between engineering teams, not with the end users (i.e., the client is the front-end engineering team). Each API User Story will likely have multiple Acceptance Criteria which ideally will be exercised by the client-side teams, rather than the server-side team. Response Feedback: The API is an interface between two engineering teams and, if documented with User Stories, may include engineering language as engineers are the API's "customers." Each API will likely be exercised by many Acceptance Criteria, defined by the client teams.

A UML Class Diagram illustrates:

The static relationships between classes

A scrum team completed 9 five-week sprints at velocities of 5, 10, 30, 28, 31, 30, 30, 31 and 30 respectively. In preparation for a big demo with important stakeholders at the end of sprint 10 (which will also have a five-week duration), during the Sprint 10 Planning meeting the product owner urges the team to implement 4 top-priority stories worth 13, 21, 13 and 8 story points. What should the team do? Briefly justify your answer.

The team should explain to the product owner that they are capable of completing around 30 story points per sprint. The top 4 stories the product owner wants them to implement is worth 55 story points, almost double the amount of work they are capable of. They should tell him that he needs to keep the velocity around 30 story points per sprint.

During the Poker Planning activity for estimating a particular story, if four developers reveal 4, 7, 13 and 2 then developers with estimates of 2 and 13 will have to discuss their choice with the team.

True

Which of the following scrum artifacts, activities or characteristics help a new developer who joins the project get up to speed and become productive?

User Stories Acceptance Criteria Daily Scrum (also known as the Daily Stand-Up Meeting) Definition of Done Sprint Backlog

Explain the difference between User Stories and Tasks

User Stories describe what the customer needs in the customer's business language, while Tasks describe in engineering language how the team plans to implement those stories

Explain the difference between User Stories and Tasks

User Stories describe what the customer needs in the customer's business language, while Tasks describe in engineering language how those needs will be implemented

Next generation version of an existing client-side application facing rapid, emerging competition

scrum

web application for a startup business that hasn't yet created revenue

scrum

A task should always be linked to a [x] to ensure [y] between artifacts

story, traceability

A next generation client-side product from an experienced team that knows their customer well in a stable business

waterfall

Contractual software development for a government agency in which the developer will specify exactly what the finished product will do, when it will be available and what it will cost

waterfall


Related study sets

MGT 340 Organizational Behavior Final Exam [Missing Ch5 & 10]

View Set

Chapter 21 - Managing Patient Care

View Set

Spanish 2 Ch. 4 Primera Parte Test

View Set

NUR 1024: NCLEX Questions on Fractures

View Set

PrepU ch.26 assessing male genitalia

View Set

Musculoskeletal adaptive quizzing

View Set

NU141- Chapter 21 Antidepressant Agents

View Set