Skip to content

Commit

Permalink
Merge pull request #28 from neu-se/module07-agile
Browse files Browse the repository at this point in the history
module07-agile
  • Loading branch information
abhutta0 authored Jan 28, 2024
2 parents 0c5f573 + 22b2ac7 commit 41f0266
Show file tree
Hide file tree
Showing 9 changed files with 51 additions and 1 deletion.
Binary file added Slides/Module 07.1 Software Process.pdf
Binary file not shown.
Binary file added Slides/Module 07.1 Software Process.pptx
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file added Slides/Module 07.3 Teams.pdf
Binary file not shown.
Binary file added Slides/Module 07.3 Teams.pptx
Binary file not shown.
2 changes: 1 addition & 1 deletion _data/modules.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
page: /modules/6-concurrency-patterns-in-typescript
4a:
name: Software Processes & Agile
page:
page: /modules/7-software-process
4b:
name: React Part 1 (Introduction)
page:
Expand Down
2 changes: 2 additions & 0 deletions lectures/l6.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,8 @@ By the end of this lesson, you should be prepared to:
* Write simple programs that create and manage promises using async/await
* Write simple programs to mask latency with concurrency by using non-blocking IO and Promise.all in TypeScript.

### Important Dates:
* [Team Formation](https://northeastern.instructure.com/courses/166618/assignments/2184900) **Due Jan 31 by 11am**{: .label .label-red }

{% include lesson.html %}

Expand Down
48 changes: 48 additions & 0 deletions lectures/l7.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
---
layout: module
title: "7 - Software Process"
permalink: /modules/7-software-process
parent: Modules
nav_order: 7
lessons:
- title: "Software Process"
ppt: "Module 07.1 Software Process.pptx"
pdf: "Module 07.1 Software Process.pdf"
- title: "Agile Planning and Estimation"
ppt: "Module 07.2 Agile Planning and Estimation.pptx"
pdf: "Module 07.2 Agile Planning and Estimation.pdf"
- title: "Teams"
ppt: "Module 07.3 Teams.pptx"
pdf: "Module 07.3 Teams.pdf"

---
### Learning Objectives:
The overall theme of this week’s lessons is software engineering processes: how do we organize our (non-programming) activities so that we can build some software project as efficiently as possible? The lessons will center on these three themes:

* How do we organize our development activities?
* How do we estimate how long a software project will take?
* How do we build an effective team?



### Important Dates:
* [Team Formation](https://northeastern.instructure.com/courses/166618/assignments/2184900) **Due Jan 31 by 11am**{: .label .label-red }

{% include lesson.html %}

### Resources
* [Postmortem Exercise](https://docs.google.com/document/d/1ob0dfG_gefr_gQ8kbKr0kS4XpaKbc0oVAk4Te9tbDqM/edit)

### Additional Readings:
The following books provide additional depth on the topics in this week's lessons:
* [Expectations, Outcomes, and Challenges of Modern Code Review](https://ieeexplore.ieee.org/document/6606617)
* [Modern Code Review: A Case Study at Google](https://research.google/pubs/modern-code-review-a-case-study-at-google/)
* [Peer interaction effectively, yet infrequently, enables programmers to discover new tools](https://dl.acm.org/doi/10.1145/1958824.1958888)
* [Do Developers Discover New Tools On The Toilet?](https://ieeexplore.ieee.org/document/8812046)
* [How Social and Communication Channels Shape and Challenge a Participatory Culture in Software Development](https://ieeexplore.ieee.org/document/7498605)
* [The Mythical Man-Month](https://learning.oreilly.com/library/view/mythical-man-month-the/0201835959/)
* [Head First Agile](https://learning.oreilly.com/library/view/head-first-agile/9781491944684/)
* [eXtreme Programming eXplained](https://learning.oreilly.com/library/view/extreme-programming-explained/0201616416/)
* [Debugging Teams](https://learning.oreilly.com/library/view/debugging-teams/9781491932049/)

For more reflections on software processes in the 1980's, [David Parnas' article: "Software Aspects of Strategic Defense Systems"](https://web.stanford.edu/class/cs99r/readings/parnas1.pdf). For a discussion of various xDD approaches, see [Rebecca Wirfs-Brock on What Drives Design?](https://vimeo.com/7722463). [Chuck Rossi's 2014 Release Engineering Keynote](https://www.youtube.com/watch?v=Nffzkkdq7GM) includes some great discussion of Facebook's mobile release process, [now outdated](https://research.facebook.com/publications/continuous-deployment-of-mobile-software-at-facebook-showcase/), but quite interesting; there is a discussion of team structure around 18 minutes in. [Sarah Mei's 2018 Power of Agile talk](https://www.youtube.com/watch?v=YL-6RCTywbc) provides a great discussion of embracing agile values that work for your team, while leaving behind toxic practices. Miscellaneous: [Investigating the origins of the tire swing meme](https://www.businessballs.com/amusement-stress-relief/tree-swing-cartoon-pictures-early-versions/)

0 comments on commit 41f0266

Please sign in to comment.