เราต้องการทำทุกสิ่งทุกอย่าง
เราต้องพัฒนา software ให้มันเสถียรและสามารถบอกได้ว่ามันจะเสร็จเมื่อไร

แต่

เรามักไม่มีเวลามากพอสำหรับการทำทุกสิ่ง
สุดท้าย เราก็ได้อะไรมาก็ไม่รู้เหมือนกัน
และมันมักจะเกิดรูปแบบดังกล่าวตลอดเวลา

ดังนั้นเราลองกลับมาเริ่มที่การปฎิบัติขั้นพื้นฐานของการพัฒนาระบบ ดีกว่าไหม ?

ซึ่งประกอบไปด้วย

  • Coding
  • Testing
  • Listening
  • Designing

1. Coding
การ coding มันคือโอกาสในการพูดคุยกันของทีมพัฒนา
เพื่อให้เข้าใจบางสิ่งบางอย่างมากขึ้น
ซึ่งนั่นคือวิธีการเรียนรู้อย่างหนึ่ง
ดังนั้นถ้าคุณมีแนวคิดอะไร ก็ลอง coding ออกมาดูกันนะ
เพื่อเรียนรู้มัน

ตัวอย่างเช่น
เมื่อสิ้นวันคุณบอกว่า coding เสร็จแล้ว
แต่มันยังทำงานไม่ได้
มันไม่ทำรายได้ให้ลูกค้าเลย
ดังนั้นแสดงว่า คุณยังไม่ทำอะไรเสร็จแเลย

code นั่นเป็นทรัพย์สินที่จะขาดไม่ได้เลยในการพัฒนาระบบงาน
code จะบบอกทุกสิ่งที่อย่างของระบบ
รวมทั้งความกากส์ของทีมคุณด้วยนะ !!

2. Testing
คุณต้องรู้ว่าเมื่อใดที่งานคุณเสร็จจริงๆ
สิ่งนั้นที่ทำให้คุณรู้คือ การทดสอบ
ดังนั้นถ้าคุณเขียนการทดสอบก่อนเสมอแล้ว
คุณก็จะรู้ได้ว่าเมื่อใดที่เสร็จ
แต่ถ้าคุณไม่ทำแล้ว คุณน่าะต้องมาดู มาคิดคิดว่า สิ่งทำอยู่มันเสร็จหรือยัง
ซึ่งมันเสียเวลาน่าดู !!

3. Listening
คุณต้องเรียนรู้ในการรับฟังปัญหาก่อนว่ามันคืออะไร
แล้วคุณจะเรียนรู้ว่าควรที่ต้องเขียนการทดสอบเท่าไร
แต่ถ้าคุณไม่รู้ว่าต้องทำอย่างไร
ให้ลองถามหรือฟังลูกค้าคุณสิว่าเขาคิดอย่างไร
โดยลูกค้า อาจจะเป็นได้ทั้งหัวหน้า manager, business หรือ ผู้ใช้งานก็ได้

4. Designing
คือการออกแบบและสร้างโครงสร้างของระบบงานที่เราพัฒนา
โดยการออกแบบที่ดีนั้น คือ ถ้ามีการเปลี่ยนแปลงหนึ่งที่ในระบบแล้ว
ไม่จำเป็นต้องไปเปลี่ยนส่วนอื่นๆ ของระบบด้วย
จะต้องทำให้มั่นใจว่าส่วนการทำงานต่างๆ ในระบบจะไม่ซ้ำซ้อน
หรือมีอยู่เพียงที่เดียวเท่านั้น
ระบบสามารถเพิ่มความสามารถใหม่ๆ ด้วยการเปลี่ยนบางส่วนเล็กน้อยเท่านั้น
ดังนั้นถ้าพบว่าส่วนใดของระบบมันไม่ดี ให้ทำการแก้ไขทันที

ในการออกแบบนั้นมันคือการเรียนรู้จากทุกๆ คนที่ร่วมกันพัฒนาไปอย่างต่อเนื่อง
ดังนั้นการออกแบบคือกิจกรรมที่ทีมพัฒนาจะต้องทำในทุกวัน หรือทุกครั้งที่ทำการ coding

การออกแบบมันจะสะท้อนหรือบอกโครงสร้างของระบบงาน
และเรา coding เพื่อสร้างมันขึ้นมา
เพื่อดู feedback ว่ามันดีหรือไม่ดี
ถ้าไม่ดูให้ทำการแก้ไขซะ

โดยสรุปแล้ว
นี่คือกิจกรรมที่ควรกระทำสำหรับทีมพัฒนาทุกๆ คน
ถ้าคุณยังไม่เขียน code
มัวแต่ไปนั่งคิดนั่นคิดนี่จนยิ่งใหญ่
แล้วคุณจะรู้ได้อย่างไรว่ามันดี
ดังนั้นมาเขียน code เพื่อเรียนรู้กัน
และเมื่อเขียน code แล้วแนะนำให้เขียน test ไว้ก่อน
เพื่อใช้บอกว่าโครงสร้างที่คุรออกแบบมานั้นดีหรือไม่
และจะเสร็จเมื่อไร
สุดท้ายต้องรับฟังจากคนรอบข้างด้วย ไม่เช่นนั้นสิ่งที่คุณทำมันก็จะไร้ค่า !!!

…. สูงสุดคืนสูงสามัญ …