'อัตราส่วนทองคํา' ระหว่างความเร็วและการบํารุงรักษาคืออะไร?
ไม่มีเปอร์เซ็นต์คงที่ แต่มาตรฐานอุตสาหกรรมทั่วไปคือกฎ 80/20 ใช้ความพยายาม 80 เปอร์เซ็นต์ของคุณในการส่งมอบคุณสมบัติ และ 20 เปอร์เซ็นต์ใน 'การปรับโครงสร้างใหม่' หรือการชําระหนี้ทางเทคนิคเพื่อให้ฐานรหัสมีสุขภาพดี
ฉันจะอธิบายความจําเป็นในการบํารุงรักษาให้กับผู้มีส่วนได้ส่วนเสียที่ไม่ใช่ด้านเทคนิคได้อย่างไร
ใช้การเปรียบเทียบ 'การบํารุงรักษารถยนต์' คุณสามารถขับรถด้วยความเร็ว 100 ไมล์ต่อชั่วโมงโดยไม่ต้องเปลี่ยนถ่ายน้ํามันเครื่องเพื่อประหยัดเวลา แต่ในที่สุดเครื่องยนต์จะยึดและคุณจะติดอยู่ข้างถนนในขณะที่คู่แข่งของคุณผ่านคุณไป
เครื่องมืออัตโนมัติสามารถช่วยในการบํารุงรักษาได้หรือไม่?
ใช่ เครื่องมืออย่าง Linters, Static Analysis และ SonarQube สามารถตั้งค่าสถานะโค้ดที่ยุ่งเหยิงหรือมีความซับซ้อนสูงได้โดยอัตโนมัติ อย่างไรก็ตาม เครื่องมือเหล่านี้ไม่สามารถแก้ไขสถาปัตยกรรมที่เสียหายโดยพื้นฐานได้ ที่ยังคงต้องการการออกแบบและการมองการณ์ไกลของมนุษย์
การพัฒนาแบบ Agile ชอบความเร็วมากกว่าการบํารุงรักษาหรือไม่?
Agile มักถูกตีความผิดว่า 'เคลื่อนที่เร็วและทําลายสิ่งต่าง ๆ ' แต่แถลงการณ์ Agile เน้นย้ําถึง 'ความเป็นเลิศทางเทคนิค' True Agile ต้องการการบํารุงรักษาเพื่อให้ทีมสามารถตอบสนองต่อการเปลี่ยนแปลงได้อย่างต่อเนื่องในทุกการวิ่ง
เมื่อใดจึงจะเพิกเฉยต่อการบํารุงรักษาโดยสิ้นเชิง
เป็นที่ยอมรับสําหรับ 'ต้นแบบแบบใช้แล้วทิ้ง' ซึ่งเป็นโค้ดที่เขียนขึ้นโดยเฉพาะเพื่อทดสอบแนวคิดภาพหรือโฟลว์ตรรกะเดียวที่คุณตั้งใจจะลบและเขียนใหม่ 100 เปอร์เซ็นต์เมื่อพิสูจน์แนวคิดแล้ว
'เอกสาร' เหมาะสมกับการเปรียบเทียบนี้อย่างไร
เอกสารประกอบเป็นเสาหลักของการบํารุงรักษา หากไม่มีมันเจตนาของรหัสจะหายไปเมื่อผู้เขียนต้นฉบับจากไปเปลี่ยนรหัส 'Speedy' ให้กลายเป็นกล่องดําที่ไม่มีใครกล้าแตะต้อง
อะไรคือสัญญาณแรกที่บ่งบอกว่าความเร็วกําลังฆ่าโครงการของฉัน
มองหา 'Regression Bugs' (การแก้ไขสิ่งหนึ่งทําให้อีกสิ่งหนึ่งพัง) และ 'Velocity Drop' หากทีมของคุณทํางานหนักขึ้น แต่ทํางานให้เสร็จน้อยลงในแต่ละเดือน หนี้ทางเทคนิคมีแนวโน้มที่จะอุดตันไปป์ไลน์การพัฒนาของคุณ
'วิศวกรรมมากเกินไป' มีความเสี่ยงต่อการบํารุงรักษาหรือไม่?
แน่นอน. นักพัฒนาสามารถใช้เวลาหลายสัปดาห์ในการสร้างระบบ 'ปรับขนาดได้อย่างสมบูรณ์แบบ' สําหรับผลิตภัณฑ์ที่อาจไม่เคยมีผู้ใช้เกินสิบคน เป้าหมายคือการบํารุงรักษาแบบ 'ทันเวลา' ซึ่งสร้างขึ้นสําหรับขนาดที่คุณคาดหวังในอีก 6-12 เดือนข้างหน้า