Agile Methodology

How a tech company works nowadays

  • Classic roles and how they apply in a software company
    • Marketing
    • Sales
    • Engineering (Dev, QA, Devops)
    • Finance
    • Business Development
  • The role of a ‘schedule’
    • Why is it important?
    • How is it used?
  • Discussion: When things change….
    • How are some of the ways that things can change?
    • What can cause those changes

Waterfall and Agile

  • Waterfall: Distinct stages, e.g. design, architecture, implementation, testing, deployment
  • Agile: Iterative, small batches, constant reprioritization.

Note that both these terms are high level models under which there are many variations

Agile Methodologies

The Agile Manifesto

We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:

  • Individuals and interactions over processes and tools
  • Working software over comprehensive documentation
  • Customer collaboration over contract negotiation
  • Responding to change over following a plan

That is, while there is value in the items on the right, we value the items on the left more.

Agile in the real world

  • Project management/Software engineering
  • Methodology? Many variants.
  • Agile variants: Extreme Programming, Scrum, Kanban, and many other variants, new ones every day.
  • Other methodologies: waterfall. “BDUF”.

General techniques

  • Small teams: Small, empowered, cross functional teams (scrum teams)
  • Measure: Don’t estimate – measure velocity
  • Iterations/Sprints: Work in fixed units of time (time-boxing)
  • Stories: Describe what is to be built in small bite-size pieces
  • Prioritization: Constant reprioritization (sprint planning meeting)
  • Daily Standup meetings: Practice radical transparency and no-blame culture. See Daily Scrum Meeting