SlideShare a Scribd company logo
1 of 40
Download to read offline
Waste Driven
Development
Lean Thinking for
Software Developers
LEMi ORHAN ERGiN
agile software craftsman @ iyzico
Fighting with
LEMi ORHAN ERGiN
agile software craftsman @ iyzico
/lemiorhan
lemiorhanergin.com
@lemiorhan
agile practice lead at iyzico
Sony, eBay/GittiGidiyor & ACM
founder of Software Craftsmanship Turkey
ex product owner of Agile Turkey Summit
organized 200+ meetups and 3 conferences
we are naive
optimistic by default
assumes all goes well
of course we’ll succeed
and over-confident
super heroes
smartest guy on planet
write perfect code
design the best
do it right for the first time
understand customer needs
manage people & projects
build elegant solutions
http://imgur.com/a/Smr5d
Are you scared of
touching your source code?
Welcome to the club!
Legacy code consumes your life energy,
sucks your blood, forces you hack your
code to survive. Therefore we call it
zombie software, not legacy anymore
http://youhadonejob.org
Less than 0.01 percent
That’s how many consumer mobile apps will
be considered a financial success by their
creators at the end of 2018, according to
new research from Gartner Inc.
http://www.forbes.com/sites/connieguglielmo/2014/01/13/
mobile-apps-may-not-pave-the-way-to-developer-riches-sales-
average-less-than-1250-a-day
Mobile Apps Won't Lead To Riches For Most Developers
by Connie Guglielmo
http://boeingboeing2.deviantart.com/art/Well-time-to-fly-another-airline-516735690
Licensed under Creative Commons BY-NC 3.0
We have time to fix bugs,
but no time for writing better
We don’t refactor and write tests
because we don’t have enough time.
But we have time for debugging,
hacking code and fixing bugs.
http://forgifs.com/gallery/v/Funny/Unloading-cement-pipe-onto-tires.gif.html
Processes do not
build products,
but people do
Processes help people improve the
way they build products, increase
motivation and cultivate an
healthy environment. In the end,
the efficiency of processes are
important, but people are crucial.
build the wrong thing
build the thing wrong
poor quality
bugs and defects
slow and unproductive
endless dependencies
redundant tasks
drowned in waste
error error error error error
error error error error error
error error error error error
error error error error error
error error error error error
error error error error error
error error error error error
error error error error error
the languages we code
the technologies we use
the refactorings we need
the dependencies we have
the processes we follow
the feelings we have
Customers don’t care
their problems to be
understood and solvedCustomers really care
think like a
Customer
our job should be
maximizing the values
we can deliver
LEAN is a MINDSET
Maximizing value
for the end customer
by removing waste
LEAN is a MINDSET
value Any action or process that a
customer would be willing to pay for
doesn’t add value to the product
makes you slow down
decrease productivity
makes us open to do mistakes
increase comlexity
WASTE
Let’s
find waste
and eliminate
in software development
THE code ITSELF IS WASTE
more code more defects
Industry average is about
15 - 50 errors per 1000 lines 

