Link Search Menu Expand Document
Last updated: Aug 17, 22 15:10 UTC | Permalink

Week 3 - Requirements, Process and Teams

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 four themes:

  • How do we understand what software we are supposed to build?
  • 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:

Lessons:

Additional Readings:

The following books provide additional depth on the topics in this week’s lessons, and are available for free through Northeastern Libraries. To create your account, first visit this page: https://www.safaribooksonline.com/library/view/temporary-access/ and then select “Not Listed? Click Here” for institution, then enter your @northeastern.edu email address. After this first account creation, you’ll be able to log in directly to Safari Books Online with your @northeastern.edu email and no need for 2FA (hooray!).

For more reflections on software processes in the 1980’s, David Parnas’ article: “Software Aspects of Strategic Defense Systems”. For a discussion of various xDD approaches, see Rebecca Wirfs-Brock on What Drives Design?. Chuck Rossi’s 2014 Release Engineering Keynote includes some great discussion of Facebook’s mobile release process, now outdated, but quite interesting; there is a discussion of team structure around 18 minutes in. Sarah Mei’s 2018 Power of Agile talk 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


© 2022 Jonathan Bell, Adeel Bhutta, Ferdinand Vesely and Mitch Wand. Released under the CC BY-SA license