พื้นหลังเล็กน้อยที่นี่ - เราเป็นทีมเล็ก ๆ (จาก 5) ของนักพัฒนา RAD ที่รับผิดชอบการพัฒนาซอฟต์แวร์ภายใน บริษัท ที่ไม่ใช่ซอฟต์แวร์ขนาดใหญ่ "ซอฟต์แวร์ภายใน" แตกต่างจากแอพพลิเคชันเดสก์ท็อป. NET ที่ใช้เซิร์ฟเวอร์ MSSQL เป็นแบ็กเอนด์ไปยังสคริปต์ Python ที่ทำงานบนพื้นหลังไปยังเอกสารและแม่แบบ MS Word - สวนสัตว์ของเทคโนโลยี
ทีมงานทั้งหมดประกอบด้วยผู้รอบรู้ทุกคนสามารถรับข้อกำหนดจากผู้ใช้รหัสมันทดสอบและปรับใช้ในการผลิต เมื่อซอฟแวร์ในการผลิตมันถูกดูแลโดยทีมอื่น แต่มันมักจะง่ายสำหรับเราที่จะเข้าไปแทรกแซงหากมีอะไรผิดพลาด
ทุกอย่างฟังดูดี แต่มีปัญหา - การเป็นทีม RAD ที่เราต้องปล่อยออกมาบ่อยครั้งและไม่มีวันที่เราจะไม่ปล่อยรุ่นใหม่ของแอปพลิเคชั่นหนึ่งหรือสอง (หรืออาจเป็นสคริปต์เอกสารเวิร์ดที่ได้รับการปรับปรุง แอพคอนโซล C ++ ฯลฯ ) ในการผลิต เราทำการทดสอบการพัฒนาและเกี่ยวข้องกับผู้ใช้ปลายทางโดยให้พวกเขาเรียกใช้ซอฟต์แวร์ในสภาพแวดล้อมของเอือด ...
... แต่ข้อบกพร่องกำลังคืบคลานเข้าสู่การผลิตอยู่ดี ผู้ใช้เข้าใจว่าข้อบกพร่องเหล่านี้และความไม่แน่นอนเป็นครั้งคราวคือราคาที่พวกเขาจ่ายเพื่อให้ได้สิ่งที่พวกเขาต้องการได้อย่างรวดเร็ว แต่ในขณะเดียวกันก็ทำให้เราคิด - บางทีเราอาจปรับปรุงการพัฒนาของเราหรือแนวทางปฏิบัติเพื่อปรับปรุงเสถียรภาพของ ซอฟต์แวร์และลดจำนวนข้อบกพร่องที่เราแนะนำเมื่อเพิ่มฟังก์ชันการทำงานใหม่
สิ่งที่ดี - เราไม่ค่อยมีกระบวนการมากนักในตอนแรกดังนั้นมันควรจะง่ายในการเริ่มต้นพัฒนาสิ่งที่ไม่ดี - เป็นทีม RAD เล็ก ๆ ที่เราไม่มีเวลาและทรัพยากรมากพอที่จะนำไปใช้ สิ่งที่ใหญ่ แต่เราได้คิดเกี่ยวกับความคิดริเริ่มดังต่อไปนี้และจะยินดีรับข้อเสนอแนะเคล็ดลับคำแนะนำและข้อเสนอแนะใด ๆ
ปัจจุบันแอปพลิเคชั่นบางตัวได้เปิดตัวสู่การผลิตทันทีหลังจากการทดสอบของนักพัฒนาโดยผ่านการทดสอบการยอมรับของผู้ใช้ การปฏิบัตินั้นควรถูกยกเลิกและแม้แต่การเปลี่ยนแปลงเล็กน้อยก็ต้องมีการทดสอบโดยผู้ใช้ปลายทาง แต่ละแอปพลิเคชันจะมีเครื่องทดสอบเบต้าเฉพาะที่เลือกจากผู้ใช้ปลายทาง หลังจากผู้ทดสอบเบต้าได้ตกลงแล้วจะมีการเปิดตัวรุ่นใหม่ตั้งแต่การทดสอบไปจนถึงสภาพแวดล้อมการผลิต
เราไม่ทำการตรวจสอบโค้ด แต่เราจะเริ่มทำการตรวจสอบโค้ดก่อนที่เราจะตรวจสอบการเปลี่ยนแปลง ฉันยังคิดเกี่ยวกับ "การตรวจสอบการเปิดตัว" - โดยทั่วไปหนึ่งในนักพัฒนาต้องนั่งถัดจากคนอื่นดูเขา / เธอกำลังทำซอร์ฟแวร์ (คัดลอกไบนารีอัปเดตการกำหนดค่าเพิ่มตารางใหม่ไปยังฐานข้อมูล ฯลฯ ) - ใช้เวลา 5-10 นาทีจึงไม่ต้องใช้เวลานานในการ "ตรวจสอบการเปิดตัว"
วิธีลดเวลาในการย้อนกลับเมื่อมีการพิสูจน์ว่ารุ่นใหม่นั้นมีความบั๊กพอที่จะดึงออกมาจากการผลิตและจะถูกแทนที่ด้วยรุ่นก่อนหน้าที่ดี เราเก็บประวัติของรีลีสทั้งหมด (เป็นไบนารี) เพื่อให้ง่ายต่อการย้อนกลับไปหนึ่งเวอร์ชัน - และแม้ว่าจะรวดเร็ว "เขียนทับไบนารีที่เพิ่งเปิดตัวใหม่ด้วยไบนารีเวอร์ชั่นก่อนหน้า" แต่ก็ยังเป็นกระบวนการแบบแมนนวล และเรียกร้องในบางครั้ง "จะเกิดอะไรขึ้นถ้าการย้อนกลับล้มเหลวและจะทำให้ระบบใช้ไม่ได้แทนที่จะเป็นรถ"
นี่คือที่ที่เรามีความคิดของเราหมดและเราต้องการรับความคิดเห็นของคุณเกี่ยวกับสิ่งเหล่านี้และถ้าคุณสามารถแบ่งปันคำแนะนำในการปรับปรุงกระบวนการเผยแพร่ / พัฒนากระบวนการอย่างง่าย