Skip to content

Commit

Permalink
fixed typos
Browse files Browse the repository at this point in the history
  • Loading branch information
abhutta0 committed Aug 28, 2024
1 parent c1c00e9 commit 019d024
Showing 1 changed file with 12 additions and 12 deletions.
24 changes: 12 additions & 12 deletions Assignments/project-overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ nav_order: 3

# Project Overview
The individual and team project for this class are designed to mirror the experiences of a software engineer joining a new development team:
you will be "onboarded" to our codebase, make several individual contributions, and then form a team to propose, develop and implement a new feature.
The codebase that we'll be developing on is a Fake Stack Overflow project. You will get an opportunity to work with the starter code which provides basic skeleton for the app and then additional features will be proposed and implemented by you!
you will be "onboarded" to our codebase, make several individual contributions, and then form a team to propose, develop and implement new features.
The codebase that we'll be developing on is a Fake Stack Overflow project (let's call it HuskyFlow). You will get an opportunity to work with the starter code which provides basic skeleton for the app and then additional features will be proposed and implemented by you!
All implementation will take place in the TypeScript programming language, using React for the user interface.

### Overview of Project Deliverables
Expand All @@ -28,7 +28,7 @@ Your overall project grade (which will account for 40% of your final grade in th
* Planning (20%)
* This includes the Preliminary Project Plan and the Revised Project Plan.
* Process (20%)
* This includes: use of a structured development process, including code reviews, timely completion of progress reports and individual/team surveys, and weekly meetings with TA Mentor.
* This includes: use of a structured development process, including regular git commits, code reviews, timely completion of progress reports and individual/team surveys, and weekly meetings with TA Mentor.
* This also includes appropriate division of labor within the project (i.e., roughly equal). For full credit, each member of the team must have at least 4 commits in the final delivered code.
* Product (40%)
* 20% Successful delivery of your Minimum Viable Product as defined in your project plan
Expand All @@ -46,7 +46,7 @@ We will make regular efforts to collect and distribute this feedback throughout
### Team Formation
All projects will be completed in a team of 3-4 students.
The very first deliverable for the project will be a team formation survey: you will be able to indicate
your preferences for teammates. The instructors will assign students to the teams based on a number of factors including your responses to the survey.
your preferences for teammates. The instructors will assign students to the teams based on a number of factors including your responses to the survey and diversity of skills for the teammates.
All students in each team MUST be in the same section of the class.


Expand All @@ -58,15 +58,15 @@ During Week 5, you will arrange a "Kickoff Meeting" with your TA mentor, where y
Once project begins in full force, you will have weekly meetings with your TA mentor (scheduled at your team's and the TA's convenience) in order to help ensure that you are making progress on the project, and to help address problems that you encounter (be they technical or non-technical problems).

### Preliminary Project Plan
All projects will involve frontend and backend development of a new feature for FakeStackoverflow.
Once teams have been formed, you and your team will decide what kind of new feature you would like to build.
Your feature should be something that can be implemented within the timeframe allotted (5-7 weeks), and will be implemented in a fork of the main codebase.
All projects will involve frontend and backend development of new features for FakeStackoverflow.
Once teams have been formed, you and your team will decide what kind of new features you would like to build.
Your features should be something that can be implemented within the timeframe allotted (5-7 weeks), and will be implemented in a fork of the main codebase.
Given that you will be up-to-speed on the project codebase (and have been introduced to TypeScript, React, NodeJS, and testing frameworks),
and that you will have a team of three or four, we expect that the feature that you propose will be more complex than the feature implemented in the individual projects.

The project plan will focus on two sections:
* User stories and conditions of satisfaction that describe the feature that you plan to implement. **EACH CONDITION OF SATISFACTION MUST HAVE A PRIORITY (Essential, Desirable, or Optional)**. The set of Essential items will constitute the "Minimum Viable Product" discussed above.
* Work breakdown: Map your user stories to engineering tasks. Assign each task to a team member (or pair of team members), provide an estimate for how long each task will take, a rationale for that estimate, and schedule those stories into sprints.
* User stories and conditions of satisfaction that describe the features that you plan to implement. **EACH CONDITION OF SATISFACTION MUST HAVE A PRIORITY (Essential, Desirable, or Optional)**. The set of essential items will constitute the "Minimum Viable Product" discussed above.
* Work breakdown: Map your user stories to engineering tasks. Assign each task to a team member (or pair of team members), provide an estimate for how long each task will take, a brief rationale for that estimate, and schedule those stories into sprints.

### Creating a GitHub Repository
Your team's development must take place within a GitHub repository in our GitHub Classroom. This repository will be private, and visible only to your team and the course staff. After the semester ends, you are welcome to make it public - you will have complete administrative control of the repository.
Expand All @@ -83,16 +83,16 @@ The project plan will include:
Your team will self-organize, as agile teams do, and will use the work breakdown and schedule as the basis for weekly check-ins with your team's TA.

### Software Development Process
Each team is expected to use of a structured development process, including use of pull requests and code reviews. You will also need to ensure appropriate division of labor within the project (i.e., roughly equal). Teams will also be expected to complete regular progress reports (or sprint retrospectives), and individual/team surveys. Peer evaluation may also be used (for Week 6, 8-13).
Each team is expected to use of a structured development process, including use of pull requests and code reviews for their regular github commits. You will also need to ensure appropriate division of labor within the project (i.e., roughly equal). Teams will also be expected to complete regular progress reports (or sprint retrospectives), and individual/team surveys. Peer evaluation may also be used (for Week 6, 8-13).
Please note that one of the most important factors in successfully completing a team project is having effective communication between all team members and stakeholders.

### Project Implementation and Documentation

Your final team deliverable will be a "release" of your new feature on GitHub (with tests), and will be accompanied by a demo.

Your final team deliverable will include:
* The implementation of your new feature
* Automated tests for your new feature
* The implementation of your new features
* Automated tests for your new features
* A Final Report
* A Poster & Demo (each instructor will provide specifics of the demo, which might vary for each section)

Expand Down

0 comments on commit 019d024

Please sign in to comment.