Practice Archive

เขียน Unit testing แบบไหนถึงดี ?

เห็นใน facebook มีคำถามว่า เขียน Unit testing แบบไหนถึงดี ? เป็นคำถามที่ตอบยากมาก ๆ เพราะว่าคำว่า “ดี” นั้นแตกต่างกันเหลือเกิน แต่คิดว่ามันเป็นสิ่งที่ดีนะ จึงเริ่มด้วยคำถามก่อนว่า ทำไมการทดสอบ code ของเราจึงมีความสำคัญ

Read More…

Building DevOps Culture :: ต้องรู้แล้วเข้าใจเหตุผลของการเปลี่ยนแปลง

จากหนังสือ Building a DevOps Culture นั้น เป็นหนังสือสั้น ๆ จำนวน 23 หน้าเท่านั้น ว่าด้วยเรื่องของวัฒนธรรมขององค์กรล้วน ๆ มีหลายสิ่งที่น่าสนใจ แต่ขอยกตัวอย่างหัวข้อเรื่องการเปลี่ยนแปลงมานิดหน่อย ก่อนที่เราจะทำการเปลี่ยนแปลงอะไรก็ตาม ควรรู้และเข้าใจก่อนว่า เหตุผลของการเปลี่ยนแปลงคืออะไร ? มีประโยชน์และมีคุณค่าอะไรบ้าง

Read More…

Git :: เลือก Branch Strategy อะไรดี ?

ปัญหาหลักที่มักเจอเกี่ยวกับการจัดการ source code ด้วย VCS (Version Control System) เช่น Git คือ เราจะเลือก branch strategy แบบไหนดี ? ยกตัวอย่างเช่น TBD (Trunk-Based Development) Integration branch (Master และ Develop) Feature branch/ Git flow Pull Request

Read More…

Developer ต้องหัดจัดการเรื่องของ Technical Debt นะ

เรื่องของ Technical Debt หรือ หนี้เชิงเทคนิค มันเป็นสิ่งที่ใช้อธิบายว่า สิ่งที่ทีมพัฒนาสร้างขึ้นมานั้น มันค่อย ๆ ทำร้ายเราเรื่อย ๆ คล้าย ๆ มะเร็งร้าย ถ้าไม่ตรวจร่างกายหรือระบบอยู่บ่อย ๆ แล้ว ผลที่ตามมาคือ อาการจะออกมาเมื่อถึงระยะท้าย ๆ ซึ่งแก้ไขไม่ทันแล้ว !! หรือไม่เช่นนั้น ก็ต้องใช้ค่ารักษาที่สูงมาก ๆ

Read More…

ว่าด้วยเรื่องของการวัดผลของ DevOps

สิ่งที่น่าสนใจสำหรับคำว่า DevOps ซึ่งได้กลายเป็นคำที่ถูกพูดถึงอย่างมาก หนักไปกว่านั้น เรามีการเปิดรับสมัครตำแหน่ง DevOps อีกด้วย ทั้ง ๆ ที่มันไม่ควรจะมีตำแหน่งนี้เลย แต่มันควรเป็นแนวคิด แนวปฏิบัติสำหรับทุกคนที่เกี่ยวข้อง เป็นสิ่งที่ควรเกิดขึ้นในการพัฒนา software เพื่อช่วยปรับปรุงเวลา ตั้งแต่เรื่องของการรับ requirement เปลี่ยนจาก requirement ไปเป็นสิ่งที่อยู่ในมือของผู้ใช้งาน ไปจนถึงการดูแลรักษาระบบ ปรับปรุง และ operate ต่าง ๆ ให้เร็ว และ ดีขึ้นอย่างต่อเนื่อง

Read More…

ว่าด้วยเรื่องการนำ pair programming มาใช้งานในทีม

เรื่องเล่าที่น่าสนใจเกี่ยวกับการนำ Pair programming มาใช้ในทีมพัฒนา มีอยู่ว่า เริ่มต้นได้แนะนำให้ทีมมาลองทำ Pair programming กัน ซึ่งสมาชิกส่วนใหญ่ก็เห็นด้วยว่า ลองทำดูสักพักก็ได้ แต่ก็มีคนไม่เห็นด้วยและปฏิเสธที่จะทำ แน่นอนว่า ถ้าปฏิเสธก็ไม่เป็นไร ทำงานเช่นเดิม ส่วนคนที่สนใจก็ทำงานแบบ Pair programming ไป

Read More…

วันว่าง ๆ มาดู code ที่น่าจะต้องปรับปรุง

เนื่องจากเพิ่งผ่านการ review code มากว่า 41 project ก็ได้เห็นรูปแบบของ code ที่น่าสนใจหลาย ๆ อย่าง ทั้งเรื่องความซับซ้อน ทั้งเรื่องของ indent ทั้งเรื่องของการ hard code ทั้งเรื่องของการ comment ทั้งเรื่องการ debug code ทั้งเรื่องของการตั้งชื่อ ทั้งเรื่องของ code ที่ไม่ใช้งานหรือมีมากเกินความจำเป็น จึงทำการสรุปไว้ใน slide นิดหน่อย

Read More…

BizDevOps คืออะไร ?

การพัฒนา software ในปัจจุบัน สิ่งที่สำคัญมาก ๆ คือ Fast คือความเร็วของการเปลี่ยนจากความต้องการไปเป็นสิ่งที่อยู่ในมือลูกค้า Innovation product มันคือการเรียนรู้ Low cost of change คือค่าใช้จ่ายในการเปลี่ยนแปลงที่ต่ำ ลองจินตนาการดูสิว่า ถ้าคุณสามารถส่งมอบ software ให้ถึงมือผู้ใช้งานได้ทุกวินาที หรือ นาทีแล้ว มันจะช่วยลดความกลัวต่าง ๆ ลงไปได้เยอะไหม มันจะช่วยทำให้เราเรียนรู้ได้เร็วเพียงใด มันจะช่วยลดค่าใช้จ่ายได้มากเท่าไร

Read More…

ว่าด้วยเรื่องความกำกวมของ Requirement

จากหนังสือ Timeless Laws of Software Development นั้น ในส่วนแรกอธิบายถึงเรื่องการวางแผนก่อนที่จะเริ่มพัฒนาระบบงาน (Plan before implementing) เป็นสิ่งสำคัญมาก ๆ ถ้าไม่วางแผนแล้วจะไปกันอย่างไร แต่ปัญหาอย่างหนึ่งของการวางแผนคือ ความกำกวมหรือคลุมเครือของ requirement โดยในหนังสือมีบทสนทนาเรื่อง requirment ที่น่าสนใจ เลยแปลเก็บไว้นิดหน่อย ไม่แน่ใจว่าใครเคยเจอบ้าง

Read More…

สรุปเรื่อง QA in Production นิดหน่อย

ได้อ่านบทความเรื่อง QA in Production เป็นสิ่งที่น่าสนใจมาก ๆ จึงนำมาสรุปเรื่องที่น่าสนใจไว้นิดหน่อย ซึ่งภาพรวมแล้ว บน production นั้นสามารถเกิดข้อผิดพลาดได้เสมอ มันไม่ใช่สิ่งที่เกิดไม่ได้ หรือ มันไม่ใช่สิ่งที่แย่เสมอไป เนื่องจากมันคือโอกาสในการเรียนรู้ระบบงานจากการใช้งานจริง ๆ

Read More…