of delivered code.
Steve McConnell
from of the book “Code Complete”
valueless developments
The very first value
of software is
to tolerate and facilitate
on-going changes
Robert C. Martin
Working topics on the left does not mean
we are good at using the topics on the right
debugging
bug fixing
manual deployments
manual testing
unmerged branches
big upfront design
comments
LOGGING
framework addiction
highly coupled design
bıg RELEASES
no security concerns HAVING SILOSpackage organization
FOCUS ON DESIGN & QUALITY
Design Patterns
Refactoring Techniques
OOP/FP/RP Principles
Clean Code Principles
Automated testing
Acceptance testing
Test Driven Design (TDD)
Code review techniques
Pair programming culture
KEEP YOUR REPO TINY
Slit your code into multiple modules / plugins
Keep your commit graph clean
Never allow long-living branches
Do not hesitate to delete code
Refactor code via SOLID principles
Keep independent parts in separate repos
Maintain modules in a single mono repo
“We zombify people by using wrong practices”
Niels Pflaeging
Management Exorcist
from his talk at Agile Turkey Summit 2014
Develop and refactor
Evolutionary design
Fully automated testing
Make codebase clean
Frequent short releases
Reproduce in test and fix
Get feedback and release
Develop and refactor
Evolutionary design
Fully automated testing
Make codebase clean
Frequent short releases
Reproduce in test and fix
Get feedback and release
Develop and bug fix
Big upfront design
Manual testing
Add comments to codebase
Big releases
Fix and test
Release and get feedback
waste driven development
Long-lasting defects
99% done tasks
Rework at the end
Missing continuous integration
Manual release steps
Working alone
Only author knows the code
Unsynchronized branches
Hesitation to commit the changes
Manual testing again and again
Long-lasting defects
99% done tasks
Rework at the end
Missing continuous integration
Manual release steps
Working alone
Only author knows the code
Unsynchronized branches
Hesitation to commit the changes
Manual testing again and againDesign by Tests (TDD)
Calculate defect resolution times
think differently
success
Define definition of done and obey
Refactor continuously
Keep feature branches short
Automatic release steps
Program in peers and as the whole team
Never release unreviewed code to prod
Checkin codebase frequently
Commit early, commit often, perfect later
define standards
everyone should have same understanding and base
Analysis
Testing
Architecture
Release & Deployment
Bug Fixing
Database Structure
Error Handling
Logging
Quality Metrics
Web Services / API
Coding / Naming
Code Review
Commit Messages
Messaging
version everything
continuous delivery starts with efficient use of SCMs
Source code
Deployment scripts
Application configuration
Auto generated codes
Automated tests
Static content (like images)
Rewrite rules
Server configurations
Database schema changes
Dependency configurations
automize everything
remove waste, push to extremes, slow down to go fast
Running unit tests
Building / packaging
Code analysis
Deployments
Functional testing
Releases
Cache cleanup
Performance monitoring
Regression testing
Rollbacks
Scaling
Integration of all commits
Notifying warning or errors
Reporting
radical transparency
openness, honesty, collaboration and improvement requires
Release dates
Critical defects in production
Status of the project
SLAs (Service Level Agreements)
Bugs in new features
Agreed standards
Definition of Done
Names of on-call support people
Quality metrics of the software
Velocity of the team
Lead and cycle times
Business value delivered
Moods of team members
Vacation dates of people
documentation IS WASTE
foreword
Documentation is not a way of communication
It’s sad, but have to admit
No one reads our documentation
Even we do not read what we write
Information becomes obsolete too fast
Reading analysis is too booooring!
really ???
Developers write documents A LOT
Commit messages
Branch names
Commit graph
Log messages
Production code
Test code
Release notes
Code review comments
Developers write documents
Configurations
Message flows
User guides
Module designs
Standards and guidelines
Support knowledge base
Flow diagrams
API documentation
never
ending
story
Estimations
Management practices
Performance appraisals
Status Tracking
Time Tracking
Control of working hours
Working at office
Overtimes
Meetings
Dress codes
Clean desk policy
Tools and OS
Turnovers
Motivation
Micro management
Office space
challenge your paradigms
Visualize the flows and observe
Detect waste and the root causes
Take action to improve
Inspect and Adapt
LEMi ORHAN ERGiN
agile software craftsman @ iyzico
/lemiorhan
lemiorhanergin.com
@lemiorhan

More Related Content

What's hot

Software Craftsmanship VS Software Engineering
Software Craftsmanship VS Software EngineeringSoftware Craftsmanship VS Software Engineering
Software Craftsmanship VS Software Engineering
Andy Maleh
 

What's hot (20)

How to Become a Conference Speaker
How to Become a Conference SpeakerHow to Become a Conference Speaker
How to Become a Conference Speaker
 
Software Craftsmanship - It's an Imperative
Software Craftsmanship - It's an ImperativeSoftware Craftsmanship - It's an Imperative
Software Craftsmanship - It's an Imperative
 
GMO'less Software Development Practices
GMO'less Software Development PracticesGMO'less Software Development Practices
GMO'less Software Development Practices
 
Software Craftsmanship VS Software Engineering
Software Craftsmanship VS Software EngineeringSoftware Craftsmanship VS Software Engineering
Software Craftsmanship VS Software Engineering
 
Professional Software Development, Practices and Ethics
Professional Software Development, Practices and EthicsProfessional Software Development, Practices and Ethics
Professional Software Development, Practices and Ethics
 
Let the Elephants Leave the Room: Tips for Making Development Life Leaner by ...
Let the Elephants Leave the Room: Tips for Making Development Life Leaner by ...Let the Elephants Leave the Room: Tips for Making Development Life Leaner by ...
Let the Elephants Leave the Room: Tips for Making Development Life Leaner by ...
 
