+ All Categories
Home > Software > Fighting with Waste Driven Development - XP Days Ukraine 2017

Fighting with Waste Driven Development - XP Days Ukraine 2017

Date post: 22-Jan-2018
Category:
Upload: lemi-orhan-ergin
View: 354 times
Download: 0 times
Share this document with a friend
50
Lean Thinking for Software Developers LEMi ORHAN ERGiN agile software craftsman @ iyzico WASTE DRIVEN DEVELOPMENT FIGHTING WITH manager developer the product guy developer @lemiorhan
Transcript
Page 1: Fighting with Waste Driven Development - XP Days Ukraine 2017

Lean Thinking forSoftware Developers

LEMi ORHAN ERGiNagile software craftsman @ iyzico

WASTE DRIVENDEVELOPMENT

FIGHTING WITH

manager

developer

the product guy

developer

@lemiorhan

Page 2: Fighting with Waste Driven Development - XP Days Ukraine 2017

/lemiorhan lemiorhanergin.com @lemiorhan

LEMi ORHAN ERGiNagile software craftsman @ iyzico

ex-Sony, ex-eBay

founder of Turkish Software Craftsmanship Community

DEVELOPMENT

Page 3: Fighting with Waste Driven Development - XP Days Ukraine 2017

we are naive

optimistic by default assumes all goes well

of course we’ll succeed

LEMi ORHAN ERGiN

Page 4: Fighting with Waste Driven Development - XP Days Ukraine 2017

and over-confidentsuper 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

Page 5: Fighting with Waste Driven Development - XP Days Ukraine 2017

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

legacy code

Page 6: Fighting with Waste Driven Development - XP Days Ukraine 2017

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 Developersby Connie Guglielmo

Page 7: Fighting with Waste Driven Development - XP Days Ukraine 2017

http://boeingboeing2.deviantart.com/art/Well-time-to-fly-another-airline-516735690Licensed 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.

Page 8: Fighting with Waste Driven Development - XP Days Ukraine 2017

http://forgifs.com/gallery/v/Funny/Unloading-cement-pipe-onto-tires.gif.html

Processes do not build products,

but people doProcesses 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.

Page 9: Fighting with Waste Driven Development - XP Days Ukraine 2017

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

Page 10: Fighting with Waste Driven Development - XP Days Ukraine 2017

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

Page 11: Fighting with Waste Driven Development - XP Days Ukraine 2017

their problems to be understood and solvedCustomers really care

Page 12: Fighting with Waste Driven Development - XP Days Ukraine 2017

think like a Customer

our job should be maximizing the values

we can deliver

Page 13: Fighting with Waste Driven Development - XP Days Ukraine 2017

LEAN is a MINDSET

Page 14: Fighting with Waste Driven Development - XP Days Ukraine 2017

Maximizing value for the end customer

by removing waste

LEAN is a MINDSET

Page 15: Fighting with Waste Driven Development - XP Days Ukraine 2017

value Any action or process that a customer would be willing to pay for

Page 16: Fighting with Waste Driven Development - XP Days Ukraine 2017

doesn’t add value to the product makes you slow down decrease productivity makes us open to do mistakes increase complexity

WASTE

Page 17: Fighting with Waste Driven Development - XP Days Ukraine 2017

Let’s find waste and eliminate

in software development

Page 18: Fighting with Waste Driven Development - XP Days Ukraine 2017

searching for the missing single quote?

Page 19: Fighting with Waste Driven Development - XP Days Ukraine 2017

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”

Page 20: Fighting with Waste Driven Development - XP Days Ukraine 2017

valueless developments

The very first value of software is

to tolerate and facilitate on-going changes

Robert C. Martin

Page 21: Fighting with Waste Driven Development - XP Days Ukraine 2017

we are surrounded with waste

Page 22: Fighting with Waste Driven Development - XP Days Ukraine 2017

debuggingbug fixing

manual deployments

manual testingunmerged branches

big upfront designcomments

LOGGINGframework addiction

highly coupled designbıg RELEASESCOMMIT MESSAGES & GRAPH HAVING SILOSpackage organization

Page 23: Fighting with Waste Driven Development - XP Days Ukraine 2017

debuggingbug fixing

manual deployments

manual testingunmerged branches

big upfront designcomments

LOGGINGframework addiction

highly coupled designbıg RELEASESHAVING SILOSpackage organization

COMMIT MESSAGES & GRAPH

Page 24: Fighting with Waste Driven Development - XP Days Ukraine 2017

debuggingbug fixing

manual deployments

manual testingunmerged branches

big upfront designcomments

LOGGINGframework addiction

highly coupled designbıg RELEASESHAVING SILOSpackage organization

COMMIT MESSAGES & GRAPH

Page 25: Fighting with Waste Driven Development - XP Days Ukraine 2017

debuggingbug fixing

manual deployments

manual testingunmerged branches

big upfront designcomments

LOGGINGframework addiction

highly coupled designbıg RELEASESHAVING SILOSpackage organization

COMMIT MESSAGES & GRAPH

Page 26: Fighting with Waste Driven Development - XP Days Ukraine 2017

debuggingbug fixing

manual deployments

manual testingunmerged branches

big upfront designcomments

LOGGINGframework addiction

highly coupled designbıg RELEASESHAVING SILOSpackage organization

COMMIT MESSAGES & GRAPH

Page 27: Fighting with Waste Driven Development - XP Days Ukraine 2017

debuggingbug fixing

manual deployments

manual testingunmerged branches

big upfront designcomments

LOGGINGframework addiction

highly coupled designbıg RELEASESHAVING SILOSpackage organization

COMMIT MESSAGES & GRAPH

