Skip to content

Latest commit

 

History

History
37 lines (33 loc) · 1.63 KB

File metadata and controls

37 lines (33 loc) · 1.63 KB
layout root
lesson
.

This one-day class will introduce participants to the basics of software project management with a particular focus on the sorts of projects commonly found in research settings. Participants should have previously worked on programs containing thousands or tens of thousands of lines of code, and be regular users of basic tools like the Unix shell and a version control system. Building on that foundation, this course will discuss:

  • how to choose an appropriate license
  • how to use checklists and issue tracking systems to manage work
  • why projects should rely on boring technologies
  • what agile development is, and how to adapt it for research purposes
  • how to turn a project into a community

Comments and improvements are very welcome; you can send us either by [filing issues]({{ site.github.repository_url}}/issues) or [submitting pull requests]({{ site.github.repository_url}}/pulls). Please first see the [design notes]({{"/design/" | absolute_url}}) for background on the lesson. Please also note that:

  1. The schedule is just a placeholder: we recognize that there's at least two days of material here, so suggestions on what to cut are as welcome as corrections or additions.
  2. Some groups will be able to skip some of the material about [task automation]("/06-automate/" | absolute_url), [making software robust]("/07-robust/" | absolute_url), [using issue trackers]("/10-issues/" | absolute_url), and so on. Instructors should survey classes beforehand (or at the start of the day) to find out how much of this they already know or are interested in.

{% include links.md %}