Technical excellence

Post on 12-Apr-2017

166 views 1 download

Transcript of Technical excellence

Technical ExcellencePrayoch Rujira

Clock up Studio, Siam chamnankit

The Boomerang JobsMay show every day in your work

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

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

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

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

มี Impact!!

HOTFIX!!

Hot fix of hot fix of hot fix of …

ไฟไหม้!!!!

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

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

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

Ward Cunningham

Software Finance

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

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

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

คำพูดสุด Classic

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

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

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

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

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

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

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

เหล่านี้

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

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

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

พวกเราใช้Engineering Practice

อะไรกันบ้าง

Communication

Pair programmingMob programming

Coding dojoDesign studio

CRC cards

…Whatever collaboration method

Source control

Easy build+

Easy deployment

Test first+

ATDD+

TDD

TDD is about doing the things right

ATDD is about doing the right things.

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

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

Basic principles+

Code smells+

Refactoring

Collective code ownership

Continuous Integration

Continuous Delivery & Deployment

Fast feedback+

Continuous improvement

Optimise flow over

maximise utilisation

แรงผลักดัน

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

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

Software craftsmanship

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