1 — The Plan
Due Thursday, 14 September 2023, 11:59:59pm
Motivation As a new developer, you will need to learn to plan. Try, fail, reflect, learn, repeat.
Delivery Create a directory called Q in your git repository.
Within Q, create a folder named Planning/. This is where you place the product of this week’s milestone (questions-about-the-game.md and sprints.md).
Background We are about to launch a "dot game" company. You have been hired to design and implement the software.
This novel company is for hackers, starting with your friends. The two founders and co-CEOs noticed how these people are bored and always want to demonstrate their tremendous programming skills.
the company publishes a "plug in" protocol to which automated players must adhere;
the game servers allow such "AI" players to sign up for games;
once the sign-up period is over, the servers run the game; and
the owners of the winning player(s) will receive prize money, the losers will be allowed to pay an entry fee for the next game.
See The Q Game for the first game that the founders have in mind.
Tasks The CEOs have analyzed the game from the perspective of the overall goal and have identified the important components and layers of the software system. See The Components for the result of their work. You are their software developer, and you need to implement these components.
First you need a plan. That is, you need to arrange the components in a sequence of milestones that create the identified components and the overall system.
Write up a description for the first three sprints. These descriptions specify the goals for each milestone. For the second and third, describe how the resulting components relate to the first and second, respectively.
Constraint Each of these sprints should produce a (set of) component(s) of manageable size in about two days (16 hours) of work.
Deposit this planning document in a file called sprints.md in Planning/.
Second, you need to make sure you understand the game that the CEOs
picked and how you think they want the rules to be interpreted. Analyze the
rule description in The Q Game. Write up the three most important questions
that you think the description leaves open—
Deposit these questions in a file called questions-about-the-game.md in Planning/.
Format Write each document as a business memo. Use mark-down to format these documents. The github server will render them as web pages. Consider installing a previewer for the mark down format if you don’t have one already.
Both documents must be less than one “page” when rendered for PDF printing, say from a browser or a previewer.