lemi orhan ergin - code your agility: tips for boosting technical agility in your organization
TRANSCRIPT
![Page 1: Lemi Orhan Ergin - Code Your Agility: Tips for Boosting Technical Agility in Your Organization](https://reader035.vdocuments.us/reader035/viewer/2022062412/586f76321a28ab10258b635d/html5/thumbnails/1.jpg)
CODE YOUR AGILITYTips for Boosting Technical Agility in Your Organization
LEMI ORHAN ERGIN Master Software Craftsman, ACM /lemiorhan /lemiorhan
![Page 2: Lemi Orhan Ergin - Code Your Agility: Tips for Boosting Technical Agility in Your Organization](https://reader035.vdocuments.us/reader035/viewer/2022062412/586f76321a28ab10258b635d/html5/thumbnails/2.jpg)
Developing software since 2001 Community Lead of Agile Turkey Founder of Software Craftsmanship Turkey Developer, Architect, Trainer, Coach, Leader Sony & eBay Alumni Managing Partner at ACM
LEMI ORHAN ERGIN Master Software Craftsman, ACM /lemiorhan /lemiorhan
/lemiorhan
lemiorhanergin.com
@lemiorhan
![Page 3: Lemi Orhan Ergin - Code Your Agility: Tips for Boosting Technical Agility in Your Organization](https://reader035.vdocuments.us/reader035/viewer/2022062412/586f76321a28ab10258b635d/html5/thumbnails/3.jpg)
AGILTYconcept emerges for helping developers to let them build productive processes and
high quality software
![Page 4: Lemi Orhan Ergin - Code Your Agility: Tips for Boosting Technical Agility in Your Organization](https://reader035.vdocuments.us/reader035/viewer/2022062412/586f76321a28ab10258b635d/html5/thumbnails/4.jpg)
Customer satisfaction Employee motivation Team collaboration Technical AGILTY Product management Business involvement Project management Process efficiency feedback mechanisms decision making servant leadership continuous improvement sufficient Documentation talent acquisition Automated flows status transparency
is more than you expectAGILTY
![Page 5: Lemi Orhan Ergin - Code Your Agility: Tips for Boosting Technical Agility in Your Organization](https://reader035.vdocuments.us/reader035/viewer/2022062412/586f76321a28ab10258b635d/html5/thumbnails/5.jpg)
Is technical agility about knowing technologies?
![Page 6: Lemi Orhan Ergin - Code Your Agility: Tips for Boosting Technical Agility in Your Organization](https://reader035.vdocuments.us/reader035/viewer/2022062412/586f76321a28ab10258b635d/html5/thumbnails/6.jpg)
python
java
android
go
phpgroovy
webservicesjquery lucene
grailsnewrelic
mongodb
couchbasehibernate
memcache
html5laravel
bootstrap
xmldjango
ratpack
mysql
ajaxoauth
seo
zend
spring
perl
c++elasticsearch
solr
rabbitmq
activemq mulejson
c#hadoop
alfresco
css
apache
git
svn
jruby
scala
javascript
postgres
ehcache
redis
riak bashios
expressjs
socketio
jms
jmx
nodejs
ruby
primefaces
hazelcast
jsf
playpl/sql
dart
wordpress
behat
angularjs
akkacassandra
c
cucumber junit
erlangclosure
![Page 7: Lemi Orhan Ergin - Code Your Agility: Tips for Boosting Technical Agility in Your Organization](https://reader035.vdocuments.us/reader035/viewer/2022062412/586f76321a28ab10258b635d/html5/thumbnails/7.jpg)
Technical agility is about how well you use them
![Page 8: Lemi Orhan Ergin - Code Your Agility: Tips for Boosting Technical Agility in Your Organization](https://reader035.vdocuments.us/reader035/viewer/2022062412/586f76321a28ab10258b635d/html5/thumbnails/8.jpg)
pair programming
simple design
collaboration culturecode branching
short upfront design
central package repository
daily snapshots
behavior driven development
a/b testing
version control systems
solid principles
cloud compatibity
enterprise environments
branching modelsfeature freeze
collective ownership
educate upfront
frequent releases
unit testing
kaizen
code coverage
continuous builds
code standards
best practicesagile documentation
automatic security testing
static code analysis
refactoringcontinuous integration
testing strategies
minimum viable product
evolutionary design
tdd
devops culture
iterative development
bbs
cross functional teams
clean code principles
continuous deployment
fast bootupsdesign patterns
10 minutes builds
continuous delivery
evergreen build status
acceptance testingcode review
coderetreat
mind-mapping
lean startup
![Page 9: Lemi Orhan Ergin - Code Your Agility: Tips for Boosting Technical Agility in Your Organization](https://reader035.vdocuments.us/reader035/viewer/2022062412/586f76321a28ab10258b635d/html5/thumbnails/9.jpg)
TECHNICAL AGILITY Is ALL about development
CULTURE
![Page 10: Lemi Orhan Ergin - Code Your Agility: Tips for Boosting Technical Agility in Your Organization](https://reader035.vdocuments.us/reader035/viewer/2022062412/586f76321a28ab10258b635d/html5/thumbnails/10.jpg)
Let’s develop a project with succeeded practicesin an agile culture
![Page 11: Lemi Orhan Ergin - Code Your Agility: Tips for Boosting Technical Agility in Your Organization](https://reader035.vdocuments.us/reader035/viewer/2022062412/586f76321a28ab10258b635d/html5/thumbnails/11.jpg)
commit to your manifestodefine how you build your software and what you believe
![Page 12: Lemi Orhan Ergin - Code Your Agility: Tips for Boosting Technical Agility in Your Organization](https://reader035.vdocuments.us/reader035/viewer/2022062412/586f76321a28ab10258b635d/html5/thumbnails/12.jpg)
![Page 13: Lemi Orhan Ergin - Code Your Agility: Tips for Boosting Technical Agility in Your Organization](https://reader035.vdocuments.us/reader035/viewer/2022062412/586f76321a28ab10258b635d/html5/thumbnails/13.jpg)
find your foremanbe apprentice of a craftsman and master your professionalism
![Page 14: Lemi Orhan Ergin - Code Your Agility: Tips for Boosting Technical Agility in Your Organization](https://reader035.vdocuments.us/reader035/viewer/2022062412/586f76321a28ab10258b635d/html5/thumbnails/14.jpg)
he is a true believer he is a software craftsman he reminds you the principles he makes sure everything done right he checks test coverages he reviews all codebases he looks for low quality outputs he detects technical improvements he proposes training topics he does mentorship he convinces people he rejects unreasonable demands he checks works with standards he advices for continuous delivery he uses and advocates alm processes he identifies dependencies
FORMAN
![Page 15: Lemi Orhan Ergin - Code Your Agility: Tips for Boosting Technical Agility in Your Organization](https://reader035.vdocuments.us/reader035/viewer/2022062412/586f76321a28ab10258b635d/html5/thumbnails/15.jpg)
be proficient with toolstools are your most reliable friends in your daily work
![Page 16: Lemi Orhan Ergin - Code Your Agility: Tips for Boosting Technical Agility in Your Organization](https://reader035.vdocuments.us/reader035/viewer/2022062412/586f76321a28ab10258b635d/html5/thumbnails/16.jpg)
CI Server
IDE/Editor
Source Code Version System
Console
Build Tool
Code Analysis Tool
Vagrant / Docker
![Page 17: Lemi Orhan Ergin - Code Your Agility: Tips for Boosting Technical Agility in Your Organization](https://reader035.vdocuments.us/reader035/viewer/2022062412/586f76321a28ab10258b635d/html5/thumbnails/17.jpg)
feel responsible of your workyou are what you build
![Page 18: Lemi Orhan Ergin - Code Your Agility: Tips for Boosting Technical Agility in Your Organization](https://reader035.vdocuments.us/reader035/viewer/2022062412/586f76321a28ab10258b635d/html5/thumbnails/18.jpg)
BE RESPONSIBLE OFdesign architecture quality testing performance maintenance operations practicesOF YOUR WORK
![Page 19: Lemi Orhan Ergin - Code Your Agility: Tips for Boosting Technical Agility in Your Organization](https://reader035.vdocuments.us/reader035/viewer/2022062412/586f76321a28ab10258b635d/html5/thumbnails/19.jpg)
share what you knowyour knowledge is not valuable if you don’t share with someone
![Page 20: Lemi Orhan Ergin - Code Your Agility: Tips for Boosting Technical Agility in Your Organization](https://reader035.vdocuments.us/reader035/viewer/2022062412/586f76321a28ab10258b635d/html5/thumbnails/20.jpg)
brown
bagsessions
Everyone has things to teach Everyone should be a speaker Everyone should participate No limitations on topics No need to be experts
After organizing 100+ meetups, I realized thatBBS might be the most
effective catalyst of developer motivation
![Page 21: Lemi Orhan Ergin - Code Your Agility: Tips for Boosting Technical Agility in Your Organization](https://reader035.vdocuments.us/reader035/viewer/2022062412/586f76321a28ab10258b635d/html5/thumbnails/21.jpg)
expertise tdd and testingmajority of problems occur due to lack of expertise in desing
![Page 22: Lemi Orhan Ergin - Code Your Agility: Tips for Boosting Technical Agility in Your Organization](https://reader035.vdocuments.us/reader035/viewer/2022062412/586f76321a28ab10258b635d/html5/thumbnails/22.jpg)
I am
Scared!When I change something, some other features might stop working!
![Page 23: Lemi Orhan Ergin - Code Your Agility: Tips for Boosting Technical Agility in Your Organization](https://reader035.vdocuments.us/reader035/viewer/2022062412/586f76321a28ab10258b635d/html5/thumbnails/23.jpg)
“I spend days for manual testing!”
![Page 24: Lemi Orhan Ergin - Code Your Agility: Tips for Boosting Technical Agility in Your Organization](https://reader035.vdocuments.us/reader035/viewer/2022062412/586f76321a28ab10258b635d/html5/thumbnails/24.jpg)
WE’RE producing Zombie software
![Page 25: Lemi Orhan Ergin - Code Your Agility: Tips for Boosting Technical Agility in Your Organization](https://reader035.vdocuments.us/reader035/viewer/2022062412/586f76321a28ab10258b635d/html5/thumbnails/25.jpg)
SOFTWARES HAVE TO BREATH TO LIVE
![Page 26: Lemi Orhan Ergin - Code Your Agility: Tips for Boosting Technical Agility in Your Organization](https://reader035.vdocuments.us/reader035/viewer/2022062412/586f76321a28ab10258b635d/html5/thumbnails/26.jpg)
3 RULES OF WRITING A LIVING SOFTWARE
![Page 27: Lemi Orhan Ergin - Code Your Agility: Tips for Boosting Technical Agility in Your Organization](https://reader035.vdocuments.us/reader035/viewer/2022062412/586f76321a28ab10258b635d/html5/thumbnails/27.jpg)
Continuous Refactoring Continuous Testing
Evolutionary Design
3 RULES OF WRITING A LIVING SOFTWARE
![Page 28: Lemi Orhan Ergin - Code Your Agility: Tips for Boosting Technical Agility in Your Organization](https://reader035.vdocuments.us/reader035/viewer/2022062412/586f76321a28ab10258b635d/html5/thumbnails/28.jpg)
Continuous Refactoring Continuous Testing
Evolutionary Design
3 RULES OF WRITING A LIVING SOFTWARE
TDD
![Page 29: Lemi Orhan Ergin - Code Your Agility: Tips for Boosting Technical Agility in Your Organization](https://reader035.vdocuments.us/reader035/viewer/2022062412/586f76321a28ab10258b635d/html5/thumbnails/29.jpg)
I cannot ACHIEVE TDD
WHY?
![Page 30: Lemi Orhan Ergin - Code Your Agility: Tips for Boosting Technical Agility in Your Organization](https://reader035.vdocuments.us/reader035/viewer/2022062412/586f76321a28ab10258b635d/html5/thumbnails/30.jpg)
IS HARDSOFTWAREDESIGNING
![Page 31: Lemi Orhan Ergin - Code Your Agility: Tips for Boosting Technical Agility in Your Organization](https://reader035.vdocuments.us/reader035/viewer/2022062412/586f76321a28ab10258b635d/html5/thumbnails/31.jpg)
YOU NEVER RESERVE TIME TO WRITE TESTS
you always have time for tests you either spend it for fixing bugs
or writing automated tests
![Page 32: Lemi Orhan Ergin - Code Your Agility: Tips for Boosting Technical Agility in Your Organization](https://reader035.vdocuments.us/reader035/viewer/2022062412/586f76321a28ab10258b635d/html5/thumbnails/32.jpg)
THE ROADMAPFOLLOWINGYOU ARE NOT
![Page 33: Lemi Orhan Ergin - Code Your Agility: Tips for Boosting Technical Agility in Your Organization](https://reader035.vdocuments.us/reader035/viewer/2022062412/586f76321a28ab10258b635d/html5/thumbnails/33.jpg)
LEARNESTABLISHPERFORM
THE ROADMAP
![Page 34: Lemi Orhan Ergin - Code Your Agility: Tips for Boosting Technical Agility in Your Organization](https://reader035.vdocuments.us/reader035/viewer/2022062412/586f76321a28ab10258b635d/html5/thumbnails/34.jpg)
LEARNESTABLISHPERFORM
THE ROADMAP
![Page 35: Lemi Orhan Ergin - Code Your Agility: Tips for Boosting Technical Agility in Your Organization](https://reader035.vdocuments.us/reader035/viewer/2022062412/586f76321a28ab10258b635d/html5/thumbnails/35.jpg)
Unit testing frameworks Mocking frameworks Automated testing types Designing software Refactoring best practices Clean code principles
THE ROADMAPLEARN
ESTABLISHPERFORM
![Page 36: Lemi Orhan Ergin - Code Your Agility: Tips for Boosting Technical Agility in Your Organization](https://reader035.vdocuments.us/reader035/viewer/2022062412/586f76321a28ab10258b635d/html5/thumbnails/36.jpg)
Unit testing frameworks Mocking frameworks Automated testing types Designing software Refactoring best practices Clean code principles
Continuous Integration server Source code versioning system Notification mechanism Code coverage monitoring
THE ROADMAPLEARN
ESTABLISHPERFORM
![Page 37: Lemi Orhan Ergin - Code Your Agility: Tips for Boosting Technical Agility in Your Organization](https://reader035.vdocuments.us/reader035/viewer/2022062412/586f76321a28ab10258b635d/html5/thumbnails/37.jpg)
Unit testing frameworks Mocking frameworks Automated testing types Designing software Refactoring best practices Clean code principles
Continuous Integration server Source code versioning system Notification mechanism Code coverage monitoring
Practice TDD via katas Develop via TDD Acceptance testing via TDD Verify by behaviours via BDD
THE ROADMAPLEARN
ESTABLISHPERFORM
![Page 38: Lemi Orhan Ergin - Code Your Agility: Tips for Boosting Technical Agility in Your Organization](https://reader035.vdocuments.us/reader035/viewer/2022062412/586f76321a28ab10258b635d/html5/thumbnails/38.jpg)
Unit testing frameworks Mocking frameworks Automated testing types Designing software Refactoring best practices Clean code principles
Continuous Integration server Source code versioning system Notification mechanism Code coverage monitoring
Practice TDD via katas Develop via TDD Acceptance testing via TDD Verify by behaviours via BDD
THE ROADMAPLEARN
ESTABLISHPERFORM
![Page 39: Lemi Orhan Ergin - Code Your Agility: Tips for Boosting Technical Agility in Your Organization](https://reader035.vdocuments.us/reader035/viewer/2022062412/586f76321a28ab10258b635d/html5/thumbnails/39.jpg)
organize code retreatspracticing is the best way to improve our craft
![Page 40: Lemi Orhan Ergin - Code Your Agility: Tips for Boosting Technical Agility in Your Organization](https://reader035.vdocuments.us/reader035/viewer/2022062412/586f76321a28ab10258b635d/html5/thumbnails/40.jpg)
6 continents 137 cities 20 timezones 2000+ developers 31 hours of coding
Global Day of Code Retreat
November 15, 2014
coderetreat.org Coderetreat Community Network
35 people attended the day in Istanbul
![Page 41: Lemi Orhan Ergin - Code Your Agility: Tips for Boosting Technical Agility in Your Organization](https://reader035.vdocuments.us/reader035/viewer/2022062412/586f76321a28ab10258b635d/html5/thumbnails/41.jpg)
build new habitsimproving quality of your software is a daily behavior
![Page 42: Lemi Orhan Ergin - Code Your Agility: Tips for Boosting Technical Agility in Your Organization](https://reader035.vdocuments.us/reader035/viewer/2022062412/586f76321a28ab10258b635d/html5/thumbnails/42.jpg)
checkin others’ code with yours review CI build status review sonarqube reports review commits graph review bug reports review technical debt in backlog
![Page 43: Lemi Orhan Ergin - Code Your Agility: Tips for Boosting Technical Agility in Your Organization](https://reader035.vdocuments.us/reader035/viewer/2022062412/586f76321a28ab10258b635d/html5/thumbnails/43.jpg)
define roadmap for craftsmanship
it’s not easy to identify what should we do to improve our craft
![Page 44: Lemi Orhan Ergin - Code Your Agility: Tips for Boosting Technical Agility in Your Organization](https://reader035.vdocuments.us/reader035/viewer/2022062412/586f76321a28ab10258b635d/html5/thumbnails/44.jpg)
Apprentice, Youngling, Padawan, Jedi Knight, Jedi Master, Jedi Council,Grand Master, Yoda
from apprentice to journeyman
![Page 45: Lemi Orhan Ergin - Code Your Agility: Tips for Boosting Technical Agility in Your Organization](https://reader035.vdocuments.us/reader035/viewer/2022062412/586f76321a28ab10258b635d/html5/thumbnails/45.jpg)
never release an unreviewed code
to production
it is so easy to fall into traps if you rely on your eyes only
![Page 46: Lemi Orhan Ergin - Code Your Agility: Tips for Boosting Technical Agility in Your Organization](https://reader035.vdocuments.us/reader035/viewer/2022062412/586f76321a28ab10258b635d/html5/thumbnails/46.jpg)
ENJOYremember whatever you do do not forget to
![Page 47: Lemi Orhan Ergin - Code Your Agility: Tips for Boosting Technical Agility in Your Organization](https://reader035.vdocuments.us/reader035/viewer/2022062412/586f76321a28ab10258b635d/html5/thumbnails/47.jpg)
Lemİ orhan ergİnagile software craftsman
/lemiorhanhttps://www.linkedin.com/in/lemiorhan
@lemiorhanhttps://twitter.com/lemiorhan
/lemiorhanhttp://www.slideshare.net/lemiorhan
lemiorhanergin.comOfficial site having personal information
www.acm-software.com