agile work practices and tools
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](https://reader036.vdocuments.net/reader036/viewer/2022073116/55564889d8b42aa41e8b48bc/html5/thumbnails/1.jpg)
(Agile) Work Practices & Tools
![Page 2: Agile work practices and tools](https://reader036.vdocuments.net/reader036/viewer/2022073116/55564889d8b42aa41e8b48bc/html5/thumbnails/2.jpg)
Contents
● What are they?● Why use them?● Collaboration practices● Development practices● Conclusion● Extras● Questions
![Page 3: Agile work practices and tools](https://reader036.vdocuments.net/reader036/viewer/2022073116/55564889d8b42aa41e8b48bc/html5/thumbnails/3.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022073116/55564889d8b42aa41e8b48bc/html5/thumbnails/4.jpg)
Disclaimer
● No silver bullet● Requires teamwork● Depends on the company & company size● Depends on the client
![Page 5: Agile work practices and tools](https://reader036.vdocuments.net/reader036/viewer/2022073116/55564889d8b42aa41e8b48bc/html5/thumbnails/5.jpg)
● 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](https://reader036.vdocuments.net/reader036/viewer/2022073116/55564889d8b42aa41e8b48bc/html5/thumbnails/6.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022073116/55564889d8b42aa41e8b48bc/html5/thumbnails/7.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022073116/55564889d8b42aa41e8b48bc/html5/thumbnails/8.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022073116/55564889d8b42aa41e8b48bc/html5/thumbnails/9.jpg)
![Page 10: Agile work practices and tools](https://reader036.vdocuments.net/reader036/viewer/2022073116/55564889d8b42aa41e8b48bc/html5/thumbnails/10.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022073116/55564889d8b42aa41e8b48bc/html5/thumbnails/11.jpg)
Extra
![Page 12: Agile work practices and tools](https://reader036.vdocuments.net/reader036/viewer/2022073116/55564889d8b42aa41e8b48bc/html5/thumbnails/12.jpg)
Tools - DVCS
● Git, Mercurial● GitHub for public repositories● Bitbucket for private
![Page 13: Agile work practices and tools](https://reader036.vdocuments.net/reader036/viewer/2022073116/55564889d8b42aa41e8b48bc/html5/thumbnails/13.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022073116/55564889d8b42aa41e8b48bc/html5/thumbnails/14.jpg)
Tools - Continuous Integration
● Hudson/Jenkins● PHPUndercontrol● TravisCI
![Page 15: Agile work practices and tools](https://reader036.vdocuments.net/reader036/viewer/2022073116/55564889d8b42aa41e8b48bc/html5/thumbnails/15.jpg)
Tools - Collaboration
● Pivotal Tracker● JIRA● Redmine● RT● Trello● Google Docs...
![Page 16: Agile work practices and tools](https://reader036.vdocuments.net/reader036/viewer/2022073116/55564889d8b42aa41e8b48bc/html5/thumbnails/16.jpg)
Books
● Practices of an Agile programmer● Ship It!● Pragmatic Guide to Git● Pragmatic Project Automation● Pragmatic Unit Testing w/ JUnit