SWEN 302: AGILE METHODS Roma Klapaukh & Alex Potanin
PRESENTATIONS 5 minutes Mandatory Everyone should be there (talk to us if you have special circumstances) Should discuss both agile practice and progress The only progress that counts is stuff that is directly useful
TEAM WORK Shared responsibility You don’t need to find the right answer – you all just need to be on the same page You should all be aware of what is going on Call out problems when you see them
CROSS-FUNCTIONAL TEAM Everyone should know a bit of everything Don’t put all your eggs in one basket
MEDIATION At the end, you have to accept the outcome – even if you don’t agree Remember: you can only do one thing Should be based on why you believe something
TECHNICAL DEBT Increase as you program The sum total of every decision that you have made that was not perfect You need to pay it off The more there is, the slower progress is
CODING STANDARDS Naming conventions Use of spaces / tabs Commenting rules Line width Brackets / alignment
LINT Checks for code style and bugs Can be added as a commit-hook They exist for lots of languages ESLint – JavaScript / Node.js FindBugs / checkstyle –Java Flake8 – Python Reek – Ruby
TESTING Unit tests Functional test Performance tests Manual vs Automatic tests Selenium Cucumber
VELOCITY MEASUREMENT Burn down chart Story points / sprint It’s about accurate estimation – not maximising your number
PEER PROGRAMMING One keyboard between two people
CONTINUOUS INTEGRATION Jenkins CI Hudson CI
CONTINUOUS DEPLOYMENT Continuous integration but more intense
TEST DRIVEN DEVELOPMENT (TDD) Tests before code When you find a bug, you create tests before fixing