คำตอบสำหรับคำถามของคุณคือMuฉันกลัว - มีรายละเอียดไม่เพียงพอที่จะคาดเดาได้ว่าคุณควรหรือไม่เลิกลอง
สิ่งเดียวที่ฉันเป็นไปได้ในเชิงบวกคือระดับของความว่องไวที่ควรขับเคลื่อนโดยความต้องการของลูกค้า / ตลาด (ซึ่งคุณไม่ได้ให้ข้อมูลเกี่ยวกับ)
- ตัวอย่างเช่นในฐานะผู้ใช้ IDE ฉันมีความสุขที่จะอัพเกรดเป็นเวอร์ชั่นใหม่ปีละครั้งหรืออาจสองครั้งต่อปีและฉันก็ไม่เคยรีบทำเช่นนั้น นั่นคือถ้ารอบการเปิดตัวของพวกเขาคือ 3 เดือน ( 12 สัปดาห์ ) จากนั้นฉันก็มีความสุขอย่างสมบูรณ์กับสิ่งนั้น
ในทางกลับกันฉันสามารถจินตนาการได้อย่างง่ายดายว่า บริษัท การค้าทางการเงินล้มละลายถ้าใช้เวลามากกว่าหนึ่งเดือนเพื่อให้ซอฟต์แวร์ของพวกเขาปรับตัวเข้ากับการเปลี่ยนแปลงของตลาด - รอบการทดสอบ12 สัปดาห์ในกรณีนี้จะเป็นหนทางสู่นรก ตอนนี้ - ผลิตภัณฑ์ของคุณต้องการอะไรในเรื่องนี้
สิ่งที่ต้องพิจารณาอีกประการหนึ่งคือคุณภาพระดับใดที่จำเป็นต่อการตอบสนองความต้องการของลูกค้า / ตลาดของคุณ
- ตรงตามจุด - ใน บริษัท ฉันเคยทำงานเราพบว่าเราต้องการคุณสมบัติใหม่ในผลิตภัณฑ์ที่ได้รับอนุญาตจากผู้จำหน่ายซอฟต์แวร์บางราย หากไม่มีคุณลักษณะนี้เราต้องทนทุกข์ทรมานอย่างมากดังนั้นใช่เราต้องการให้พวกเขามีความคล่องตัวและส่งมอบการอัปเดตภายในหนึ่งเดือน
และใช่พวกเขาดูเหมือนว่องไวและใช่พวกเขาเปิดตัวการอัปเดตนั้นในหนึ่งเดือน (หากรอบการควบคุมคุณภาพของพวกเขาคือ 12 สัปดาห์จากนั้นพวกเขาก็น่าจะข้ามไป) และคุณสมบัติของเราทำงานได้อย่างสมบูรณ์แบบ - เดาว่าเราน่าจะมีความสุขอย่างสมบูรณ์? ไม่! เราค้นพบข้อผิดพลาดในการถดถอย showstopper ในการทำงานบางอย่างที่ทำงานได้ดีมาก่อน - ดังนั้นเราจึงต้องติดกับรุ่นเก่า
ผ่านไปอีกหนึ่งเดือน - พวกเขาเปิดตัวเวอร์ชั่นใหม่อีกครั้ง: คุณสมบัติของเราอยู่ที่นั่น แต่มีข้อผิดพลาดการถดถอยที่เหมือนกันเช่นกัน: อีกครั้งเราไม่ได้อัพเกรด และอีกหนึ่งเดือนและอีกเดือน
ในที่สุดเราก็สามารถอัพเกรดได้เพียงครึ่งปีหลังจากนั้นมากสำหรับความคล่องตัวของพวกเขา
ทีนี้มาดูในระยะเวลา 12 สัปดาห์ที่คุณพูดถึง
คุณพิจารณาตัวเลือกใดเพื่อลดรอบ QA ดังที่คุณเห็นจากตัวอย่างด้านบนเพียงแค่ข้ามมันอาจไม่ให้สิ่งที่คุณคาดหวังดังนั้นคุณควรจะเป็นคนดีคล่องแคล่วและพิจารณาวิธีการต่างๆ ในการจัดการกับมัน
ตัวอย่างเช่นคุณพิจารณาวิธีปรับปรุงความสามารถในการทดสอบผลิตภัณฑ์ของคุณหรือไม่
หรือคุณลองพิจารณาวิธีแก้ปัญหาแบบโง่ ๆ เพื่อจ้าง QA ให้มากขึ้นหรือไม่? อย่างไรก็ตามมันดูเรียบง่ายในบางกรณีนี่เป็นวิธีที่จะไป ฉันได้เห็นการจัดการที่ไม่มีประสบการณ์พยายามที่จะแก้ไขปัญหาคุณภาพของผลิตภัณฑ์โดยการจ้างนักพัฒนาอาวุโสระดับสูงขึ้นเรื่อย ๆ ซึ่งผู้ทดสอบมืออาชีพโดยเฉลี่ยเพียงคู่เดียวก็พอเพียง น่าสมเพช
สุดท้าย แต่ไม่ท้ายสุด - ฉันคิดว่าควรมีความคล่องตัวเกี่ยวกับการประยุกต์ใช้หลักการที่คล่องตัว ฉันหมายความว่าหากความต้องการของโครงการไม่คล่องตัว (คงที่หรือเปลี่ยนแปลงช้า) ทำไมต้องกังวล ฉันเคยสังเกตผู้บริหารระดับสูงบังคับให้ต่อสู้ในโครงการที่ทำได้ดีโดยไม่ต้องทำ มันช่างเลวร้ายเหลือเกิน ไม่เพียง แต่ไม่มีการปรับปรุงในการจัดส่งของพวกเขา แต่ที่แย่กว่านั้นนักพัฒนาและผู้ทดสอบทั้งหมดก็ไม่มีความสุข
อัปเดตตามการชี้แจงที่ให้ไว้ในความคิดเห็น
สำหรับฉันหนึ่งในส่วนที่สำคัญที่สุดของ Agile ก็คือการปล่อย shippable ในตอนท้ายของการวิ่งแต่ละครั้ง มีความหมายหลายอย่าง ก่อนอื่นต้องทำการทดสอบในระดับหนึ่งเพื่อให้แน่ใจว่าไม่มีข้อผิดพลาดในการเปิดตัวหากคุณคิดว่าคุณสามารถปล่อยบิลด์ให้กับลูกค้า ...
ปล่อยให้ฉันดูได้ ฮึ่ม อืมม ลองเพิ่มหนึ่งหรือสองชิ้นของลีนลงในเครื่องดื่มค๊อกเทลของคุณ ฉันหมายความว่าหากนี่ไม่ใช่ความต้องการของลูกค้า / ตลาดนี่จะหมายถึงการสูญเสียทรัพยากร (การทดสอบ) เท่านั้น
ฉันเห็นใครทำผิดทางอาญาในการรักษา Sprint-end-release เป็นเพียงจุดตรวจสอบบางอย่างที่น่าพอใจของทีม
- dev: ใช่ว่าคนที่ดูดีพอที่จะผ่านไปยังผู้ทดสอบ; QA: ใช่แล้วว่ามันดูดีพอสำหรับกรณีนี้ถ้าต้องการการทดสอบแบบ shippable เพิ่มเติม - สิ่งที่ต้องการ ทีม (dev + QA) พอใจนั่นแหล่ะ
... ประเด็นที่สำคัญที่สุดที่คุณทำคือในตอนท้ายของการตอบสนองของคุณในแง่ของการไม่ใช้ความคล่องตัวหากข้อกำหนดไม่ได้คล่องตัว ฉันคิดว่านี่เป็นจุดที่ เมื่อเราเริ่มทำเปรียวเราได้โทรเข้ามาแล้วและสถานการณ์นั้นสมเหตุสมผล แต่ตั้งแต่นั้นมาสิ่งต่าง ๆ ก็เปลี่ยนไปอย่างมากและเราก็ยึดมั่นกับกระบวนการที่มันอาจไม่สมเหตุสมผลอีกต่อไป
คุณเข้าใจถูกต้อง นอกจากนี้จากสิ่งที่คุณอธิบายดูเหมือนว่าคุณจะได้รับสถานะ (ทีม / ผู้บริหารและความสัมพันธ์กับลูกค้า) ที่ช่วยให้คุณใช้การพัฒนารูปแบบการวนซ้ำเป็นประจำแทนการต่อสู้ ถ้าเป็นเช่นนั้นคุณอาจจะสนใจที่จะรู้ว่าประสบการณ์ของฉันในกรณีเช่นว่าซ้ำซ้ำแล้วซ้ำอีกรู้สึกว่ามีประสิทธิผลมากกว่าการต่อสู้ มากมีประสิทธิผลมากขึ้น - มีเป็นเพียงเพื่อให้น้อยกว่าค่าใช้จ่ายมันเป็นเพียงแค่ง่ายมากที่จะมุ่งเน้นการพัฒนา (สำหรับการควบคุมคุณภาพตามลำดับมุ่งเน้นไปที่การทดสอบ)
- ฉันมักจะคิดว่ามันในแง่ของเฟอร์รารี (ตามปกติซ้ำ ๆ ) เทียบกับแลนด์โรเวอร์ (เหมือนการต่อสู้)
เมื่อขับรถบนทางหลวง (และโครงการของคุณดูเหมือนจะมาถึงทางหลวงนั้น) เฟอร์รารีชนะนรกจาก Landrover
มันเป็นรถออฟโรดที่ใคร ๆ ก็ต้องการรถจี๊ปไม่ใช่รถสปอร์ต - ฉันหมายความว่าถ้าความต้องการของคุณไม่ปกติและ / หรือถ้าประสบการณ์การทำงานเป็นทีมและการจัดการไม่ดีคุณต้องเลือก Scrum - เพราะการพยายามไปตามปกติจะทำให้คุณ ติดอยู่ - เช่นเดียวกับ Ferrari จะติดอยู่นอกถนน
ผลิตภัณฑ์ทั้งหมดของเราประกอบด้วยชิ้นส่วนขนาดเล็กจำนวนมากที่สามารถอัพเกรดได้อย่างอิสระ ฉันคิดว่าลูกค้าของเรายินดีที่จะอัพเกรดส่วนประกอบขนาดเล็กเหล่านั้นบ่อยขึ้น สำหรับผมแล้วดูเหมือนว่าเราควรจะมุ่งเน้นไปที่การปล่อยและ QA'ing ส่วนประกอบขนาดเล็กเหล่านั้นในตอนท้ายของการวิ่งแทน ...
เสียงดังกล่าวเป็นแผนที่ดี ฉันทำงานในโครงการดังกล่าวหนึ่งครั้ง เราจัดส่งรีลีสรายเดือนพร้อมอัปเดตเป็นภาษาท้องถิ่นภายในส่วนประกอบที่มีความเสี่ยงต่ำและการลงชื่อออก QA สำหรับสิ่งเหล่านี้เป็นเรื่องง่ายเหมือนที่ได้รับ
- สิ่งหนึ่งที่ต้องจำไว้สำหรับกลยุทธ์นี้คือการมีการตรวจสอบที่ทดสอบได้ว่าการเปลี่ยนแปลงเป็นภาษาท้องถิ่นตามที่คาดไว้ แม้ว่าสิ่งนี้จะเท่ากับการเปรียบเทียบไฟล์แบบทีละบิตสำหรับส่วนประกอบที่ไม่ได้เปลี่ยนไปให้ทำไม่เช่นนั้นคุณจะไม่ได้รับมันมา สิ่งนี้คือ QA ที่รับผิดชอบคุณภาพการเผยแพร่ไม่ใช่นักพัฒนาของเรา
มันปวดหัวของผู้ทดสอบเพื่อให้แน่ใจว่าการเปลี่ยนแปลงที่ไม่คาดคิดไม่ได้เกิดขึ้นเพราะในฐานะนักพัฒนาซอฟต์แวร์ฉันมีสิ่งอื่น ๆ อีกมากพอที่จะกังวลเกี่ยวกับสิ่งที่สำคัญกว่าสำหรับฉัน และเนื่องจากการที่พวกเขา (ผู้ทดสอบ) ต้องการการพิสูจน์ที่มั่นคงจริง ๆว่าสิ่งต่าง ๆ อยู่ภายใต้การควบคุมโดยการปล่อยพวกเขาทดสอบการจัดส่ง