Software Craftsmanship vs Software Engineering (Lightning Talk)
Software Craftsmanship vs Software Engineering (Lightning Talk)Software Craftsmanship vs Software Engineering (Lightning Talk)
Software Craftsmanship vs Software Engineering (Lightning Talk)
 
Test Driven Design - GDG DevFest Istanbul 2016
Test Driven Design - GDG DevFest Istanbul 2016Test Driven Design - GDG DevFest Istanbul 2016
Test Driven Design - GDG DevFest Istanbul 2016
 
API World 2016 - A five-sided prism polarizing Web API development
API World 2016 - A five-sided prism polarizing Web API developmentAPI World 2016 - A five-sided prism polarizing Web API development
API World 2016 - A five-sided prism polarizing Web API development
 
My Career Journey: An Unconventional Path into DevOps
My Career Journey: An Unconventional Path into DevOpsMy Career Journey: An Unconventional Path into DevOps
My Career Journey: An Unconventional Path into DevOps
 
Voxxed days 2015-hakansaglam-codereview
Voxxed days 2015-hakansaglam-codereviewVoxxed days 2015-hakansaglam-codereview
Voxxed days 2015-hakansaglam-codereview
 
Continuous delivery of embedded systems embedded meetup
Continuous delivery of embedded systems   embedded meetupContinuous delivery of embedded systems   embedded meetup
Continuous delivery of embedded systems embedded meetup
 
Guided Path to DevOps Career.
Guided Path to DevOps Career.Guided Path to DevOps Career.
Guided Path to DevOps Career.
 
SCA in an Agile World | June 2010
SCA in an Agile World | June 2010SCA in an Agile World | June 2010
SCA in an Agile World | June 2010
 
DOES SFO 2016 - Sam Guckenheimer & Ed Blankenship "Moving to One Engineering ...
DOES SFO 2016 - Sam Guckenheimer & Ed Blankenship "Moving to One Engineering ...DOES SFO 2016 - Sam Guckenheimer & Ed Blankenship "Moving to One Engineering ...
DOES SFO 2016 - Sam Guckenheimer & Ed Blankenship "Moving to One Engineering ...
 
Pair programming demystified
Pair programming demystifiedPair programming demystified
Pair programming demystified
 
The Carrier DevOps Trend (Presented to Okinawa Open Days Conference)
The Carrier DevOps Trend (Presented to Okinawa Open Days Conference)The Carrier DevOps Trend (Presented to Okinawa Open Days Conference)
The Carrier DevOps Trend (Presented to Okinawa Open Days Conference)
 
Migrate to microservices
Migrate to microservicesMigrate to microservices
Migrate to microservices
 
The Software Craftsman (2nd edition)
The Software Craftsman (2nd edition)The Software Craftsman (2nd edition)
The Software Craftsman (2nd edition)
 
The Software Craftsman
The Software CraftsmanThe Software Craftsman
The Software Craftsman
 

Similar to Waste Driven Development - Agile Coaching Serbia Meetup

Similar to Waste Driven Development - Agile Coaching Serbia Meetup (20)

Fighting with Waste Driven Development - XP Days Ukraine 2017
Fighting with Waste Driven Development - XP Days Ukraine 2017Fighting with Waste Driven Development - XP Days Ukraine 2017
Fighting with Waste Driven Development - XP Days Ukraine 2017
 
Lemi Orhan Ergin - Code Your Agility: Tips for Boosting Technical Agility in ...
Lemi Orhan Ergin - Code Your Agility: Tips for Boosting Technical Agility in ...Lemi Orhan Ergin - Code Your Agility: Tips for Boosting Technical Agility in ...
Lemi Orhan Ergin - Code Your Agility: Tips for Boosting Technical Agility in ...
 
Let the Elephants Leave the Room: Tips for Making Development Life Leaner by ...
Let the Elephants Leave the Room: Tips for Making Development Life Leaner by ...Let the Elephants Leave the Room: Tips for Making Development Life Leaner by ...
Let the Elephants Leave the Room: Tips for Making Development Life Leaner by ...
 
Creating a successful continuous testing environment by Eran Kinsbruner
Creating a successful continuous testing environment by Eran KinsbrunerCreating a successful continuous testing environment by Eran Kinsbruner
Creating a successful continuous testing environment by Eran Kinsbruner
 
