knowledge-kitchen / courses / course-notes

Agile Software Development & DevOps

New York University
Department of Computer Science

Schedule

Process

Date Class Topics Notes Helpful resources Quiz due Scrum tasks due Exercise due
9/2 1 Welcome Lecture slides:
- Course intro

Notes:
- Course intro
- Syllabus
- Discord for Education
- Zoom etiquette
- Manifesto for Agile Software Development, by Beck et al
- Principles behind the Agile Manifesto, by Beck et al
- Agile and the Long Crisis of Software, by Miriam Posner
     
9/7 n/a no class (University Holiday)          
9/9 2 Scrum Lecture slides::
- Scrum

Notes:
- Scrum
- Using GitHub for Scrum
- The Scrum GuideTM, by Ken Schwaber and Jeff Sutherland - FERPA consent form
- Intake questionnaire
  - Join Discord and create your private channel
- Create GitHub account
- Join Figma
- Install Node.js
9/14 3 Version control Lecture slides::
- Version control

Notes:
- Version control
- Git & GitHub
- The Elements of Technical Writing Style
- GitHub for collaboration
Video tutorials:
- How to submit an assignment to GitHub
Scrum   Project proposal

The Mobile Web

Date Class Topics Notes Helpful resources Quiz due Scrum tasks due Exercise due
9/16 4 The Web Lecture slides:
- The Web

Notes:
- The Web
- Google’s Markdown Style Guide
- Atlassian git workflow comparison
Git & GitHub   Vote on project proposals
9/21 n/a no class (Professor out)          
9/23 5 Javascript Lecture slides:
- Javascript

Notes:
- Javascript

Examples:
- Example Javascript code
- Exploring ES6, by Alex Rauschmayer
- Eloquent Javascript, by Marijn Haverbeke
- The Modern Javascript Tutorial, by javascript.info
The Web   - Git/GitHub configuration
- Git/GitHub workflow practice
9/28 6 Javascript          
9/30 7 Full stack mobile web app preview Examples:
- Example full stack app
  Javascript    

Sprint 0 - Rapid prototyping

An informal short sprint focused on completing a clickable prototype of the application.

Date Class Topics Notes Helpful resources Quiz due Scrum tasks due Exercise due
10/5 8 Project Kick-Off          
10/7 9 Rapid Prototying Notes:
- User experience design
- Figma essentials

Examples:
- Example prototype
How to Wireframe by Figma Marketing     - Full-stack app
10/12 n/a no class (University Holiday)          
10/14 10 Project work Notes:
- Project work day plan
- Coding conventions
- Implementing Scrum using GitHub
- Feature branch workflow
  User experience design - Project setup
- Sprint 0 planning
 
10/19 11 Stakeholder demos Notes:
- Stakeholder demos
    Daily standup Parts of Sprint 0:
- app map & wireframes
- prototype
10/21 n/a no class (Professor out)          

Sprint 1 - Front-end development

A Scrum sprint focused on knocking out the front-end of the application.

Date Class Topics Notes Helpful resources Quiz due Scrum tasks due Exercise due
10/26 12 React.js Notes:
- React.js
- Project kickoff

Examples:
- Example simple React.js app
- React.js official site, including tutorials and documentation.
- Video: React Router Tutorial, by Dev Ed.
- Video course: React for Web Designers, by Joe Chellman
Sprint 0 feedback - Stakeholder demo
- Sprint 1 planning
Remaining parts of Sprint 0:
- project setup
- sprint planning
10/28 13 React.js Examples:
- React.js starter app
    Daily standup  
11/2 14 Project work Notes:
- Project work day plan
  React.js Daily standup  
11/4 15 Stakeholder demos Notes:
- Stakeholder demos
       

Sprint 2 - Back-end development

A Scrum sprint focused on knocking out the back-end of the application.

Date Class Topics Notes Helpful resources Quiz due Scrum tasks due Exercise due
11/9 16 Express.js Notes:
- Express.js

Examples:
- Express.js starter app
- Express.js official site, including tutorials and documentation.
- Video: Build A Restful Api With Node.js Express & MongoDB, by Dev Ed.
- Video course: Dynamic websites with Node and Express, by Daniel Khan
Sprint 1 feedback - Stakeholder demo
- Sprint 2 planning
Completed Sprint 1:
- React.js front-end
11/11 17 Software testing Notes:
- Software testing
- Unit testing
  Express.js Daily standup  
11/16 18 Project work Notes:
- Project work day plan
  Software testing Daily standup  
11/18 n/a no class (Professor out)          
11/23 19 Stakeholder demos Notes:
- Stakeholder demos
    Daily standup  

Sprint 3 - Database integration

A Scrum sprint focused on integrating databases into the application.

Date Class Topics Notes Helpful resources Quiz due Scrum tasks due Exercise due
11/25 20 Data storage Notes:
- Data storage

Examples:
- Example data storage app
- Video course: Databases for Node.js Developers, by Daniel Khan
- Mongoose official site, including tutorials and documentation.
Sprint 2 feedback - Stakeholder demo
- Sprint 3 planning
Completed Sprint 2:
- express.js back-end
11/30 21 Authentication Notes:
- Authentication
  Data storage Daily standup  
12/2 22 Project work Notes:
- Project work day plan
    Daily standup  
12/7 23 Stakeholder demos Notes:
- Stakeholder demos
    Daily standup  

Sprint 4 - Deployment

A Scrum sprint focused on finishing up and deploying the application.

Date Class Topics Notes Helpful resources Quiz due Scrum tasks due Exercise due
12/9 24 Deployment Notes:
- Deployment
Digital Ocean referral link Sprint 3 feedback - Stakeholder demo
- Sprint 4 planning
Completed Sprint 3:
- database integration
12/14 25 Project work Notes:
- Project work day plan
       

Release

Presenting the finished product to stakeholders and end-users.

Date Class Topics Notes Helpful resources Quiz due Scrum tasks due Exercise due
TBD 26 Project presentations Notes:
-Project presentations
  Due after all presentations:
- Sprint 4 feedback
- Student outtake questionnaire (submit once all presentations are complete)
  Completed Sprint 4:
- deployment
(No late work accepted beyond this date)