Git kata #2
Git & Scrum
Tomasz Ducin
8th December 2013, Warsaw
Plan
few words about scrum
problems with git inside scrum project
git workflow evolution
tools that enhance team's performance
sum up & discussion
Scrum
sprint
daily stand-up
user story
self-organizing
product owner
product backlog
sprint review/demo
sprint retrospective
Scrum goal
Deliver (small) business value
in a short time period (i.e. sprint)
git goal
prepare a commit, ready to be deployed,
including existing and new functionalities
git/scrum issues
ignorance of git
lack of communication
disobedience
repository mess
dynamic binary files
middle-sprint code refactor
postponing merging stage
unproductive workflow
step 1
step 2
linear history
no work duplication
readable git log --graph
step 3
Enhancing team performance
continuous integration
code review
Continuous integration
automates the build (esp. nightly)
automates testing
automates deployment
immediate bug appearance (if any)
preventing integration problems
(e.g. multiple components)
jenkins (hudson)
CI issues
untested = unstable
tests fail => alarm?
elastic architecture
Code review
peer review of source code
bugfixes in early development phase
improves:
overall quality of software
developer skills & knowledge
reviewboard.org
code review issues
review status vs merging
blockers
many small review requests
experienced developer suffocates
discuss before you start writing code
junior reviews another junior
sum up
general hints which helped us to solve our problems:
communicate
learn git
merge often
use tools
improve your workflow constantly
Discussion