SE 2800, Hasker: Midterm Review
Note: SE texts contain a number of lists. It is impossible to memorize them
all. Specific lists have been pointed out below; these are very likely to
appear on exams and are well worth memorizing. In cases where these lists
are short, you could very well be asked to list all items. For longer lists
you might be only asked to give some percentage of them, but even then
knowing the list is a good practice. Having said all that, knowing these
specific lists is important, but you should be familiar with other lists in
the material as well. Ultimately you will need to decide for yourself when
you are adequately prepared for the exam.
- Note 1: Scrum planning model, quality management, final product definition
- Review these notes in class
- Note 2a: Requirements and User Stories, shall, alternatives to
traditional requirements, elements of stories, size and scale of stories,
sprintable stories, three C's, criteria for good stories,
knowledge acquisition stories, comparison to requirements, acceptance
criteria, given/when/then
- Note 2b: Scrum overview, project roles, product backlog, sprints
Be sure to be able to draw a picture illustrating the basic Scrum process.
- Note 3a: Plan-driven development, agile principles, agile manifesto,
- Note 3b: Product Backlog: DEEP, definition of ready (of the backlog),
planning poker
- (There were no week 4 notes)
- Note 5a: Metrics and velocity
- Note 5b: Git Workflow
- Note 5c: definition of done, types of reviews, conducting a formal
review, effective reviews
Sample Questions
These are sample questions; some may be on the exam, but the exam question
is likely to be worded differently and there will be questions on other
material as well. Use these to make sure you are familiar with each of the
topics, to get practice thinking about the sorts of questions you will see,
and to make sure you know the technical terminology.
General approach:
- know material, terminology; be ready to apply it
- think through answers: could you look deeper?
- ensure you are telling me all that's relevant
- be cautious of using the terms in the question in your answer
(especially for definitions!)
- think in terms of answering in sentences
Things to watch for:
- "stuff" is never useful on an exam
- Use course terminology where you can.
Questions:
- For each of the three team roles (product owner, ScrumMaster, development
team member) what are three tasks that they do but the others do not?
- Why are these bad ideas?: test sprints, random-sized sprints,
reliance on the spec
- Who should and shouldn't be at the sprint review?
- Who should and shouldn't be involved in the sprint retrospective?
- What are rules that must not be broken when following
Scrum? That is, what is essential?
- Give an example of a story that follows the appropriate format
but breaks as many rules as possible.
- Why do Scrum developers often talk about epics?
- What does the agile manifesto mean by "contract negotiation"? Is
there still a role for contract negotiation in a project?
- Why does planning poker often use a modified Fibonacci sequence?
- What is the suggested starting point of a DoD?
- How can DoD reduce the number of arguments?
- Why is it important to review the product, not the producer?
- Why are acceptance criteria mandatory?
- What keywords are used to capture basic functionality in acceptance
criteria? That is, what three words do you use to outline a test?
- Give an example of an acceptance criteria that should not be
written using the above three, key words.
- Why is "shall" used in traditional requirements?