Needs of an Agile Team – The greatest threat to the agile process. – Pull Requests



Needs of an Agile Team – The greatest threat to the agile process. – Pull Requests

0 0


git-ready


On Github rabellamy / git-ready

Git Ready!

Needs of an Agile Team

... or better said a team with agility.

Collaboration

Transparency

Freedom

to experiment.

to be self determining.

to fail.

Communication

A tight feedback loop.

Flexibility

Sharing

Knowledge

Expertise

Feedback

Opinions

Accountability

Personal responsibility.

Cross Functional

The greatest threat to the agile process.

... or better said a process with agility.

Silos

An information silo is an insular management system incapable of reciprocal operation with other, related information systems.

silo mentality

A mind-set present in some companies when certain departments or sectors do not wish to share information with others in the same company. This type of mentality will reduce the efficiency of the overall operation, reduce morale, and may contribute to the demise of a productive company culture.

Git to the rescue!

Forking

Every developer gets their own sandbox.

Which gives them the freedom to experiment, share and collaborate safely away from upstream.

Pull Requests

A developer should never merge in their own code.

Under any circumstances!

A pull request is an opportunity.....

to collaborate.

for code review.

to learn.

A pull request should happen before a developers code enters into a teams shared history.

Git Hygiene

Keeping shared spaces neat and tidy.

Problems with an untidy upstream.

non-linear history

difficult debugging

primarily when using 'git bisect'

What does clean look like?

Rebasing

What is a rebase?

It's a way to replay commits, one by one, on top of a branch

Why rebase?

Deal with merge conflicts locally.

Replay your code on top of upstream history.

Helping to sustain a linear history.

'git rebase upstream/master'

'git rebase master FEATURE-BRANCH-NAME

Atomic commits

'git rebase -i HEAD~4'

'git cherry-pick f9464f9'

Prune merged branches

'git branch -D FEATURE-BRANCH-NAME'

'git push origin :FEATURE-BRANCH-NAME'

Now Let's Git Down!

0