Due Date: Tuesday of week 09
The following guidelines are expected for all homework submissions:
- All homework must be typed. Homework which is not typed will be returned ungraded and will be
subject to the late homework guidelines as set out on the syllabus page. PLEASE DO NOT scribble
something on lined paper and rip it out of your spiral notebook — hanging chads went out
with the presidential election in 2000.
- I don't care too much about what font you use or how large your margins are; however, you might
want to check out a monospaced font for
typing code, as it will be easier
to see the indentations.
- Speaking of indenting, PLEASE DON'T USE TABS TO INDENT YOUR CODE. Tabs
can often get interpreted differently by different computers and applications, and could make code
that is nicely formatted on your computer look "all over the map" on my computer or printer.
USE SPACES INSTEAD. You can set up almost every modern text editor to insert spaces
whenever you press the TAB key, or you can simply pound the spacebar.
- Work with a partner. This mimics an industry code development model called "pair
programming" which is part of the Extreme Programming software development method. Feel free to
collaborate in your pairs as much as you want, preferably doing the entire assignment together.
- DO NOT share your work between groups. Doing so will count as plagiarism, also
cheating. If you wish to discuss solutions with another group over
coffee in the Lair, that's fine as long as it is kept at the conceptual level, but each group needs
to turn in its own version of the solutions.
- In addition, DO NOT DIVIDE UP THE WORK on your homework assignments. You MUST work on
the entire assignment together. Failure to do so will cost you a letter grade on the assignment, so it
is enlightened self-interest to do things this way.
- You only need to turn in one copy of the assignment per group.
- You should submit your homework in a GitHub repository. MAKE SURE YOUR GITHUB REPO IS PRIVATE, AND BE
SURE TO INCLUDE YOUR PROFESSOR AS A COLLABORATOR.
Problems From Chapter Four
- Ch 4, #4: Who are the likely candidates to serve as Scrum master?
- Ch 4, #5: In what circumstances is it a bad idea to have the IT manager
be the Scrum master?
- Ch 4, #8: How large should a Scrum team be? Why does it matter?
- Ch 4, #9: What are some of the benefits of self-organizing teams?
- Ch 4, #12: What is a project manager called in Extreme Programming?
- Ch 4, #15: Provide several examples of stakeholders.
- Ch 4, #16: Who is responsible for writing and prioritizing the
- Ch 4, #19: What are examples of impediments?
- Ch 4, #20: Within Scrum, who is responsible for testing?
Problems From Chapter Five
- Ch 5, #1: What is the user story format in Scrum?
- Ch 5, #2: Name three of the six elements of a user story represented
in the acronym INVEST.
- Ch 5, #3: What is an epic? What, if anything, should be done with
- Ch 5, #4: What are the MoSCoW rulses in DSDM?
- Ch 5, #5: What is Crystal software development very intested in with
regard to requirements?
- Ch 5, #8: What are three examples of business value?
- Ch 5, #9: What is release management?
- Ch 5, #15: How does the transparency afforded by Agile help the
- Ch 5, #17: Why does the Lean software development advocate for making
decisions as late as possible?
Problems From Chapter Six
- Ch 6, #3: Should features provided by the competition influence
- Ch 6, #7: Why is the Fibonacci sequence preferred over regular
numbering for estimating?
- Ch 6, #9: What does velocity tell a team?
- Ch 6, #10: What is intentional technical debt?
- Ch 6, #13: Describe at least two ways that teams can incorporate
maintenance work into sprint planning.
- Ch 6, #14: In Agile, what constraint is split into two distinct
- Ch 6, #16: What is relative sizing?
- Ch 6, #18: With wide-band Delphi, how are the estimates gathered?