Agile Development Practices - Productivity

27
Agile Development Practices: Coding & Productivity Alex Moore, HMB

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

Page 1: Agile Development Practices - Productivity

Agile Development Practices:Coding & ProductivityAlex Moore, HMB

Page 2: Agile Development Practices - Productivity

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.

Page 4: Agile Development Practices - Productivity
Page 5: Agile Development Practices - Productivity

Little ‘a’ agile

Page 6: Agile Development Practices - Productivity

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?

Page 7: Agile Development Practices - Productivity

How can we do this in waterfall or constrained environments?

Page 8: Agile Development Practices - Productivity

Subterfuge!

Page 9: Agile Development Practices - Productivity

Agile Coding

Page 10: Agile Development Practices - Productivity

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

Page 11: Agile Development Practices - Productivity
Page 12: Agile Development Practices - Productivity

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

Page 13: Agile Development Practices - Productivity

Using GIT for Great Good!

Page 14: Agile Development Practices - Productivity

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

Page 15: Agile Development Practices - Productivity

Branching, Merging

Page 16: Agile Development Practices - Productivity

Branching, Merging git branch NewBranch git checkout NewBranch

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

git checkout master git merge NewBranch

Page 17: Agile Development Practices - Productivity

Decentralized Goodness

Page 18: Agile Development Practices - Productivity

Git-tfs Treats TFS as a remote repository

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

Page 19: Agile Development Practices - Productivity

Other Productivity Tips

Page 20: Agile Development Practices - Productivity

Keep you hands where I can see them!

Page 21: Agile Development Practices - Productivity

Application Launchers

Page 22: Agile Development Practices - Productivity

Visual StudioShortcuts

Page 23: Agile Development Practices - Productivity

ReSharper

Page 24: Agile Development Practices - Productivity

Beyond Compare

Page 25: Agile Development Practices - Productivity

Notepad++

Page 26: Agile Development Practices - Productivity

Resources

Page 27: Agile Development Practices - Productivity

domo [email protected]