Software Engineering Notes

Agile

This article is really cool: https://www.niceideas.ch/roller2/badtrash/entry/agile-software-development-lessons-learned

This video is also super helpful summary of agile process:

This video is a good explanation of what a Minimum Viable Product (MVP) is and how to (and not to!) deliver it:

In the above video it helpfully explains that one should think of the MVP as the Easliest Testable Product, the idea being to get the customer testing and most implortantly providing feedback as early as possible. Thus, the MVP is the smallest thing the team can think of that will get the customer testing things and giving feedback.

Code Quality

Spell check comments: CSpell (requires NodeJS) or SCS Spell (requires Python 2 or 3).

Remove trailing white space: sed -i 's/[[:space:]]*$//' <filename>.

Coding style: KWStyle.

Static code analysers!

Spell checker:

aspell check --mode ccpp <filename>

Mutation tesing?

https://github.com/mull-project/mull