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:
- Read the Agile Manifesto
- Agile is doing what is valuable
- 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.