Milestone 1 - Proof Of Concept Presentation
For the first milestone (due on 14/10/2016) you are required to provide a proof of concept of your project. By the due date you should have created a scenario that exercises the various parts of your application (e.g. client, server, DB, external resources, etc.) and demonstrates the primary use case and novel contribution of the whole project. You are expected to show an End-to-End demo of your primary feature. Following this presentation, we will provide some guidelines for the work ahead:
1. Project Hosting
Host your project at GitHub, this will serve as your project home page:
- All source code should be pushed to the repository you created.
- Documentation (usage instructions, screenshots, etc...) should be put in their appropriate place (README.md / Wiki tab / Project Home).
- Features, bugs, and the project road-map should be administered using the Issues and the Projects tabs in GitHub.
- License: choose the one that suits you best (this might help), if you can't decide choose Apache V2.
2. Feature List
Please provide a short list of your top priority features (sorted from the most important to the least). This list should be published as soon as possible on the project web site in the Issues section so all team members and the course staff would be on the same page with respect to your project progress.
For each feature, state: its name, due date (milestone 1 / milestone 2 / final submission / nice to have), current status, and estimated time needed for completion.
- Feature name: Where did you park your car? - Description: A Google map in which one could locate where he/she parks the family car. - Requires: Adding logic to the server, working with Google maps API, adding client side support. - Due: Milestone 2. - Status: Server side ready, other parts are missing. - Time Estimation: 12 hours.
Use the standard issue tracker (GitHub Issues), as that will assist you on deciding what to do next. Every decision (as well as your grade) should be derived from this list. Always work only on the next top priority feature not done. The features should be justified by the expected use cases of your product and by the innovation of the features. Stay focused - do not spend time on re-implementing existing functionality, use mocks and stubs as much as possible in order to focus on the main things. We are interested only in the short list. You may also have another more detailed list for your own use.
It is important to try and estimate the complexity of the various feature as soon as possible so we'd be able to estimate what could be done till the end of the semester. In order to accomplish that you should add time estimations for all your features in the feature list and every time you work on a feature check how long it actually took. After doing so for several features you'll improve your ability to estimate a given task.
3. Product Page
Please provide on your main product page (GitHub repository) a link to your live application (web-site / download URL). Although it may not be fully functioning until Milestone 2, it is important to be able to know what the real status of the final product is at any given point. Take a look at past projects or other projects on GitHub, to see how a project page can be organized.
4. Milestone 1 Presentation (Proof of Concept)
Prepare a 10 minute presentation:
- Start with a live demo that shows what you have accomplished so far (5 minutes).
- Focus on the application's main use-case(s) that highlight its novelty and contribution.
- If a live demo is impossible, show a demo video.
- Make sure you have a backup for the demo (either video or screenshots).
- Continue with a short presentation of:
- Your feature list (2 minutes: what is done? which features are expected? how long do you expect the work will take?)
- Your road map (1 minute: what to expect in the future milestones? how does it differ from the original estimation?)
- Your progress (2 minutes: how did you split the work? what was easy? what was difficult? why?)
Also, please send us by email: the presentation, a summary document of the above (progress, feature list, road map), and a link to your GitHub repository.
Important note: Full grading for the milestone (15 points) will be given for teams that successfully:
- Focus on the primary use case and take into account our feedback (feedback summary will be sent to you via email).
- Follow the project plan while adapting dynamically.
- Continuously work throughout the semester.
- Demonstrate an interesting, self contained, primary use case of your application.
- Give a good presentation (simple, clear, focused, time-framed, sincere).
If you have any questions please do not wait for the milestone meeting, use email: firstname.lastname@example.org
Alexey, Peggy, Cliff, Ian, and Greg