-
Notifications
You must be signed in to change notification settings - Fork 0
Development Plan
Pawitchaya C edited this page Sep 19, 2022
·
6 revisions
The application development takes 3 weeks. Implementation of application splits into an iteration per week, resulting in 3 iterations.
Iteration | Features |
---|---|
1 | Display a list of polls in homepage. |
Users can select and interact with a poll choice. Casting a vote counts the score to the poll. | |
Users can see total vote count on each poll. | |
Users can see vote count for each choices on a poll. | |
A poll has a publication date and will be visible on or after publication date. | |
Administrator can create, edit and delete polls. | |
Navigation: user can return to polls list screen from any page or view results w/o voting. | |
2 | A Poll has an end date. No voting allowed after the end date. |
Question has methods for is_published and can_vote with unit tests. | |
Navigation: user can go directly to poll results page from the polls index. | |
If user enters URL of a poll not yet published then redirect him to polls list page. | |
Separate sensitive configuration data from code. | |
Improve formatting of poll detail and poll results page. | |
3 | User must authenticate (login) in order to vote. |
Unauthenticated users cannot vote, and poll detail page has a link to login page. | |
Each user has only one vote per poll question. | |
A user can change his previous vote while a poll is open. | |
Provide instructions for installing and running application. | |
... | Provide sample data for polls, and instructions how to import it. |
Automate running of unit tests. | |
Add code coverage to measure how well unit tests cover our code. |
Day 1 | Day 2 | Day 3 | Day 4 | Day 5 | Day 6 | Day 7 | |
---|---|---|---|---|---|---|---|
Implementation | x | x | x | x | |||
Bug Fixing | x | x | |||||
Code Styling | x | ||||||
Retrospective | x |
- Iterative and Incremental Development with 1-week long iterations.
- Using Project Board to show and update statuses for tasks.
- Github Flow to manage development with branches and PRs.
- Unit testing and code review after implementation.
- Retrospective at the end of the week.
- Python, as the main programming language.
- Django, web framework based on Python.
- Git, a source version control tool.
- GitHub for hosting the source repository and issue tracking.
- GitHub Actions for CI/CD.
- GitHub Wiki for hosting documentation.
- GitHub Projects for backlog and task management.
- Visual Studio Code as the main text editor.
- Neovim as a fallback text editor.
Documents
Iteration Plans