Etoys Development Process
Glossary
| Scheduled | issue has been assigned to a milestone, or someday |
| In Progress | someone is working on the issue |
| Resolved | ready for testing and code review by team |
| Closed | approved by team, added to update stream |
| Released | released as part of a named milestone build |
A) GATHERING
1. Teams continuously read and respond to web contacts and the education & software mailing lists/forums.
2. Teams frequently solicit opinions directly from teachers & students by talking with them in person or by phone.
3. Everyone adds issues to the tracker as ideas & difficulties arise, using the issue key in all correspondence.
4. Everyone can vote or comment on each issue, allowing the larger community to express their preferences.
B) SIFTING
5. Software team members review each new issue by verifying (for bugs) or detailing (for feature requests).
6. The reviewer puts the issue into the "Review" bin, adding a comment to start the prioritization discussion.
7. Other team members add comments to the issue, allowing consensus to form.
8. Before or during our weekly meeting, we run through as many issues in the "review" bin as we can fit in an hour.
9. From our talk, each issue will get assigned a "release" and a "priority". Other considerations raised will be added to the issue.
C) CHANGING
10. Developers claim issues by choosing themselves for "Assign To" and optionally adding an anticipated "Due Date" and "hours estimate" (6h) to indicate effort expected.
11. When the developer begins actual work, they click "Start Progress". Should they halt for more than a week, they click "Stop progress".
12. When the developer finishes the issue, they click "Resolve issue" and submits their changes by attaching a changeset to the issue.
D) TESTING
13. When an issue is "resolved", team members test the change and review the code to determine it's safe.
14. At the weekly software meet, the team will determine whether to close the issue, based on the comments and code.
15a. If it's good to go, someone selected from the meet will click "close issue" and push the changeset to the update stream.
15b. Otherwise, someone selected from the meet will click "reopen issue" and add a comment explaining why.
16. Periodically, candidate builds will be performed and announced that include all recent changes.
17. After each build, team members should run through the manual "integration test steps" listed in the wiki.