Skip to content

Latest commit

 

History

History
56 lines (56 loc) · 3.08 KB

SDLC.md

File metadata and controls

56 lines (56 loc) · 3.08 KB

Software Development Life Cycle (SDLC)

  • Software development life cycle is the process by which we define, produce and maintain softare.
    • At their core, all models gather requirements -> produce product -> test the product meets the requirements.

Models: Waterfall vs Agile

Waterfall

  • Phases
    1. Requirements
    2. Design
    3. implementation
    4. Verification
    5. Maintenance
  • Projects progress one step at a time in a linear fashion until a project reaches maintenance
    • "one should move to a phase only when its preceding phase is reviewed and verified"
  • Pros
    • Model places significant focus on requirements and documentation
    • Designed to catch issues as early as possible (see cost of a defect)
    • Easy to identify milestones
  • Cons
    • It is difficult to know all of the requirements when a project begins

Agile model

  • "We are uncovering better ways of developing software by doing it and helping others do it."
  • Pillars of Agile
    1. Individuals and Interactions over processes and tools
    2. Working Software over comprehensive documentation
    3. Customer Collaboration over contract negotiation
    4. Responding to Change over following a plan
  • There are many different implementations of the agile manifesto
    • Scrum and Kanban are currently very popular

Scrum

  • Framework for managing work following the principales from the Agile Manfiesto
  • Scrum comes as a set of guidelines to be shaped to meet a team's specific needs
    • Each teams practices evolve through sprint retros
    • Each team's scrum is unique
  • Terminology
    • Sprint - timeboxed iterations for work
      • For the class, we are proposing a 1 week sprint
    • Stories - A unit of work that provides value to
    • Epics - A collection of stories packed together to deliver a feature
    • Spikes - A unit of engineering research that does not deliver direct value. Typically ends with creating stories
  • 4 Ceremonies
    1. Daily scrum (standup) - daily work update
      1. Format for update "yesterday I did A, B, and C. Today I plan to do D, E, and F. I am blocked on X, and Person B is working to resolve it"
    2. Sprint planning - Meeting to select what work the team will complete in the current sprint
      1. The team should only pull in the work it believes.
    3. Sprint review - End of sprint meeting to evaluate progress in the sprint. Ensure all AC for completed stories were met.
    4. Retrospective - Reflect on previous sprint, modify team's process to improve productivity. 1.(opinion) most teams fail to properly use retro to solve their own problems.
  • Sample project

Sources