Move fast and keep your code quality

Move fast and keep your code quality

Presented at UIKonf 2017

675a0b0e911ee6c1c270a8d86a44e716?s=128

Francisco Díaz

May 16, 2017
Tweet

Transcript

  1. Move fast and keep your code quality

  2. None
  3. This talk is not about faster development

  4. This talk is about quality

  5. Productivity is a by-product of Quality

  6. ⚠ FAIR WARNING ⚠

  7. Not for lone wolfs !

  8. My experience Not a scientific paper

  9. Francisco Díaz franciscodiaz.cl @fco_diaz

  10. None
  11. Chapter zero Quality

  12. Productivity is a by-product of Quality

  13. None
  14. Option A

  15. Work faster Lose product quality

  16. Option B

  17. Work longer Lose quality of life

  18. Option C

  19. None
  20. “Look at all these shitty lines of code I just

    wrote!” No one, ever.
  21. We're proud about the quality of our work Not the

    quantity
  22. Less quality More production bugs

  23. More bugs less productivity

  24. 1 1 Integrating Software Assurance into the Software Development Life

    Cycle (SDLC)
  25. 100x

  26. Spaghetti code More time per new feature

  27. More time per feature less productivity

  28. Quality means fewer bugs

  29. Quality means faster development per feature

  30. Who's in charge?

  31. Quality is not QA's responsibility

  32. Quality is a company wide effort

  33. Chapter one The company

  34. 2010

  35. Early 20s

  36. Must haves:

  37. None
  38. None
  39. None
  40. Nice to have:

  41. None
  42. Startup!

  43. None
  44. None
  45. That's ridiculous

  46. Great work environments 2 don't need perks as bribes 2

    5 Ridiculous Employee Perks That Could Backfire
  47. No increase in the quality of the product

  48. It just makes people stay at work longer

  49. How many hours you worked in something

  50. How much of something you did in an hour

  51. I'm 30 What do I value in a company?

  52. Promotes Personal Growth

  53. Space for Learning

  54. Work-Life balance

  55. None
  56. Follow the money

  57. Travel to conferences

  58. Speak at conferences

  59. Access to books, courses, learning material

  60. Allocate time to study

  61. Direct impact in the quality of your life/work

  62. Work in a company that values quality

  63. Chapter two The Project

  64. Flat hierarchy?

  65. Flat hierarchy is a lie

  66. This is informal leadership 3 3 Cut the bullshit: organizations

    with no hierarchy don’t exist
  67. Make it explicit

  68. What does a manager look like?

  69. More structure Distributed responsibilities

  70. What is quality?

  71. Good definition of requirements 4 4 Peopleware: Productive Projects and

    Teams by Tom DeMarco
  72. Requirements are met Good Quality

  73. Short iterations

  74. Context switching

  75. “When interrupted, it takes an average of 23 mins to

    get back to the task. 5 5 Worker, Interrupted: The Cost of Task Switching
  76. Work like you're remote

  77. Rely on async tools

  78. Chapter three The Team

  79. Teams are more important than projects

  80. It's hard to form a good team If it works,

    keep doing it!
  81. Form projects around teams not the other way around

  82. Creating good teams

  83. Keep'em small

  84. Sharing knowledge

  85. Study groups

  86. Standards

  87. Pull Requests and Code Reviews

  88. None
  89. None
  90. None
  91. Architecture

  92. 6 6 What comes after VIPER? by Steve Powell

  93. Xcode Templates

  94. 7 7 Xcode Templates por Camilo Vera

  95. Chapter four The Developer

  96. Story time! Wisdom teeth removal

  97. None
  98. Option D

  99. Say no 8 8 Robert C. Martin - The Clean

    Coder
  100. Be professional

  101. “But we really, really need this by Friday” Someone, right

    now.
  102. In summary...

  103. Move faster by ⬆ your productivity

  104. ⬆ productivity by increasing the quality

  105. Quality first

  106. There's no silver bullet

  107. Company

  108. Project

  109. Team

  110. Be a professional developer

  111. Danke schön @fco_diaz franciscodiaz.cl bennygiang, yasminenadery, callmenick, mackflavelle, aznick, fkenji,

    kcfitz, pierrebeugnot, azenMatt, kimcope, FerRZ, WrenHandman, camovrbz, guilegaspar, s-powell, pazams, alecmorgana, hexiumz, chrisaxiom, jfmaggie, EricLin2004, turbolent, roham, annatangzhao, Cassidy-Robertson, ziacastillo, kinhderella, acroca, dete, ni-ko1, danidiazreyna, arthurcamara1, Mathieuu, creedarky