Page 28: Fighting with Waste Driven Development - XP Days Ukraine 2017

debuggingbug fixing

manual deployments

manual testingunmerged branches

big upfront designcomments

LOGGINGframework addiction

highly coupled designbıg RELEASESHAVING SILOSpackage organization

COMMIT MESSAGES & GRAPH

Page 29: Fighting with Waste Driven Development - XP Days Ukraine 2017

debuggingbug fixing

manual deployments

manual testingunmerged branches

big upfront designcomments

LOGGINGframework addiction

highly coupled designbıg RELEASESHAVING SILOSpackage organization

COMMIT MESSAGES & GRAPH

Page 30: Fighting with Waste Driven Development - XP Days Ukraine 2017

debuggingbug fixing

manual deployments

manual testingunmerged branches

big upfront designcomments

LOGGINGframework addiction

highly coupled designbıg RELEASESHAVING SILOSpackage organization

COMMIT MESSAGES & GRAPH

Page 31: Fighting with Waste Driven Development - XP Days Ukraine 2017

debuggingbug fixing

manual deployments

manual testingunmerged branches

big upfront designcomments

LOGGINGframework addiction

highly coupled designbıg RELEASESHAVING SILOSpackage organization

COMMIT MESSAGES & GRAPH

Page 32: Fighting with Waste Driven Development - XP Days Ukraine 2017

debuggingbug fixing

manual deployments

manual testingunmerged branches

big upfront designcomments

LOGGINGframework addiction

highly coupled designbıg RELEASESHAVING SILOSpackage organization

COMMIT MESSAGES & GRAPH

Page 33: Fighting with Waste Driven Development - XP Days Ukraine 2017

debuggingbug fixing

manual deployments

manual testingunmerged branches

big upfront designcomments

LOGGINGframework addiction

highly coupled designbıg RELEASESHAVING SILOSpackage organization

COMMIT MESSAGES & GRAPH

Page 34: Fighting with Waste Driven Development - XP Days Ukraine 2017

debuggingbug fixing

manual deployments

manual testingunmerged branches

big upfront designcomments

LOGGINGframework addiction

highly coupled designbıg RELEASESHAVING SILOSpackage organization

COMMIT MESSAGES & GRAPH

Page 35: Fighting with Waste Driven Development - XP Days Ukraine 2017

debuggingbug fixing

manual deployments

manual testingunmerged branches

big upfront designcomments

LOGGINGframework addiction

highly coupled designbıg RELEASESHAVING SILOSpackage organization

COMMIT MESSAGES & GRAPH

Page 36: Fighting with Waste Driven Development - XP Days Ukraine 2017

debuggingbug fixing

manual deployments

manual testingunmerged branches

big upfront designcomments

LOGGINGframework addiction

highly coupled designbıg RELEASESHAVING SILOSpackage organization

COMMIT MESSAGES & GRAPH

Page 37: Fighting with Waste Driven Development - XP Days Ukraine 2017

“We zombify people by using wrong practices”Niels PflaegingManagement Exorcist

from his talk at Agile Turkey Summit 2014

Page 38: Fighting with Waste Driven Development - XP Days Ukraine 2017

follow the BOY SCOUT RULE

CURE Pay technical debtneed a CULTURAL SHIFT

Page 39: Fighting with Waste Driven Development - XP Days Ukraine 2017

follow the BOY SCOUT RULE

Pay technical debt

need a CULTURAL SHIFT

Define technical debts regularly and put to backlog Fix bugs and do refactorings at every sprint 100 percent feature development kills your project Batman & Robin might save your life

Page 40: Fighting with Waste Driven Development - XP Days Ukraine 2017

follow the BOY SCOUT RULE

Pay technical debtneed a CULTURAL SHIFTTeach your values and principles to the team Slow down to go fast It's your profession, do it well!

Page 41: Fighting with Waste Driven Development - XP Days Ukraine 2017

follow the BOY SCOUT RULE

Pay technical debtneed a CULTURAL SHIFT

it defines a culture and a discipline it is based on code review, refactoring and kaizen it improves collective ownership and triggers collaboration it is an antidote for dissolving silos. it is a strategy for continuously eliminating waste

Page 42: Fighting with Waste Driven Development - XP Days Ukraine 2017

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

Page 43: Fighting with Waste Driven Development - XP Days Ukraine 2017

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 Feeling like a newbie while using a SCM Manual testing again and again

Page 44: Fighting with Waste Driven Development - XP Days Ukraine 2017

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 Feeling like a newbie while using a SCM Manual testing again and againAutomated tests in all levels

Calculate defect resolution timessucce

ss Define definition of done and obeyRefactor continuouslyKeep feature branches shortAutomatic release stepsProgram in peers and as the whole teamNever release unreviewed code to prodCheckin codebase frequentlyLearn Git (or any other you use) perfectly

think differently

Page 45: Fighting with Waste Driven Development - XP Days Ukraine 2017

LET PEOPLE THINK differently

Brainstorming Sessions about standards, architecture and technical debt Grand Retrospectives

Page 46: Fighting with Waste Driven Development - XP Days Ukraine 2017

LET PEOPLE do differently

TDD Radori Sessions Coding Dojos Code Retreats

Page 47: Fighting with Waste Driven Development - XP Days Ukraine 2017

AND DESIGNthink differently

Page 48: Fighting with Waste Driven Development - XP Days Ukraine 2017

AND DESIGNthink differently

Page 49: Fighting with Waste Driven Development - XP Days Ukraine 2017

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

Page 50: Fighting with Waste Driven Development - XP Days Ukraine 2017

LEMi ORHAN ERGiNagile software craftsman @ iyzico

Feedback: bit.ly/lemiorhan

thank you all!


Recommended