Saladpuk.com
💡 เกร็ดความรู้
💡 เกร็ดความรู้
  • ❤️ เกร็ดความรู้
  • กฏเหล็กในการทำงาน
  • หากเหนื่อยนักขอจงหยุดพักเสียก่อน
  • ดราม่ากับ PHP
  • อยากเรียนแต่ไม่มีตังเหรอ ?
  • แค่ต่างมุมมองทองก็กลายเป็นขี้ได้
  • อยากทำเว็บมันต้องรู้อะไรบ้างหว่า?
  • คิดแบบตรรกะจำแบบโปรแกรมเมอร์
  • เวลาทำงานเหตุผลมาก่อนเสมอ
  • บังคับคลีนโค้ดทำไมฟระ ?
  • บังคับทำเทสทำไมฟระ?
  • Requirement Driven Design
  • 👨‍💻 ที่สุดแห่งการเป็นโปรแกรมเมอร์
  • การทำซอต์แวร์โปรเจคยุคปัจจุบัน
  • เคล็ดไม่ลับในการทำซอฟต์แวร์
  • Quality vs Quantity
  • ปัญหาสมองไหล
  • เรื่องแปลกในการทำซอฟต์แวร์
  • กฎ 80:20
  • เมื่อเราไม่เข้าใจกัน
  • ปัญหาที่ใหญ่ที่สุดในการทำซอฟต์แวร์
Powered by GitBook
On this page

Was this helpful?

Export as PDF

เรื่องแปลกในการทำซอฟต์แวร์

🤔 แปลกแต่จริง และ เราก็จะเจอมันเสมอ

PreviousปัญหาสมองไหลNextกฎ 80:20

Last updated 5 years ago

Was this helpful?

ในการทำซอฟต์แวร์โปรเจค หลังจากที่เราได้รับ Requirements จากลูกค้า หรือ อะไรก็ตาม เราจะพบว่า Developer หลายๆคนเลือกที่จะ "เขียนโค้ดเป็นอันดับแรก" ไม่ก็ไป "ออกแบบระบบต่างๆเป็นอันดับแรก" เช่น ออกแบบฐานข้อมูล, ทำ class diagram, เลือกเทคโนโลยีที่จะใช้ บลาๆ ซึ่งเชื่อไหมว่านั่นก็เป็นหนึ่งในปัญหาที่เราคิดว่ามันเป็นเรื่องปรกติไปเสียแล้ว

เพราะการทำซอฟต์แวร์นั้น ถ้าตัวเรา คนในทีม และลูกค้า ยังไม่ได้เคลียประเด็นความเข้าใจกัน ว่างานแต่ละส่วนคืออะไร?, งานแต่ละตัวมีลำดับความสำคัญยังไง?, และอะไรคือจะเรียกว่าเราปิดงานตัวนั้นได้? หรือพูดรวมๆคือ

"ทีมยังไม่ได้เข้าใจตัวงาน และ Definition of Done ของงานเลย "

แต่ทีมกระโดดไปทำของที่ยังคลุมเคลืออยู่มันจะเกิดอะไรขึ้นถ้าสิ่งนั้นมันต้องแก้ไข? ดังนั้นสิ่งที่ทีมควรจะทำเมื่อได้รับ requirements ต่างๆจากลูกค้า คือ

  • คุยกับลูกค้าก่อนว่า features เหล่านั้นมันจะไปช่วยตอบโจทย์อะไรเขา เพื่อหาความต้องการที่แท้จริง เพราะบ่อยครั้งลูกค้าจะพูดสิ่งที่เขาอยากได้ แต่มันไปแก้โจทย์ทาง business แบบอ้อมๆเท่านั้นเอง

  • คุยกับลูกค้าก่อนว่า ความเร่งด่วนของแต่ละ features เป็นยังไง และกับในหน้าตักตอนนี้ เขาอยากได้อะไรก่อน เพื่อเราจะได้ส่งมอบงานที่มีผลกระทบสูงสุดกับธุรกิจเขาก่อน เพราะผมเชื่อว่าระบบ login น่าจะมีผลน้อยกว่า ระบบสั่งซื้อแน่นอน

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

จากเรื่องที่เล่ามา บริษัทหลายๆบริษัทเลือกที่จะไม่ทำของเหล่านี้เพราะคิดว่ามันเสียเวลาที่จะมานั่งคุยกัน ซึ่งคำตอบตอบคือใช่ครับ มันเสียเวลาในระยะแรก แต่ถ้านับในระยะยาวแล้วมันคุ้มค่าในการทำ