Skip to content

Agile

Agile software development is an umbrella term for a set of frameworks and practices that break down complex projects into small manageable goals.

  • Ability to adapt and change
  • Very flexible
  • Quickly adapts to changes
  • Quick launch of product
  • Enables fast decision-making
  • Improved communication

Individuals and Interactions over Process and Tools

Steps:

  1. Read the Agile Manifesto
  2. Agile is doing what is valuable
  3. Don't do what is not

Story

Story in agile is a short narrative

  • A couple of sentences
  • Describes end user performing a domain-driven, result-oriented task
  • Describes your user's work

Agile Frameworks and Methodologies

  • Scrum
  • ScrumBan
  • Other/Hybrid Methodologies
  • Scrum/XP Hybrid
  • Kanban
  • Iterative Development
  • Lean
  • Extreme Programming (XP)
  • Others

Others

Agile has come to mean doing half of scrum poorly and using Jira - Andy Hunt, @PragmaticAndy SAFe is Shitty Agile For Enterprises - Martin Fowler Tell me how you will measure me, and then I will tell you how I will behave. - Eli Goldratt

Scrum:

  • Backlogs
  • Sprints
  • Daily Scrums
  • Sprint Reviews
  • POs
  • SMs
  • Commitments
  • Accountabilities
  • Standardization on an inflexible framework
  • Certs

What Agile is not?

  • Effectively determine when the work will be done

What can be done better?

  • Don't Estimate (its very hard to be estimate)

    • If the cost of failure is less than the cost of planning you must not plan
    • No Bullshit Estimation: (1 point, TFB (Too Fucking Big), NFC (No Fucking Clue))
  • No Sprints, instead build something and show it to client frequently

  • The risk of metrics

  • A 5-minute stand-up in the morning

  • Around a kanban board

  • With a WIP (Work in Progress) limit of team size/2: maximum amount of work that can exist in each status of a workflow

  • Demo as often as you can

  • NOT ALL DOCUMENTATION IS BAD, sorry I wasn't clear. I love code documentation, API docs, etc., what I don't like is process documentation, overhead documentation, all the stuff that literally doesn't matter if you don't do it.