Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.

Software Craftsmanship - Building A Culture For The Future (GDG DevFest Istanbul 2014)

23 819 vues

Publié le

These are the slides I presented during "Google Developers Group (GDG) DevFest Istanbul 2014" developer conference.

  • Identifiez-vous pour voir les commentaires

Software Craftsmanship - Building A Culture For The Future (GDG DevFest Istanbul 2014)

  1. SOFTWARE CRAFTSMANSHIP Building A Culture For The Future <’ 34% ' /7 ¢ 1 “ ‘I-‘I GDG DevFest 2014 ' Lemi Orhan Er ' Developer Event in Istanbul ' A Agile Software Crafts
  2. Lemi Orhan Ergin Agile Software Craftsman Founder of Software Craftsmanship Turkey Scrum, Kanban ve XP Practitioner Developer, Architect, Trainer, Coach, Leader Sony 8. eBay Alumni [E @| emiorhan Q | emiorhanergin. com y @Iemiorhan
  3. There are BIG CHALLENGES in every profession
  4. Some of them need years of hardwork , . to succeed ‘ft. Rosetta was launched on 2 March 2004 4%‘ on an Ariane 5 rocket and reached the comet 67P on 6 August 2014, becoming the first spacecraft to orbit a comet.
  5. Some of them seems easy butneeds mastering In most countries locksmiths must follow strict set of rules and regulations. In many places it starts as apprentices and needs a degree from university.
  6. Software Development has great challenges too
  7. What are the BIGGEST CHALLENGES in software development profession?
  8. P FESSI N LIE M sets of discipline and minimum standards of behaviors turning development into a real profession
  9. P FESSI N LIE M instead of wasting time for writing excellent code, professionalism IS writing excellent code without wasting time
  10. CRAFTSMANSHIP knowing how well you perform you do your craft
  11. PROFESSIONALISM CRAFTSMANSHIP is the suitcase is the journey
  12. Is it about knowing technologies?
  13. amygmq mu| e zend socketio json flak PM mongodb mysql git cu. l““'t Play ajax bash C android ¢# P| [sq| newrelic gran; allathe 5'33" ratpack alfresco webservices ¢“‘“mb9|' express“ 9° '55 seo P! l"‘°“ memcache i‘l“¢"! I mane hadoop jmx emu“: couchhase . xml "t""5 primefaces‘ Emmate 5“ 'a"a"°' rabbitmq jrubg java L N. behat red“ 3"9“'3"i5 akka javascript ‘°" jms django wordpress ost res - P clogsure spring ruby
  14. It is about how well you use them
  15. SOFTWARE CRAFTSMANSHIP It is a movement about getting better at software development particularly through gaining professional skills Russian rhythmic gymnast Irina Tchachina stretching in her warm-up before practice http: //en. wikipedia. org/ wiki/ Gymnastics
  16. SOFTWARE CRAFTSMANSHIP It is about building a culture for pasionate, disciplined and motivated people who aims to write well-crafted software and continuously deliver value
  17. I 3. i, »_I I’. fr“ _ l / .r' -"1 I r '1 {J i ‘ V57 . Is it true or false? Business do not care quality Business cares how fast you deliver to market
  18. Quality is a must Business cares getting value Everyone wants high quality software, no excep ions Build half a product, not a half-arsed product
  19. Vii ’ ii t. ’ It is about creating an environment where software development is more predictable, gives better results, costs less and builds trust
  20. ,, — ‘ I‘ r . . It ‘. - slt. , ! W‘ ' P’ SOFTWARE CRAFTSMANSHIP It is about writing beautiful code at least as fast as quick & dirty code
  21. TR. ’-‘. D'i'IOi~'. ’-LE. !l‘. G;| l.E SOFTM. ’-‘. « E DElIEl_OPli. iiEEi~'T DElEl_OPi! iEl~"i' CR. ’-‘. FTSll! i.’-‘. i~'Sl-ll? Processes and Individuals and A Community of Tools Interactions Professionals Comprehesive Working Well-Crafted Documentation Software Software Contract Customer Productive Negotiation Collaboration Partnership Following a Responding to Steadily Adding Plan Change Value
  23. Abandon your preconceptions ( a‘ Scott W. Ambler Follow Why is it that people with little agile knowledge have strong opinions about when agile is(n‘t) applicable’?
  24. Abandon learned despairs ‘T Lemi Orhan Ergin . 3. : vi -El" L’? jl' Never say "it does not fit to our culture". You are a part of the culture and every culture can evolve and improve like you do.
  25. l Pl l’: -.; *.li' i ~“ii'i. .'* lqf“ i j :1 ‘ii : ‘ : ;+l‘. “'; .'” _I I. .-‘ Lemi Orhan Ergin Follow I‘ — C'L‘i. :'1 When you dig up successes, you find harmonized teams, even for individual sports or one man shows. . “ .3.) Phi 2 D 2 f'O‘A1 1?
  26. Make sure you are fafleninlove with your job , ~ 3
  27. Learn like crazy
  28. Leave our lGO having a little bit is not a problem
  29. Volunteer to share your knowledge / '
  30. Be honest to yourself to teammates to managers to customers to business
  31. Be able to say N0 N0 N0 NO N0 N0 N0 N0 NO NO "0 "0 ND Never promise what you cannot do even under deadly pressure of deadlines
  32. Don’t be the guy in the corner
  35. C0mpv: !ur*l. mot Vdfflfl disciplined ; : I5l'Zl' I! lIl'F! ? bis mall-ct: t': tra . t~d hignqtiiiiiiy sdtmir. 'c1low"g values arc ii-i~uy. i: ro set’ 1: ¢4.W(‘lIopl'l'L"". pr-ch snow 3 tr sory. we aim 10 inc is ‘tiny li. rctior-is. robes: slaolu it-r~: ;i<: ~ fI: ifi(Y‘tlI)Ifl Ci9.IKfIIf‘l1!6 Through ins WOIIK wt: u~. u shiln or lhr: .irt Dl. llZII: l.‘5.Ir7E'. (ECI1f‘009 . ir~c locus or I'M: I Trio code we develop 5 we oesigi-ec readable arderslandable clear we -: siec am: a rvays reaey to change 2 trio -rialym we prepare IS ur*ders! ardal: v‘e lu‘ly-covered data eo but clean a-a just-erougtl 3 The people cor! i~uot. i~. Iy ‘rr. irr- -nprovo sk. ti< 'criow bn“. I p1iIt: i:4.-s §", IVI1I"4!I( liromiscgi m’h 0‘i“lr! ’r : i-d p-uiciivniy . --. pm: l A .1d. ipl We know that IL' ing those values we noi may Eat ma wII achieve by iciloweg the pfIl'VL’tpIl! § below - Teams own i>~e ccice not If‘idlVIl3I. .i s [collective ownership] - use comoar-pzeam standavs for coc re and ralysis jslardaniil - Oefire your le: i'n's Us‘ '13!‘ of done for lasks stones tier-vuiors a-o releases [Definition of bone] . 0» not mlii sh codii u~Irr: .~i lI a toy | .'Nl. ‘G or p. i pn)g'. irl‘r"~j [Roluu Procodum] 2 it i"i‘. .iz! *efl. l.1lii. lr¥~‘. t'a~#~. ifii i - Tias code covnraqo . . monitored lrequei-i y and it -i-ad to be ii~c'ea<et: cor-sla~tiy [Toot Cctrongol — . harder ‘~ «log 05 lf‘+pol, Itf‘vllW"rll$r‘I ‘two’ or dltvulood, -' spa-C ‘ : coca "‘. tiId to Open source] . Folio» ' / esui _ r I [at A ‘cox '_l I '1 _ : ::: :." . :.I. :E I‘-"sf: r= .I’e: .I‘t.3:‘: ":. .': I i'. °J. ..'». ’.~. .“'. I_r-"" WI iU. _I_ $- - Design and and verily code by U‘I«ll"g T00 and B00 Wnling taslidbei was s the ma VWECA. s to for vriting lost; [TDD] EDD] - F0 on c i«. i~ Codi: pflflciplira Focus or "lg ru. ic. iblii pfoduli‘ Tr um: '. l!‘$I codu [Cl n c floPrin_'ip| a] - Learv aeveloprnenttocls such as your fits! '1 ‘ ‘ ads" 1:“ iv ‘.3 | . l ’_ »dIeaZuIE§ [cnfumarunip] ' i ! e-‘' e | | - Fovow best practices ~ release an: vi c tr~i - Mar to! the melncs of your code min cc_. ar-! ysi. . ¢-b. - . yoio] -. - - A. .tcri«. i-u it--.25 as much as possiclu i. i . i.. iys sii, ir: - my; lo aulornaet» as rruch as 90’ . Keep track . :nri Nrool Cor! ~uou. -. irarsgrnnoo A‘ t-, [keep the bc on i‘ [Er {groan l‘ tiles] _ ti. iy of i. cations v. i I . S"(¥IEV‘I7lé -- , ' , . ' slice '. . 1 as ' ' J . , . _ (Jot pet. fl‘, y I ‘ . _i - P’aCIICe mii L’; in II! N a _>q ex Li IQUII E 5 It [4 l [Pu to In 5 . - oont oe rel , ..ous: c.Z «Ow . . . '.. .u~. av‘ . .:i~i-oi. ,;y b: .¢f‘ usv r. , , ,t, ,,y mt e. '.. y H-5 our to. .. . ..r. . , —‘ - Pay Il‘C"! 'IC<II out» of your code as u. iny . i-. peso no Kouv the II of costs to work or in rm Iull/0 [Technical Debt] - . 1l‘I: L.‘-JCII? co1'IO0f‘t: rls K-iioosa lnciiorii Eirs as am. -icon . lr‘d Il: I CUM. " platforms . ir~d . ipc : ('5 use lI [nouns 'ty I Extoruiniliry] - have frequent shod releases to keep ire hill or ea: ri re ; -ase n r mum and to respovd to customer 'ast [snort Ralnsn] - Design iv-e arc’ 'eclufe oi your a: >cl. :atiors cloud corneal : >-e [Cloud Compatibility] - Excessive y use branches and low mode 5 to develop Ieaiures lrl'l>e'ner*t 'uies rd exporlmel-l for the rent reeases [bovolopmont Flow Modolo] - F"ep. tVL' | .lSI{"'OUQh out out Iifd are Mr pri-p. i-no ooc. imivr: .i'iui-5 P-oii~r ciiigrii-vi; arc tables rs me oi prstragritot--s [Agile Documentation] . Keep documei-l. itioos JG IDCJIIE . tr~t1 Corrie or arch vi: the -risluviw onus [Effie-ant Documentation] I Review the cocurrenzs l"3t are pcmareu ‘or you an: om-vitae 'eedDa: | to make it better [Document Review] - At the ~irne you lf‘lI a y wv-. e your code suc-ts‘ Always refactov the old cooe and o: oesigr suggest technical II"‘D'DV9I'IeI"I§ ‘.0 the team [Rnloclorlnq] - S"are your in-orvecoe via media or lra - ms to lean- by teaching [Knowledge Sharing] . it you riiivii . ii-y "lpfldIfY‘i*"f< i" I' s am you can r-rivrsv a I" rrmi I"iI' 1 c. iy Arvk ‘or Pr :2 [Collaboration] - As leixms pvmctivisy a. h.rre your knowledge take :4 zics oi your aciiora and mnigr: your team . "d your pl.1t'om‘a [Empowered Tounl] italiri [Automaflntion]
  36. 99% done tasks ET & Defects and bugs _‘ g_. §,€_; ,;‘3f}. . g over-engineered designs ~ » - - - . . -. » p. . Complex designs ‘ ‘ ‘ ‘ ‘* '. ‘_j Workarounds Expensive or slow “ ‘_ Slow decision making _ 7 Unpractical processes ‘ 5 . § Heavy tools ‘ Long manual tests Task switching ' Over-time ‘ . ’ -4:_____L, _i_ Not resolving root causes ’ Waiting for approval " Not listening or asking . _i Not empowering Working with ass-holes ' oi. Losing knowledge Things not adding value
  37. o Be N Console Code Analysis Tool P"°fi°i°'? l'l Ve: ?:“: y2s: ,: with Your U : . Tools I ‘"5’ ' CI Server 'i IDE/ Editor --------------- '4 "" """ '. l ll’ if _l / 4 ’“ V ' _; _"-N9!‘ —:
  38. Be responsible of . design ' architecture 7 ‘ quality ‘ testing g , _. perfo nce . ' main ance afions C actices ?
  40. l, »_I . rT _ I / .r' -"1 I r '1 {J i ‘ V57 . Is it true or false? We have no time for tests We have to skip writing tests to deliver fast
  41. ‘res, you have time Do ou really want '_i"rustrated cus enters and business and demotivated employees? Write comprehensive tests Automate as much as you can
  42. |lll‘i Never release an unreviewed code to production! I ~- -"-“ . A; I . ‘I I " ii '4 no-_— ——__— 1:‘ / _l——
  44. L‘ , '3 - 5“ Musicians don’t practice «: " onstage, they perform Cur job is to perform 0-_. .'. §-n O r; —j
  45. Practicing is the best way how we improve our craft
  46. How to Practice Ehaflenge Repeat Feedback again and again and again and again
  47. How to Practice No Pressure do not complete the task but master it
  48. Code Retreat is about practicing mastering
  49. Code Retreat is about learning through pairing extending your confort zone no pressure of daily work “ experimenting learning new practices applying TDD thinking deeply about design building structures simple developing whenever required refactoring
  50. 35 people attended the dag in Istanbul 6 continents 137 cities 20 timezones 2000+ developers 31 hours of coding November I5, 2014 Global Dag of Code Retreat coderetreat. org Coderetreat Community Network
  51. P l I Everyone has things to teach Everyone should be a speaker Everyone should participate No limitations on topics 7 No need to be experts After organizing 'i00-: - meetups, I realized that BBS might be the most effective catalyst of developer motivation
  52. I " AND STUDYTHEli*lASTER| i‘! G , ———. ——r——. ,. ~. ,—- ‘.4 '_. ‘I. E FIND A iviEi'! TUR TU GUIDE YDU
  53. Joe O'Brien and Jim Weirich while doing ruby code review https: //www. flickr. com/ photos/ fraserspeirs/3394902061
  54. “H3651! the locksmith letting me back into my house” by David Fiander MtpszlIVWW. flitlfhtoflllp| 'lIIt0SIl!0I1kgE¢| (I03557Z49ZZ “Hawk Conservancy Trust, Anilover" by Marilyn Peddle httpszlllnviir. fllckmomlpfiotoslmarllgn]aneI5lI11663279 “IISH” by Rgan Hcfiuire IittpzlIwivI. gratisographg. com “Thinking” by Alex Szgmanek | Ittps: IIvvvI. f|ickr. comlp_| iotoslI21II6931@ilDZIi558!43B878 “Master Yoda” by Hgzave http: I I hgzave. devlantart. comI artl Master-Yoda-14913524 All icons and drawings by Freepik http: IIwiiiiiI. flatli: on. com IMAGES
  55. Lemi Orhan Ergin Agile Software Craftsman lemiorhanergin. com @lemiorhan