Agile Development Practices - Productivity

Post on 30-Nov-2014

595 views 3 download

Tags:

description

Lunch and Learn I did on some general Agile and other practices that can make developers more productive. Most of the content was in the speech though unfortunately.

Transcript of Agile Development Practices - Productivity

Agile Development Practices:Coding & ProductivityAlex Moore, HMB

Traditional Big ‘A’ Agile

Individuals and interactions over processes and toolsWorking software over comprehensive documentation

Customer collaboration over contract negotiationResponding to change over following a plan

That is, while there is value in the items onthe right, we value the items on the left more.

Little ‘a’ agile

Little ‘a’ agile1. Can you react immediately and without

panic if external constraints on your project change?

2. Do you review your process frequently and regularly to make sure the answer to the first question is always yes?

How can we do this in waterfall or constrained environments?

Subterfuge!

Agile Coding

SOLID Coding Single Responsibility Principle Open/closed Principle Liskov substitution principle Interface segregation principle Dependency inversion principle

Clean Coding PIE Baby steps KISS YAGNI DRY Boy Scout Rule Good Neighbor Rule

Using GIT for Great Good!

What Git is about1. Use CVS as an example of what NOT to

do.2. Support a distributed workflow3. Strong safeguards against corruption,

PEBKAC or malicious4. High Performance

Branching, Merging

Branching, Merging git branch NewBranch git checkout NewBranch

<do work> git commit –a –m ‘bug fix’

git checkout master git merge NewBranch

Decentralized Goodness

Git-tfs Treats TFS as a remote repository

1. Setup TFS “remote repository”2. <do work>3. Fetch latest4. Merge5. Use Checkintool.

Other Productivity Tips

Keep you hands where I can see them!

Application Launchers

Visual StudioShortcuts

ReSharper

Beyond Compare

Notepad++

Resources

domo arigatoanm@hmbnet.com