2 คะแนน โดย GN⁺ 2023-12-02 | 1 ความคิดเห็น | แชร์ทาง WhatsApp

ระบบคุณค่าในการพัฒนาซอฟต์แวร์

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

ความสำคัญของการปฏิบัติการโค้ด

  • การที่โค้ดถูกนำไปรันนั้นรวมถึงการปฏิบัติการโปรแกรมด้วย ซึ่งครอบคลุมการ deploy, การอัปเกรด, การมอนิเตอร์ และอื่นๆ
  • เมื่อซอฟต์แวร์ทำงานอยู่ในสภาพแวดล้อมการใช้งานจริง หลักการ KISS (Keep It Simple, Stupid) จะยิ่งสำคัญมากขึ้น
  • ในการปฏิบัติการจริง สิ่งสำคัญไม่ใช่แค่การเข้าใจโค้ด แต่ต้องเข้าใจแต่ละส่วนของระบบและทำให้มันยังทำงานได้แม้ในสถานการณ์ล้มเหลว

ความสำคัญของมุมมองทางธุรกิจ

  • การพัฒนาที่มีผู้ใช้เป็นศูนย์กลางจะมีความหมายก็ต่อเมื่อซอฟต์แวร์นั้นสร้างคุณค่าให้องค์กร
  • การนำมุมมองทางธุรกิจเข้ามาในกระบวนการพัฒนาอาจเป็นประโยชน์ โดยต้องคำนึงถึงงบประมาณ การตลาด กำหนดเวลา เป็นต้น
  • เมื่อพิจารณาทั้งองค์กร การตัดสินใจที่มีความหมายต่อซอฟต์แวร์ ทีม หรือผู้ใช้อาจไม่ใช่ทางเลือกที่ดีที่สุดเสมอไป

ปัญหาทั่วไปของการพัฒนาซอฟต์แวร์

  • โค้ดที่บำรุงรักษายากเกิดจากแนวทางที่ยึดผู้เขียนเป็นศูนย์กลาง
  • ซอฟต์แวร์ที่ไม่คำนึงถึงประสบการณ์ผู้ใช้เกิดจากแนวทางที่ยึดนักพัฒนาเป็นศูนย์กลาง
  • ซอฟต์แวร์ที่ออกแบบโดยไม่คำนึงถึงการปฏิบัติการเกิดจากแนวทางที่ยึดนักพัฒนาเป็นศูนย์กลาง
  • ซอฟต์แวร์ที่ไม่คำนึงถึงมุมมองทางธุรกิจเกิดจากแนวทางที่ยึดนักพัฒนาเป็นศูนย์กลาง
  • ซอฟต์แวร์ที่ไม่ถูกนำไปใช้งานจริงอาจเกิดจากแนวทางที่ยึดธุรกิจเป็นศูนย์กลาง

ความเห็นของ GN⁺

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

1 ความคิดเห็น

 
GN⁺ 2023-12-02
ความคิดเห็นจาก Hacker News
  • การใช้งานที่เพิ่มขึ้นระหว่างผู้ออกแบบภาษาและผู้พัฒนา standard library กับผู้พัฒนาโมดูล นักพัฒนาทั่วไป และผู้ใช้ปลายทาง

    มีแนวโน้มที่สัดส่วนเมื่อเทียบกับผู้ออกแบบภาษาจะเพิ่มขึ้นราว 1000 เท่าในแต่ละขั้นสำหรับผู้พัฒนาโมดูล นักพัฒนาทั่วไป และผู้ใช้ปลายทาง ซึ่งหมายความว่าความขี้เกียจเล็กน้อยในช่วงเริ่มต้นของการออกแบบภาษาหรือการพัฒนา standard library อาจส่งผลกระทบอย่างมากต่อผู้ที่อยู่ปลายทาง

  • เหตุผลของการใช้ระบบและบทบาทของผู้จัดการระดับกลาง

    เหตุผลที่ผู้ใช้งานใช้ระบบอาจเป็นเพราะบริษัทเป็นผู้ซื้อมา และในกรณีนี้นักพัฒนาจำเป็นต้องตอบสนองความต้องการของผู้จัดการระดับกลางมากกว่าความต้องการที่แท้จริงของผู้ใช้ สิ่งนี้ชี้ให้เห็นว่าผู้ใช้อาจถูกผูกติดอยู่กับผลิตภัณฑ์ที่ไม่สมบูรณ์

  • การค้นพบสัญลักษณ์ทางคณิตศาสตร์ ≹ ที่แสดงความสัมพันธ์เชิงการเปรียบเทียบ

    สัญลักษณ์ '≹' แสดงความสัมพันธ์ที่วัตถุสองสิ่งไม่ได้มากกว่าหรือน้อยกว่ากัน แต่ก็ไม่ได้จำเป็นต้องเท่ากันเสมอไป นี่เป็นความแตกต่างสำคัญในสถานการณ์ที่ไม่สามารถเปรียบเทียบกันได้ด้วยตัวเลขเพียงอย่างเดียว

  • คุณค่าของเวลานักพัฒนาเมื่อเทียบกับต้นทุนในการรันโค้ด

    ต้นทุนของการรันโค้ด 1 พันล้านครั้งอาจน้อยกว่าเวลาของนักพัฒนาเพียงไม่กี่นาทีด้วยซ้ำ และยังอาจใช้เซิร์ฟเวอร์ AWS เป็นเวลาหนึ่งเดือนเพื่อรันโค้ดเว็บ API ได้ถึง 1 แสนล้านครั้ง การปรับแต่งโค้ดควรให้ความสำคัญกับความอ่านง่ายสำหรับมนุษย์เสมอ จนกว่าจะถึงจุดที่ไม่มีประสิทธิภาพในเชิงเศรษฐกิจ

  • ความสำคัญของการอ่านโค้ดได้ง่าย

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

  • มุมมองเชิงวิพากษ์ต่อทฤษฎีของผู้เขียน

    ในการที่ผู้เขียนนำความจริงทั่วไปมาตีความใหม่เพื่อสร้างทฤษฎีของตนเอง วิธีการนำเสนอนั้นอาจถูกเข้าใจผิดว่าเป็นทางลัดที่ทั้งชวนอึดอัดและไม่ค่อยมีประโยชน์

  • แก่นแท้ของธุรกิจและความสำคัญของผู้ใช้

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

  • ความสัมพันธ์อันซับซ้อนระหว่างการพัฒนา การปฏิบัติการ และธุรกิจ

    การพัฒนา การปฏิบัติการ และธุรกิจ ต่างก็ไม่ใช่เอนทิตีเดี่ยว ๆ แต่ประกอบด้วยผู้คนที่มีความเชี่ยวชาญหลากหลายและมีบทบาทต่างกันภายในองค์กร ซึ่งทั้งหมดล้วนส่งผลต่อวิธีการเขียนโค้ดและช่วงเวลาที่ส่งมอบให้ผู้ใช้

  • การถกเถียงเรื่องปัญหาจริยธรรมในอุตสาหกรรมซอฟต์แวร์

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

  • มุมมองส่วนตัวต่อความสำคัญเชิงสัมพัทธ์ของการพัฒนา การปฏิบัติการ และธุรกิจ

    ความสำคัญของการพัฒนา การปฏิบัติการ และธุรกิจ แตกต่างกันไปตามสถานการณ์ และยอมรับว่าในบางครั้งการพัฒนาก็ควรได้รับความสำคัญเหนือกว่าธุรกิจหรือการปฏิบัติการ**