-
Notifications
You must be signed in to change notification settings - Fork 0
Seminar Slides 3 Software Specifications
Manuel Holtgrewe edited this page Mar 25, 2020
·
1 revision
The waterfall model is a good ... model
- requirements analysis
- system design
- system implementation
- verify implementation
- maintain software
Waterfall is document driven (requirements document, design document, software plus documentation, tests plus documentation, installation plus documentation plus maintenance report)
- One of the best books about software development processes is "Rapid Development" by Steve McConnel (you can get it super cheap as a used book, same as "Code Complete" by him, early editions are fine)
- In the 2000s: cult-like following of "Agile Manifesto" (the author did not want a cult)
- The core of it:
- DONT do one water fall
- DO go through (some of) the water fall steps in (sufficiently) short iterations
- LEARN from your previous iterations
- FAIL early, fail often
- Git (GitHub repository)
- Wikis (GitHub wiki)
- Text "Scratchpad", e.g., Etherpad (list of instances: https://github.com/ether/etherpad-lite/wiki/Sites-that-run-Etherpad-Lite)
- Graphics "Scratchpad", e.g., https://awwapp.com/
- Chat (searchable logs)
- Sound/Video Calls
- Define collaboration roles and channels, e.g.,
- project manager
- document(ation) manager
- test manager
- Create initial iterations of requirements by March 27.
- special focus on features and importance (must-haves, should-haves, nice-to-haves)
- Create initial design document by April 3.
- special focus on modules/components and the necessary interfaces (start with "boxes and arrows")
- Create initial components (at least the modules by April 3)
- make sure to include tests, keep CI green
- There's tons of literatures etc. (some good, some bad)
- The "Pragmatic Programmer" is a good book to read for fledging programmers
- Some pointers:
- Putting things into writing can help to structure and clarify things.
- Keep a file with mistakes that you made and their solutions. This will help you find a solution for recurring problems (they will reoccur).
- Create "daily 3-line" summaries of your work (at least for yourself) to track your progress, helps in reflection
- "Manager" schedules are different from "maker" schedules. Management = many, often small meetings, Maker = longer times working on one task. Try to get long stretches of time working when you need to make, a 5 minute interruption often takes more of your "maker" time.