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:
  1. overall quality of software
  2. developer skills & knowledge




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