agile work practices and tools

17
(Agile) Work Practices & Tools

Upload: daniel-lopes

Post on 16-May-2015

373 views

Category:

Technology


1 download

DESCRIPTION

Agile work pratices and tools.Focuses on the various collaboration and development practices, characteristic of Agile Software Development.

TRANSCRIPT

Page 1: Agile work practices and tools

(Agile) Work Practices & Tools

Page 2: Agile work practices and tools

Contents

● What are they?● Why use them?● Collaboration practices● Development practices● Conclusion● Extras● Questions

Page 3: Agile work practices and tools

What are Agile methodologies?

● Buzz words● Tons of books on them... ● (Inspires|enForces) collaboration● Continuous enforcement of guidelines● Right tools for the right job● React to change / Innovation● Look for solutions - not using the blame tool● Thinking - over the "appearance of working"

Page 4: Agile work practices and tools

Disclaimer

● No silver bullet● Requires teamwork● Depends on the company & company size● Depends on the client

Page 5: Agile work practices and tools

● More communication● Constant "working knowledge" exchange● Momentum - "see the Cake baking"● Sustainable development● Move fast and React fast.● Less fail, more win

Why do I need agile practices?

Page 6: Agile work practices and tools

Collaboration practices

● Daily standup meetings ( +2 people )● Live task list - know who needs help● Pair programming - on delicate matters● Code change notifications - use them with...● Code reviews - assign daily periods of time

Page 7: Agile work practices and tools

Development practices

● Testing - TDD, BDD, Headless browser● DVCS - (not also) for international teams

○ Branching model○ Commit early and often○ Check out when possible○ Check in when tests are working

● Automation● (Continuous Integration)

○ Build code○ Run tests○ Code coverage○ Generate documentation○ Notify fails

Page 8: Agile work practices and tools

More

● SOLID principles of OOP● Tracer Bullet Development● Monolithic code is off the table● Explain in one sentence = success = KISS● DRY● Document your code enough● Refactor code - paying your technical debt

Page 9: Agile work practices and tools
Page 10: Agile work practices and tools

Conclusion

● Buzz words + Guidelines = Dogma???● Separate what's useful from what's not● Might not suit a big giant Company● People have aversion to change● If nobody is on board, DIY● Not a substitute for experience● Better understanding of the big picture● Less bureaucracy & more transparency

Page 11: Agile work practices and tools

Extra

Page 12: Agile work practices and tools

Tools - DVCS

● Git, Mercurial● GitHub for public repositories● Bitbucket for private

Page 13: Agile work practices and tools

Tools - Automation

● Bash scripts● Perl/Python scripts● Cloud-init● parallel-ssh● More SSH keys, less passwords● Code generation

○ PHP Project Wizard○ Yii○ Module::Starter○ Rails

Page 14: Agile work practices and tools

Tools - Continuous Integration

● Hudson/Jenkins● PHPUndercontrol● TravisCI

Page 15: Agile work practices and tools

Tools - Collaboration

● Pivotal Tracker● JIRA● Redmine● RT● Trello● Google Docs...

Page 16: Agile work practices and tools

Books

● Practices of an Agile programmer● Ship It!● Pragmatic Guide to Git● Pragmatic Project Automation● Pragmatic Unit Testing w/ JUnit

Page 17: Agile work practices and tools

Thank you!

Questions?

@dj_jorjinho