Agile & DevOps - It's all about project success
Agile & DevOps - It's all about project successAgile & DevOps - It's all about project success
Agile & DevOps - It's all about project success
 
Agile Austin - Peer Code Review An Agile Process
Agile Austin -  Peer Code Review An Agile ProcessAgile Austin -  Peer Code Review An Agile Process
Agile Austin - Peer Code Review An Agile Process
 
Peer Code Review An Agile Process
Peer Code Review An Agile ProcessPeer Code Review An Agile Process
Peer Code Review An Agile Process
 
[Europe merge world tour] Coverity Development Testing
[Europe   merge world tour] Coverity Development Testing[Europe   merge world tour] Coverity Development Testing
[Europe merge world tour] Coverity Development Testing
 
Best practices for API Integration - Bearer.sh
Best practices for API Integration - Bearer.shBest practices for API Integration - Bearer.sh
Best practices for API Integration - Bearer.sh
 
Introducing Continuous Integration Using Vsts
Introducing Continuous Integration Using VstsIntroducing Continuous Integration Using Vsts
Introducing Continuous Integration Using Vsts
 
[India Merge World Tour] Coverity
[India Merge World Tour] Coverity[India Merge World Tour] Coverity
[India Merge World Tour] Coverity
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
 
Continuous, continuous, continuous
Continuous, continuous, continuousContinuous, continuous, continuous
Continuous, continuous, continuous
 
Test Driven Design
Test Driven DesignTest Driven Design
Test Driven Design
 
Continuous Delivery for Agile Teams
Continuous Delivery for Agile TeamsContinuous Delivery for Agile Teams
Continuous Delivery for Agile Teams
 
Future of QA
Future of QAFuture of QA
Future of QA
 
Futureofqa
FutureofqaFutureofqa
Futureofqa
 
Part5 - enforcing coding standard and best practices with jas forge v1.0
Part5 -  enforcing coding standard and best practices with jas forge v1.0Part5 -  enforcing coding standard and best practices with jas forge v1.0
Part5 - enforcing coding standard and best practices with jas forge v1.0
 
Continuous delivery its not about the technology, its about the people. @pipe...
Continuous delivery its not about the technology, its about the people. @pipe...Continuous delivery its not about the technology, its about the people. @pipe...
Continuous delivery its not about the technology, its about the people. @pipe...
 
ESLint Plugin for UI Tests
ESLint Plugin for UI TestsESLint Plugin for UI Tests
ESLint Plugin for UI Tests
 

More from Lemi Orhan Ergin

Yazılım Geliştirme Kültürünün Kodları: Motivasyon, Teknik Mükemmellik ve İnov...
Yazılım Geliştirme Kültürünün Kodları: Motivasyon, Teknik Mükemmellik ve İnov...Yazılım Geliştirme Kültürünün Kodları: Motivasyon, Teknik Mükemmellik ve İnov...
Yazılım Geliştirme Kültürünün Kodları: Motivasyon, Teknik Mükemmellik ve İnov...
Lemi Orhan Ergin
 
Teoriden Pratiğe Mikroservisler - Özgür Web Teknolojileri Günü 2014
Teoriden Pratiğe Mikroservisler - Özgür Web Teknolojileri Günü 2014Teoriden Pratiğe Mikroservisler - Özgür Web Teknolojileri Günü 2014
Teoriden Pratiğe Mikroservisler - Özgür Web Teknolojileri Günü 2014
Lemi Orhan Ergin
 

More from Lemi Orhan Ergin (20)

Yeni Nesil Yazılım Kültürü: Daha İyi Profesyoneller, Daha Kaliteli Yazılım, D...
Yeni Nesil Yazılım Kültürü: Daha İyi Profesyoneller, Daha Kaliteli Yazılım, D...Yeni Nesil Yazılım Kültürü: Daha İyi Profesyoneller, Daha Kaliteli Yazılım, D...
Yeni Nesil Yazılım Kültürü: Daha İyi Profesyoneller, Daha Kaliteli Yazılım, D...
 
Git Anti Patterns - XP Days Ukraine 2017
Git Anti Patterns - XP Days Ukraine 2017Git Anti Patterns - XP Days Ukraine 2017
Git Anti Patterns - XP Days Ukraine 2017
 
