Best Practices for modern sw development
Version control
Building
Communication tools
- Doxygen for the product documentation
- Jabber for daily chatting (ejabber is nice server, Empathy works as client)
Development processes
- Scrum (for feature driven projects)
- Kanban (for framework projects)
- and finally Scrumban
Testing
- Automatic unittests -- keep them fast and very simple to run (several tools)
- Continuous building and testing (e.g. Jenkins)
- Requirements vs. testcases = 1:1 (ATDD)
- write and manage requirements in "testing language"
- Robotframework is a small step in the right direction
Packaging
- Portage for source distributions
- apt for binary distributions