Due (see your project schedule):
- Privilege Walk Project Assignment Schedule
- RevMetrix Project Assignment Schedule
- YCPHacks Website Project Assignment Schedule
This is a Team assignment. Create your document in Google Docs so that team members can work collaboratively.
Tasks
There are several tasks which are part of this assignment. It is a compilation of the proposal, requirements, analysis and design, and development schedule for your project. The overall output will be 10-15 page report describing your chosen/assigned task(s) both for the project and as individual team members, your proposals for those tasks, their requirements, the associated analysis and design approach, and a GANTT-type schedule for completing those tasks, as well as achieving overall timely and successful integration and synergy between the various tasks and development paths.
You will be adhering to an established Milestone schedule, thus your GANTT chart also needs to synchronize with that Milestone schedule.
Proposal
Your first task is to develop a detailed proposal from your individual team members Proposal and Wish List documents. This will be a collaborative effort between the various team members - negotiating how to get what each person wants out of the project while still achieving the goals that you and your respective clients have set for the end of the semester.
In order to properly define your team’s work, you will need to arrange meetings and hold conversations with your clients, as well as familiarize yourself with the current state of the project through curent and previous team members, since it is a continuation from the Fall semester.
Your team project proposal report should include the following information:
- What teams will there be, and what are their deliverables?
- Who are the members of those teams? A person can be on more than one team.
- What is the URL for your main respository for your project?
- What is the current state of the project that you will be working on?
- What problem is solved by the project your team will implement?
- What are the major technical challenges you will face?
- What technologies (programming languages, libraries, algorithms, hardware devices, etc.) will you use in the implementation of the project, and WHY are you choosing them (what are their advantages over other possible choices)?
- What kind of user interface(s) will the project require?
Use drawings, block diagrams, wire frames, screen captures, as appropriate, to convey this information clearly. Feel free to pull from the Final Technical report from the previous Fall semester, as well as previous Milestone Presentations
Please Talk To Your Instructor[s]!
You are strongly encouraged to meet with your client(s) and/or instructor(s) to discuss project ideas as you are compiling the proposal portion of your proposal.
Set up a GitHub repository with appropriate folder structure.
Your second task is to create a main repository for your project on GitHub.
Since this is an extension of the existing project, your GitHub repositories should already be in place. However, you might be creating new teams, tasks, and golas, or making significant modifications to the existing teams, tasks, and goals. As such, you will need to update your GitHub repositories to reflect the new issues and modifications to the existing issues captured in those repositories.
Set up your computing environment
Your third task is for each team member to set up a computing environment with the hardware and software they will need for the project. If this is a continuation of a prior project, you should have the current application code base up and runnning on each of your development PCs.
You may use the physical space and computing equipment in KEC118 as you see fit. Please be considerate of the needs of other teams, and please try to keep the environment neat and well-organized.
Please note that you are NOT required to use one of the provided lab PCs: you can use your own laptop, if you would prefer. There will be weekly status meetings and milestone presentations in KEC 119, so you’ll need to be able to transport your work to that room for demonstration purposes.
If you need additional software and/or hardware for your project, please identify, specify, and select it. Discuss with your instructors what you need and why you need it. You must justify the expense in terms of time, schedule, efficiency, budget, etc.
But Wait, There is (MUCH) More: Requirements, Design, Schedule
You will also need to provide a detailed list of requirements for this semester, as well as how the implementation of those requirements will impact the existing design - refactoring, redesigns, deletions, new features, etc.
You will also need to provide a schedule for development and deployment. This will require a schedule for each of the tasks and a GANTT chart that shows the timing of the parellel development of the various tasks, as well as illustrates the critical path for the components of the system that interact with each other (dependencies). You will use this GANTT chart to determine development priorities and allocation of “resources” - people.
Presentation
You will present your Detailed Project Proposal, Design, and Schedule in class on the day it is due during your project’s assigned weekly stand-up/presentation period.
Grading
Grading is TBD as this point
Submitting
To submit, place your Detailed Proposal, Design, and Schedule document in the team’s shared Google doc folder.