Skip to content

Software process

  • ensure developers and stakeholders are on the same page
  • reduce risk

Processes

Waterfall

  • earlier days, ~70s, companies like IBM
  • "waterfall" from requirements to implementation
  • can't go back to previous stages (maybe slightly)

Spiral

  • ~80s
  • requirements, develop, back to customers, and repeat
  • spiral down the development cycle

Extreme programming

  • failure not so costly
  • paired programming

Agile development

  • simplify requirements
  • user stories, TDD came in
  • emergent design: start with minimum viable product, and grow from there
  • refactor code
  • Spikes
    • Architectural
    • user interface

Scrum

  • sprint backlog
  • scrum scenario
    • three weeks
    • plan, code & test, ceremonies

Scrum roles

  • Product owner
    • defines and adjusts features
  • Scrum lead
    • resolves conflicts in between
    • protects the scrum process
  • Team
    • developers
    • ~7 people

Scrum artifacts

  • Product backlog
    • prioritized backlog items
  • Sprint backlog
  • Burndown chart
    • remaining task hours in one sprint

Story points

  • Not work hours
  • Unit of work relative to each other
  • Estimate
    • Affinity: sort from easiest to hardest
    • Bucket: fibonacci number buckets

Ceremonies

Daily standup meeting - update on progress - no problem-solving - no blaming

Review - longer