Skip to content

Seminar Slides 3 Software Specifications

Manuel Holtgrewe edited this page Mar 25, 2020 · 1 revision

marp: true

Software Specification


Software Development Process

The waterfall model is a good ... model

  1. requirements analysis
  2. system design
  3. system implementation
  4. verify implementation
  5. maintain software

Waterfall is document driven (requirements document, design document, software plus documentation, tests plus documentation, installation plus documentation plus maintenance report)


"Agile Methods"

  • 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

Collaboration Tools


Moving Forward

  1. Define collaboration roles and channels, e.g.,
    • project manager
    • document(ation) manager
    • test manager
  2. Create initial iterations of requirements by March 27.
    • special focus on features and importance (must-haves, should-haves, nice-to-haves)
  3. Create initial design document by April 3.
    • special focus on modules/components and the necessary interfaces (start with "boxes and arrows")
  4. Create initial components (at least the modules by April 3)
    • make sure to include tests, keep CI green

Self-Management

  • 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.