Git Anti-Patterns - Extended Version With 28 Common Anti-Patterns) - SCTurkey...
Git Anti-Patterns - Extended Version With 28 Common Anti-Patterns) - SCTurkey...Git Anti-Patterns - Extended Version With 28 Common Anti-Patterns) - SCTurkey...
Git Anti-Patterns - Extended Version With 28 Common Anti-Patterns) - SCTurkey...
 
Git Anti-Patterns: How To Mess Up With Git and Love it Again - DevoxxPL 2017
Git Anti-Patterns: How To Mess Up With Git and Love it Again - DevoxxPL 2017Git Anti-Patterns: How To Mess Up With Git and Love it Again - DevoxxPL 2017
Git Anti-Patterns: How To Mess Up With Git and Love it Again - DevoxxPL 2017
 
Yazılım Geliştirme Kültürünün Kodları: Motivasyon, Teknik Mükemmellik ve İnov...
Yazılım Geliştirme Kültürünün Kodları: Motivasyon, Teknik Mükemmellik ve İnov...Yazılım Geliştirme Kültürünün Kodları: Motivasyon, Teknik Mükemmellik ve İnov...
Yazılım Geliştirme Kültürünün Kodları: Motivasyon, Teknik Mükemmellik ve İnov...
 
Git Anti-Patterns: How To Mess Up With Git and Love it Again
Git Anti-Patterns: How To Mess Up With Git and Love it AgainGit Anti-Patterns: How To Mess Up With Git and Love it Again
Git Anti-Patterns: How To Mess Up With Git and Love it Again
 
Let The Elephants Leave The Room - Remove Waste in Software Development - Bos...
Let The Elephants Leave The Room - Remove Waste in Software Development - Bos...Let The Elephants Leave The Room - Remove Waste in Software Development - Bos...
Let The Elephants Leave The Room - Remove Waste in Software Development - Bos...
 
Happy Developer's Guide to the Galaxy: Thinking About Motivation of Developers
Happy Developer's Guide to the Galaxy: Thinking About Motivation of DevelopersHappy Developer's Guide to the Galaxy: Thinking About Motivation of Developers
Happy Developer's Guide to the Galaxy: Thinking About Motivation of Developers
 
Git - Bildiğiniz Gibi Değil
Git - Bildiğiniz Gibi DeğilGit - Bildiğiniz Gibi Değil
Git - Bildiğiniz Gibi Değil
 
Code Your Agility - Tips for Boosting Technical Agility in Your Organization
Code Your Agility - Tips for Boosting Technical Agility in Your OrganizationCode Your Agility - Tips for Boosting Technical Agility in Your Organization
Code Your Agility - Tips for Boosting Technical Agility in Your Organization
 
Lost in Motivation in an Agile World
Lost in Motivation in an Agile WorldLost in Motivation in an Agile World
Lost in Motivation in an Agile World
 
TDD - Inevitable Challenge for Software Developers (phpkonf15 keynote)
TDD - Inevitable Challenge for Software Developers (phpkonf15 keynote)TDD - Inevitable Challenge for Software Developers (phpkonf15 keynote)
TDD - Inevitable Challenge for Software Developers (phpkonf15 keynote)
 
Unleashed Power Behind The Myths: Pair Programming (CraftSummit15)
Unleashed Power Behind The Myths: Pair Programming (CraftSummit15)Unleashed Power Behind The Myths: Pair Programming (CraftSummit15)
Unleashed Power Behind The Myths: Pair Programming (CraftSummit15)
 
Trespassing The Forgotten and Abandoned: Ethics in Software Development
Trespassing The Forgotten and Abandoned:  Ethics in Software DevelopmentTrespassing The Forgotten and Abandoned:  Ethics in Software Development
Trespassing The Forgotten and Abandoned: Ethics in Software Development
 
