Understanding this document
Collaboratively creating software presents many challenges, not the least of which is agreeing on what software is actually being created. This page is a record of what agreements have been made and implemented. It is a living document. The rest of this section will describe its format and contents: namely, user stories.
We try to focus our discussion on individual features by motivating them with user stories. By using the format " As a ____ , I want ____ so that ____ ", we can have a concrete discussion about who is using the feature, what it provides, and why it is useful. Deciding on a user story is only the first step, of course, and can certainly be contentious in its own right. We can always return to it, however, to reign in lengthy and far-ranging tangents while collaborating on future plans.
The user stories for the website are grouped under the page on which the relevant feature exists. This is just for ease of lookup. User stories define which pages exist—not the other way around.
- As a visitor, I want to read an introduction to the website so that I can familiarize myself with the platform and its goals.
- (Rationale) As a visitor, I want to read an introduction to the mechanism so that I can familiarize myself with how it works and what will happen when I make a pledge.
- (Rationale) As a visitor, I want to read a description of the Snowdrift.coop ORGANIZATION (i.e. in the guise of the entity that runs the platform) so that I can learn about the people who run the Snowdrift.coop website and how they operate.
- As a visitor, I want to see information about the project's goals and purpose so that I can decide if I want to support it.
- As a visitor, I want to see the crowdmatch status for the Snowdrift.coop PROJECT (i.e. in the guise of a project on the platform: /p/snowdrift) so that I can understand the effect of adding my pledge.
- As a user, I want a pledge button on the project page so that I can become a patron.
- As a patron, I want an unpledge button on the project page so that I can unpledge if I no longer think the project needs my support.
- (Rationale) As a patron, I want to see an overview of my pledges so that I feel in control of my impact and contributions.
- As an early-stage patron, I want to see a history of crowdmatches (with totals) so that I can track the progress towards the first donation payment.
- As a user, I want to read an explanation of the payment-info process, so that
I know what purpose it serves and what the next steps will be.
- This explanation is self-contained, but also follows from the text on the welcome page.
- As a user, I want to be notified when a page uses proprietary javascript so that I know Snowdrift.coop has made an intentional compromise.