เราจะตัดสินใจได้อย่างไรว่าการทดลองใดบ้างที่ควรกลายเป็นมาตรฐานของบริษัท?
กรอบการทำงานที่นิยมใช้กันคือ 'เรดาร์เทคโนโลยี' คุณเริ่มต้นใช้งานเครื่องมือในขั้นตอน 'ประเมิน' หรือ 'ทดลอง' หากพิสูจน์ได้ว่ามีความน่าเชื่อถือ รวดเร็ว หรือประหยัดกว่าอย่างสม่ำเสมอในหลายๆ ทีมโดยไม่ก่อให้เกิดปัญหาในการบูรณาการ ก็จะได้รับการเลื่อนขั้นเป็นสถานะ 'นำมาใช้' และกลายเป็นมาตรฐานอย่างเป็นทางการของบริษัท
แนวทางการทดลองของ 'ทีมสองพิซซ่า' คืออะไร?
แนวคิดนี้ซึ่งได้รับความนิยมจาก Amazon เกี่ยวข้องกับการจำกัดขนาดทีมให้เล็กพอที่จะเลี้ยงตัวเองด้วยพิซซ่าสองถาด ทีมเหล่านี้ได้รับอิสระในการทดลองใช้เครื่องมือและขั้นตอนการทำงานเฉพาะของตนเอง โดยมีเงื่อนไขว่าต้องปฏิบัติตาม "มาตรฐานสากล" บางประการ เช่น รูปแบบ API และโปรโตคอลความปลอดภัย เพื่อให้มั่นใจได้ว่าพวกเขายังคงสามารถสื่อสารกับทีมอื่นได้
ในความเป็นจริงแล้ว ทีมเทคโนโลยีควรมี 'เวลาสำหรับการคิดค้นนวัตกรรม' มากแค่ไหน?
แม้ว่ากฎ "20% ของ Google" จะเป็นเกณฑ์มาตรฐานที่นิยมใช้กัน แต่ผู้นำด้านเทคโนโลยีสมัยใหม่ส่วนใหญ่พบว่าการใช้ 5-10% ของสปรินต์นั้นยั่งยืนกว่า วิธีนี้ช่วยให้สามารถจัด "สปรินต์เพื่อค้นหาเทคโนโลยีใหม่" หรือ "แฮกกาธอน" ซึ่งนักพัฒนาสามารถทดลองใช้เทคโนโลยีใหม่ ๆ ได้โดยไม่กระทบต่อแผนงานผลิตภัณฑ์หลักหรือพลาดกำหนดส่งงานที่สำคัญ
การกำหนดมาตรฐานสามารถนำไปสู่ช่องโหว่ด้านความปลอดภัยได้จริงหรือไม่?
ใช่แล้ว นี่คือความเสี่ยงที่เรียกว่า 'ความเสี่ยงจากระบบเดียว' หากทุกบริการในบริษัทของคุณใช้ไลบรารีเวอร์ชันเดียวกันทั้งหมด ช่องโหว่ที่เพิ่งค้นพบในไลบรารีนั้นอาจทำให้โครงสร้างพื้นฐานทั้งหมดของคุณล่มสลายได้ในคราวเดียว นี่คือเหตุผลว่าทำไมความหลากหลายในระบบ—การทดลองอย่างมีระบบ—จึงเป็นคุณสมบัติด้านความปลอดภัยอย่างหนึ่ง
อะไรคือสัญญาณที่ชัดเจนที่สุดว่าโครงสร้างพื้นฐานด้านเทคโนโลยีของเรานั้นกระจัดกระจายเกินไป?
อาการที่เห็นได้ชัดที่สุดคือ เมื่อนักพัฒนาใหม่ต้องใช้เวลามากกว่าหนึ่งสัปดาห์ในการตั้งค่าสภาพแวดล้อมในเครื่องของตน หรือเมื่อโครงการข้ามทีมที่ "ง่าย ๆ" ต้องใช้เวลาเจรจาต่อรองหลายสัปดาห์เพียงเพื่อหาทางแบ่งปันข้อมูล หากคุณมีวิธีการจัดการการตรวจสอบสิทธิ์ผู้ใช้ที่แตกต่างกันห้าวิธีในห้าแอปพลิเคชันที่แตกต่างกัน นั่นหมายความว่าคุณมีปัญหาเรื่องการแบ่งส่วนระบบแล้ว
การกำหนดมาตรฐานทำให้การจ้างผู้เชี่ยวชาญเฉพาะด้านยากขึ้นหรือไม่?
จริงๆ แล้ว มันอาจทำให้ง่ายขึ้นด้วยซ้ำ การเลือกใช้เทคโนโลยีที่เป็นที่นิยมและได้รับการสนับสนุนอย่างดี (เช่น React หรือ PostgreSQL) จะช่วยให้คุณเข้าถึงกลุ่มผู้สมัครงานได้มากขึ้น หากคุณทดลองใช้ภาษาเฉพาะกลุ่มหรือภาษาที่สร้างขึ้นเองมากเกินไป คุณอาจพบว่าตัวเองหาคนที่มีทักษะที่จำเป็นไม่ได้เมื่อนักพัฒนาเดิมลาออกไป
เป็นไปได้หรือไม่ที่จะทดลองโดยใช้กระบวนการที่เป็นมาตรฐาน?
แน่นอน คุณสามารถทำการทดลองได้ไม่เพียงแค่กับซอฟต์แวร์เท่านั้น แต่ยังรวมถึงเวิร์กโฟลว์ด้วย ตัวอย่างเช่น ทีมอาจทดลองใช้ 'การเขียนโปรแกรมแบบคู่' เป็นเวลาหนึ่งเดือนเพื่อดูว่าช่วยลดข้อผิดพลาดได้หรือไม่ หากข้อมูลแสดงให้เห็นว่าได้ผล กระบวนการนั้นก็สามารถนำมาเป็นมาตรฐานสำหรับแผนกที่เหลือได้
ผู้ให้บริการคลาวด์มีอิทธิพลต่อความสมดุลระหว่างการทดลองและการกำหนดมาตรฐานอย่างไร?
แพลตฟอร์มคลาวด์อย่าง AWS และ Azure มีแคตตาล็อก "บริการจัดการ" จำนวนมากที่ช่วยให้สามารถทดลองใช้งานได้ทันที อย่างไรก็ตาม แพลตฟอร์มเหล่านี้ก็สร้าง "การผูกขาดผู้ให้บริการ" ด้วยเช่นกัน กลยุทธ์การสร้างมาตรฐานในระยะยาวมักเกี่ยวข้องกับการเลือกบริการที่เป็นโอเพนซอร์สหรือมีเส้นทางการย้ายข้อมูลที่ง่าย เพื่อหลีกเลี่ยงการพึ่งพาการกำหนดราคาของผู้ให้บริการเพียงรายเดียว