technical excellence

51
Technical Excellence Prayoch Rujira Clock up Studio, Siam chamnankit

Upload: prayoch-rujira

Post on 12-Apr-2017

165 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Technical excellence

Technical ExcellencePrayoch Rujira

Clock up Studio, Siam chamnankit

Page 2: Technical excellence

The Boomerang JobsMay show every day in your work

Page 3: Technical excellence

เราทำงานกันอย่างไร?

Page 4: Technical excellence

เพิ่ม Feature ที่ 2 เข้าไป

Page 5: Technical excellence

ต้องปรับโค้ดเดิมก่อน

Page 6: Technical excellence

เมื่อเวลาผ่านไป...

Page 7: Technical excellence

มี Impact!!

Page 8: Technical excellence

HOTFIX!!

Page 9: Technical excellence

Hot fix of hot fix of hot fix of …

Page 10: Technical excellence

ไฟไหม้!!!!

Page 11: Technical excellence

ลองดูกราฟนี้

Page 12: Technical excellence

“เขียนใหม่เถอะพี่”น้องโปรแกรมเมอร์ท่านหนึ่ง

Page 13: Technical excellence

ฝรั่งเรียกว่าTechnical debt

Ward Cunningham

Page 14: Technical excellence
Page 15: Technical excellence

Software Finance

แค่ทำงานให้เสร็จ กู้เงิน/รูดบัตร

Refactoring / ปรับปรุงคุณภาพโค้ด จ่ายเงินต้น

เขียนโค้ดยาก งานเสร็จช้า แก้บั๊กช้า จ่ายดอกเบี้ย

Page 16: Technical excellence

คำพูดสุด Classic

“ทำออกมาเร็วๆเลยได้ไหม ลูกค้าไม่แคร์หรอกนะว่าโค้ดห่วยหรือเปล่า”

“ของมันใช้ได้อยู่ จะไปยุ่งกับมันทำไม”

“โค้ดมันเละมากเลยพี่ ผมไม่รู้เลยว่าต้องใช้เวลากี่วันกว่าจะเสร็จ”

“เขียนใหม่เถอะ ผมขอร้อง”

Page 17: Technical excellence

ผลกระทบจากการที่มีTechnical debt สูง

•ปรับปรุงผลิตภัณฑ์ตามความต้องการทางธุรกิจไม่ทัน •โปรแกรมเมอร์ หมดไฟ •ทำงานยาก สื่อสารลำบาก มีกำแพงระหว่างกัน •ลาออก

Page 18: Technical excellence

Technical excellenceคือการลุกขึ้นมาต่อสู้กับปัญหา

เหล่านี้

Page 19: Technical excellence

การพัฒนา Softwareเป็นเรื่องเกี่ยวกับการ

“เปลี่ยนแปลง”

Page 20: Technical excellence
Page 21: Technical excellence

ปรับจังหวะการทำงาน

Page 22: Technical excellence

พวกเราใช้Engineering Practice

อะไรกันบ้าง

Page 23: Technical excellence

Communication

Page 24: Technical excellence

Pair programmingMob programming

Coding dojoDesign studio

CRC cards

…Whatever collaboration method

Page 25: Technical excellence

Source control

Page 26: Technical excellence

Easy build+

Easy deployment

Page 27: Technical excellence

Test first+

ATDD+

TDD

Page 28: Technical excellence
Page 29: Technical excellence
Page 30: Technical excellence
Page 31: Technical excellence
Page 32: Technical excellence
Page 33: Technical excellence
Page 34: Technical excellence
Page 35: Technical excellence
Page 36: Technical excellence

TDD is about doing the things right

ATDD is about doing the right things.

Page 37: Technical excellence

from https://watirmelon.com/2012/01/31/introducing-the-software-testing-ice-cream-cone/

Page 38: Technical excellence

from https://watirmelon.com/2012/01/31/introducing-the-software-testing-ice-cream-cone/

Page 39: Technical excellence
Page 40: Technical excellence

Basic principles+

Code smells+

Refactoring

Page 41: Technical excellence

Collective code ownership

Page 42: Technical excellence

Continuous Integration

Page 43: Technical excellence
Page 44: Technical excellence
Page 45: Technical excellence

Continuous Delivery & Deployment

Page 46: Technical excellence

Fast feedback+

Continuous improvement

Page 47: Technical excellence

Optimise flow over

maximise utilisation

Page 48: Technical excellence

แรงผลักดัน

Page 49: Technical excellence

ใส่ใจ Userใส่ใจ Productใส่ใจเพื่อนร่วมทีม

ใส่ใจ Codeใส่ใจตัวเอง

Page 50: Technical excellence

Software craftsmanship

ภาพจากBlog http://www.stevehuffphoto.com/2014/07/23/japan-with-the-om-d-m5-and-ft-lenses-by-ingo-socha/

Page 51: Technical excellence