Software Craftsmanship - Building A Culture For The Future (GDG DevFest Istan...
Software Craftsmanship - Building A Culture For The Future (GDG DevFest Istan...Software Craftsmanship - Building A Culture For The Future (GDG DevFest Istan...
Software Craftsmanship - Building A Culture For The Future (GDG DevFest Istan...
 
Teoriden Pratiğe Mikroservisler - Özgür Web Teknolojileri Günü 2014
Teoriden Pratiğe Mikroservisler - Özgür Web Teknolojileri Günü 2014Teoriden Pratiğe Mikroservisler - Özgür Web Teknolojileri Günü 2014
Teoriden Pratiğe Mikroservisler - Özgür Web Teknolojileri Günü 2014
 
Let The Elephants Leave The Room - Tips For Making Your Development Life Leaner
Let The Elephants Leave The Room - Tips For Making Your Development Life LeanerLet The Elephants Leave The Room - Tips For Making Your Development Life Leaner
Let The Elephants Leave The Room - Tips For Making Your Development Life Leaner
 
A Gentle Introduction to Micro Services - From Theory into Practice
A Gentle Introduction to Micro Services - From Theory into PracticeA Gentle Introduction to Micro Services - From Theory into Practice
A Gentle Introduction to Micro Services - From Theory into Practice
 
Coderetreat - Practice to Master Your Crafts
Coderetreat - Practice to Master Your CraftsCoderetreat - Practice to Master Your Crafts
Coderetreat - Practice to Master Your Crafts
 
Fix Your Broken Windows With Code Reviews - phpist14
Fix Your Broken Windows With Code Reviews - phpist14Fix Your Broken Windows With Code Reviews - phpist14
Fix Your Broken Windows With Code Reviews - phpist14
 

Recently uploaded

%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
masabamasaba
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
masabamasaba
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
masabamasaba
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
masabamasaba
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
chiefasafspells
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
masabamasaba
 

Recently uploaded (20)

WSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaSWSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaS
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
 
WSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security Program
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
 
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
 

Waste Driven Development - Agile Coaching Serbia Meetup

  • 1. Waste Driven Development Lean Thinking for Software Developers LEMi ORHAN ERGiN agile software craftsman @ iyzico Fighting with
  • 2. LEMi ORHAN ERGiN agile software craftsman @ iyzico /lemiorhan lemiorhanergin.com @lemiorhan agile practice lead at iyzico Sony, eBay/GittiGidiyor & ACM founder of Software Craftsmanship Turkey ex product owner of Agile Turkey Summit organized 200+ meetups and 3 conferences
  • 3. we are naive optimistic by default assumes all goes well of course we’ll succeed
  • 4. and over-confident super heroes smartest guy on planet write perfect code design the best do it right for the first time understand customer needs manage people & projects build elegant solutions
  • 5. http://imgur.com/a/Smr5d Are you scared of touching your source code? Welcome to the club! Legacy code consumes your life energy, sucks your blood, forces you hack your code to survive. Therefore we call it zombie software, not legacy anymore
  • 6. http://youhadonejob.org Less than 0.01 percent That’s how many consumer mobile apps will be considered a financial success by their creators at the end of 2018, according to new research from Gartner Inc. http://www.forbes.com/sites/connieguglielmo/2014/01/13/ mobile-apps-may-not-pave-the-way-to-developer-riches-sales- average-less-than-1250-a-day Mobile Apps Won't Lead To Riches For Most Developers by Connie Guglielmo
  • 7. http://boeingboeing2.deviantart.com/art/Well-time-to-fly-another-airline-516735690 Licensed under Creative Commons BY-NC 3.0 We have time to fix bugs, but no time for writing better We don’t refactor and write tests because we don’t have enough time. But we have time for debugging, hacking code and fixing bugs.
  • 8. http://forgifs.com/gallery/v/Funny/Unloading-cement-pipe-onto-tires.gif.html Processes do not build products, but people do Processes help people improve the way they build products, increase motivation and cultivate an healthy environment. In the end, the efficiency of processes are important, but people are crucial.
  • 9. build the wrong thing build the thing wrong poor quality bugs and defects slow and unproductive endless dependencies redundant tasks drowned in waste error error error error error error error error error error error error error error error error error error error error error error error error error error error error error error error error error error error error error error error error
  • 10. the languages we code the technologies we use the refactorings we need the dependencies we have the processes we follow the feelings we have Customers don’t care
  • 11. their problems to be understood and solvedCustomers really care
  • 12. think like a Customer our job should be maximizing the values we can deliver
  • 13. LEAN is a MINDSET
  • 14. Maximizing value for the end customer by removing waste LEAN is a MINDSET
  • 15. value Any action or process that a customer would be willing to pay for
  • 16. doesn’t add value to the product makes you slow down decrease productivity makes us open to do mistakes increase comlexity WASTE
  • 17. Let’s find waste and eliminate in software development
  • 18. THE code ITSELF IS WASTE
  • 19. more code more defects Industry average is about 15 - 50 errors per 1000 lines 
 of delivered code. Steve McConnell from of the book “Code Complete”
  • 20. valueless developments The very first value of software is to tolerate and facilitate on-going changes Robert C. Martin
  • 21. Working topics on the left does not mean we are good at using the topics on the right
  • 22. debugging bug fixing manual deployments manual testing unmerged branches big upfront design comments LOGGING framework addiction highly coupled design bıg RELEASES no security concerns HAVING SILOSpackage organization
  • 23. FOCUS ON DESIGN & QUALITY Design Patterns Refactoring Techniques OOP/FP/RP Principles Clean Code Principles Automated testing Acceptance testing Test Driven Design (TDD) Code review techniques Pair programming culture
  • 24. KEEP YOUR REPO TINY Slit your code into multiple modules / plugins Keep your commit graph clean Never allow long-living branches Do not hesitate to delete code Refactor code via SOLID principles Keep independent parts in separate repos Maintain modules in a single mono repo
  • 25. “We zombify people by using wrong practices” Niels Pflaeging Management Exorcist from his talk at Agile Turkey Summit 2014
  • 26. Develop and refactor Evolutionary design Fully automated testing Make codebase clean Frequent short releases Reproduce in test and fix Get feedback and release Develop and refactor Evolutionary design Fully automated testing Make codebase clean Frequent short releases Reproduce in test and fix Get feedback and release Develop and bug fix Big upfront design Manual testing Add comments to codebase Big releases Fix and test Release and get feedback
  • 27. waste driven development Long-lasting defects 99% done tasks Rework at the end Missing continuous integration Manual release steps Working alone Only author knows the code Unsynchronized branches Hesitation to commit the changes Manual testing again and again
  • 28. Long-lasting defects 99% done tasks Rework at the end Missing continuous integration Manual release steps Working alone Only author knows the code Unsynchronized branches Hesitation to commit the changes Manual testing again and againDesign by Tests (TDD) Calculate defect resolution times think differently success Define definition of done and obey Refactor continuously Keep feature branches short Automatic release steps Program in peers and as the whole team Never release unreviewed code to prod Checkin codebase frequently Commit early, commit often, perfect later
  • 29. define standards everyone should have same understanding and base Analysis Testing Architecture Release & Deployment Bug Fixing Database Structure Error Handling Logging Quality Metrics Web Services / API Coding / Naming Code Review Commit Messages Messaging
  • 30. version everything continuous delivery starts with efficient use of SCMs Source code Deployment scripts Application configuration Auto generated codes Automated tests Static content (like images) Rewrite rules Server configurations Database schema changes Dependency configurations
  • 31. automize everything remove waste, push to extremes, slow down to go fast Running unit tests Building / packaging Code analysis Deployments Functional testing Releases Cache cleanup Performance monitoring Regression testing Rollbacks Scaling Integration of all commits Notifying warning or errors Reporting
  • 32. radical transparency openness, honesty, collaboration and improvement requires Release dates Critical defects in production Status of the project SLAs (Service Level Agreements) Bugs in new features Agreed standards Definition of Done Names of on-call support people Quality metrics of the software Velocity of the team Lead and cycle times Business value delivered Moods of team members Vacation dates of people
  • 34. foreword Documentation is not a way of communication
  • 35. It’s sad, but have to admit No one reads our documentation Even we do not read what we write Information becomes obsolete too fast Reading analysis is too booooring!
  • 36. really ??? Developers write documents A LOT
  • 37. Commit messages Branch names Commit graph Log messages Production code Test code Release notes Code review comments Developers write documents Configurations Message flows User guides Module designs Standards and guidelines Support knowledge base Flow diagrams API documentation
  • 38. never ending story Estimations Management practices Performance appraisals Status Tracking Time Tracking Control of working hours Working at office Overtimes Meetings Dress codes Clean desk policy Tools and OS Turnovers Motivation Micro management Office space
  • 39. challenge your paradigms Visualize the flows and observe Detect waste and the root causes Take action to improve Inspect and Adapt
  • 40. LEMi ORHAN ERGiN agile software craftsman @ iyzico /lemiorhan lemiorhanergin.com @lemiorhan