คำถามติดแท็ก agile

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

8
จะรายงานความคืบหน้าของโครงการของฉัน (Agile) กับนายจ้างของฉันได้อย่างไร (ใครไม่ใช่โปรแกรมเมอร์)
ฉันมีปัญหาในการรายงานความคืบหน้าต่อนายจ้างของฉัน ฉันเป็นโปรแกรมเมอร์แบบพาร์ทไทม์จัดการโครงการซอฟต์แวร์สำหรับแผนก (ที่ไม่ใช่ด้านเทคนิค) ของโรงเรียน บุคคลที่ติดต่อ: 1. พนักงานที่ใช้ซอฟต์แวร์จริงและส่งคำขอคุณสมบัติ 2. เจ้านายของฉัน (ไม่ใช่โปรแกรมเมอร์) และเธอไม่ใช่ผู้ใช้ซอฟต์แวร์ ลักษณะของโครงการ: เป็นซอฟต์แวร์สำเร็จรูปที่ซื้อจากบุคคลที่สาม ฉันต้องแก้ไขหรือเพิ่มคุณสมบัติ / ฟังก์ชั่นซอฟต์แวร์นี้เพื่อตอบสนองความต้องการของแผนก นี่คือซอฟต์แวร์ที่จำเป็นต้องใช้ตลอดภาคการศึกษา ไม่จำเป็นต้องใช้ฟีเจอร์ทั้งหมดในตอนเริ่มต้น ดังนั้นเราจึงใช้โมเดล Agile: เมื่อพนักงานต้องการคุณสมบัติบางอย่างพวกเขาขอเพิ่มและฉันทำการเปลี่ยนแปลง ในตอนท้ายของภาคการศึกษาฉันคิดว่าคุณสมบัติที่จำเป็นทั้งหมดจะได้รับการยกระดับและนำไปใช้งาน ปัญหา: ทุกครั้งที่เจ้านายของฉันถามฉันถึงความคืบหน้าฉันตอบไม่ได้เพราะฉันไม่รู้ว่าจะตอบอย่างไร ฉันไม่มีรายการที่สมบูรณ์ของคุณสมบัติที่จำเป็นทั้งหมด แม้ว่าฉันจะมีฟีเจอร์ที่เพิ่มขึ้นเมื่อสัปดาห์ที่แล้ว แต่ฉันก็ยังไม่สามารถบอกได้ว่าบอสของฉัน "เสร็จ" เพราะฟีเจอร์ใหม่กำลังเข้ามาด้วยและฉันก็ไม่รู้เหมือนกัน ฉันไม่สามารถบอกได้ว่า "เรามีจำนวน% ที่จะสำเร็จ" หรือ "เราจะดำเนินการให้เสร็จภายใน xxx" บางครั้งจากคำขอ 3 คำขอฉันจัดการให้เสร็จสมบูรณ์ 2 ฉันจะบอกหัวหน้าของฉันว่า "ฉันได้ทำ 2 เสร็จแล้ว แต่ยังมีฟีเจอร์หนึ่งที่ยังไม่เสร็จสมบูรณ์" หลังจากผ่านไปนานฉันก็ดูเหมือนว่า "ฉันมักจะมีบางสิ่งบางอย่างไม่เสร็จ แต่หลังจากนั้นไม่นาน" การไม่สามารถรายงานความคืบหน้าได้ทำให้ฉันดูแย่มาก มันไม่เกี่ยวกับว่าฉันทำไปมากแค่ไหน ถ้าฉันเป็นผู้จัดการและพนักงานของฉันล้มเหลวในการรายงานความคืบหน้ากับฉันเป็นเวลาหลายเดือนฉันจะรู้สึกว่าผู้ชายคนนี้ก็ไม่สามารถเช่นกัน …

3
คุณจัดการกับการทำงานที่ไม่ทำงานกับ Scrum ใน eystems ในตัวได้อย่างไร
ฉันมีสองประเด็นเกี่ยวกับการต่อสู้ในระบบฝังตัว ขั้นแรกมีงานให้ทำมากมายโดยเฉพาะในช่วงแรกซึ่งไม่สามารถพิสูจน์ได้ เราเริ่มต้นด้วยบอร์ดการพัฒนาไม่มีระบบปฏิบัติการไม่มีจอแสดงผลไม่มีการสื่อสารแบบอนุกรม ฯลฯ เราไม่มีจอแสดงผลของเราสำหรับการวิ่งหกครั้ง การวิ่งสี่ครั้งแรกคือ: ทำให้RTOSทำงานได้ สร้างงานเขียนเครือข่ายและไดรเวอร์แบบอนุกรม การเขียนรูทีนอินเตอร์รัปต์สำหรับปุ่มการสื่อสาร ฯลฯ การเขียนคลาสฐานข้อมูลหลักและวิธีการ การเขียนเมนูดีบักแบบอนุกรม งานเหล่านี้ส่วนใหญ่ไม่เหมาะกับเรื่องราวของผู้ใช้ ในความเป็นจริงอินเทอร์เฟซเดียวในระบบทั้งหมดคือเมนูดีบักอนุกรมซึ่งสร้างขึ้นใน sprint 3 ดังนั้นจึงไม่มีสิ่งใดแสดงให้เห็นในตอนท้ายของการวิ่ง แม้แต่เมนูซีเรียลก็มีไว้สำหรับใช้ภายในและไม่ใช่ผู้ใช้ อย่างไรก็ตามฉันยังต้องการติดตามและจัดการกิจกรรมการพัฒนาเหล่านี้ผ่านทาง Scrum เราลงเอยด้วยการเขียนวลี "เรื่องราวของผู้ใช้" เช่น "ในฐานะนักพัฒนา ... " ซึ่งฉันไม่พอใจกับมัน แต่ในการใช้ Target Process (www.targetprocess.com) ไม่มีแนวคิดของรายการค้างซึ่งเป็น งานหรืองานบ้าน ประการที่สองคุณจัดการกับรุ่นและการทดสอบอย่างไร มันเป็นความเจ็บปวดที่แท้จริงสำหรับเราเพราะผู้ทดสอบไม่มีตัวแก้ไขปัญหาฮาร์ดแวร์ดังนั้นเราจึงต้องสร้างโค้ดเวอร์ชันแฟลชและเขียนลงในบอร์ดการพัฒนาเพื่อทดสอบ ผู้ทดสอบนั้นไม่ได้มีความคมชัดเหมือนนักพัฒนาซอฟต์แวร์และมักต้องการการสนับสนุนมากมายในการทำให้สิ่งต่าง ๆ ทำงานได้ในระยะแรก (รีเซ็ตบอร์ดเชื่อมต่อการสื่อสารแบบอนุกรม ฯลฯ ) หรือแม้กระทั่งในการทำความเข้าใจผลลัพธ์ ในที่สุดเกี่ยวกับคำจำกัดความของการวิ่งไม่สามารถทำให้เสร็จได้จนกว่าเรื่องราวทั้งหมดจะเสร็จสมบูรณ์ เรื่องราวทั้งหมดยังไม่สมบูรณ์จนกว่าจะได้รับการยืนยันจากผู้ทดสอบ ไม่มีทางที่จะหลีกเลี่ยงเวลาของนักพัฒนา "ปล้น" เพื่อมอบให้แก่ผู้ทดสอบ กล่าวอีกนัยหนึ่งถ้าเรื่องราวของผู้ใช้สามคนสุดท้ายในการวิ่งจะใช้เวลาห้าวันในการทดสอบพวกเขาจะต้องถูกเข้ารหัสและหน่วยทดสอบห้าวันก่อนสิ้นสุดการวิ่ง นักพัฒนาควรทำอะไร หยุดทำงาน? …

3
การแลกเปลี่ยนคู่: อะไรคือข้อดีและข้อเสีย?
แนวคิดทั่วไปที่นักทฤษฎีAgile / XPส่วนใหญ่ดูเหมือนจะเป็นคู่นั้นควรเปลี่ยนเป็นประจำ ตัวอย่างเช่นโปรแกรมเมอร์แต่ละคนควรสลับคู่วันละครั้ง ครึ่งคนเปลี่ยนไปในช่วงเริ่มต้นของวันครึ่งคนเปลี่ยนไปหลังอาหารกลางวันเนื่องจากปัจจัยภายนอกเช่นการประชุมวันหยุดและคนส่วนใหญ่มักจะพลิกเวลาสลับครั้งเดียวหรือสองครั้งต่อสัปดาห์เพื่อให้การกำหนดค่าคู่กระจาย ทั่วทั้งทีมอย่างเท่าเทียมกัน เหตุผลหนึ่งที่อยู่เบื้องหลังการแลกเปลี่ยนบ่อยครั้งคือความรู้นั้นแพร่กระจายไปในหมู่ทีมอย่างรวดเร็วและสม่ำเสมอแทนที่จะมีทักษะเฉพาะและความรู้ที่เข้มข้นในแต่ละบุคคลโดยเฉพาะนั่นหมายความว่างานสามารถดำเนินต่อไปได้อย่างราบรื่นหากผู้คนไม่อยู่หรือออกจาก บริษัท เหตุผลอีกประการหนึ่งซึ่งเป็นข้อพิสูจน์ถึงความเชื่อของการเขียนโปรแกรมคู่โดยรอบคือทุกครั้งที่มีคนสลับสับเปลี่ยนกับคุณคุณจะได้รับการตรวจสอบโค้ดใหม่ด้วยสายตาสดใหม่ดังนั้นมันจึงสามารถปรับปรุงคุณภาพรหัสได้เท่านั้น คำยืนยันทั้งสองฟังดูสมเหตุสมผล จากมุมมองของผู้บริหารดูเหมือนว่าคุณจะได้รับทั้งความมีเสถียรภาพและคุณภาพที่เพิ่มขึ้นและการแลกเปลี่ยนบ่อยครั้งนั้นเป็นทฤษฎีมาตรฐานที่ค่อนข้างดีในหนังสือAgile / XPส่วนใหญ่ที่ฉันเคยดู ดังนั้นเมื่อนำมาใช้จริงคนจริงๆคิดอย่างไรเกี่ยวกับการแลกเปลี่ยนคู่จาก มุมมองของโปรแกรมเมอร์? มุมมองของผู้จัดการ? และ สิ่งที่ควรพิจารณาเมื่อมีคนแลกเปลี่ยน / เข้าสู่คู่?

5
เมื่อใดที่ต้องทำการตรวจสอบโค้ด
เราเพิ่งย้ายไปยังกระบวนการการต่อสู้และกำลังทำงานกับงานและเรื่องราวของผู้ใช้ที่อยู่ในการวิ่ง เราต้องการที่จะทำการตรวจสอบโค้ดเป็นประจำเพื่อลดความน่ากลัว เรากำลังคิดที่จะทำสิ่งเหล่านี้ในระดับเรื่องราวของผู้ใช้ แต่ไม่แน่ใจว่าจะแยกรหัสของเราเพื่ออธิบายเรื่องนี้ได้อย่างไร เราใช้ VS และ TFS 2010 และเราเป็นทีมที่ 6 ขณะนี้เราแยกสาขาสำหรับคุณสมบัติ แต่กำลังทำงานเพื่อเปลี่ยนเป็นสาขาสำหรับการต่อสู้ ขณะนี้เราไม่ได้ใช้ชั้นวางและไม่ต้องการนำไปใช้จริงหากมีเทคนิคอื่น ๆ คุณจะแนะนำให้เราใช้การตรวจสอบโค้ดต่อเรื่องราวของผู้ใช้อย่างไร

6
ทีมของคุณทำงานได้ดีโดยไม่ทำตามวิธีการทำงาน (เช่นต่อสู้) หรือไม่?
ฉันทำงานในทีมเล็ก ๆ หลายทีมในช่วง 9 ปีที่ผ่านมา แต่ละคนมีแนวปฏิบัติที่ดีอย่างชัดเจนเช่นการประชุมสั้นการควบคุมการแก้ไขซอฟต์แวร์การรวมอย่างต่อเนื่องการติดตามปัญหาและอื่น ๆ ใน 9 ปีนี้ฉันไม่เคยได้ยินเกี่ยวกับวิธีการพัฒนามากนัก ตัวอย่างเช่นไม่เคยมี "เรากำลังทะเลาะกัน" หรือ "ให้ทำเปรียว" หรืออะไรมากกว่าการอ้างอิงผ่าน ทีมงานทั้งหมดดูเหมือนจะทำงานได้ดีโดยไม่ต้องทำตามขั้นตอนมากนักเราทำงานได้อย่างคล่องแคล่วและทำงานได้ดีตามธรรมชาติ มีใครอื่นที่ก้าวหน้าเป็นเวลานานโดยไม่ต้องเผชิญกับการต่อสู้ / เปรียว / ฯลฯ ? การเปิดเผยเพียงอย่างเดียวที่ฉันมีต่อสิ่งเหล่านี้คือผ่านไซต์เช่นนี้ ฉันอ่านคำถามเช่นSprint Meetings - สิ่งที่จะพูดถึง ... และการพูดคุยทั้งหมดดูเหมือนจะอธิบายหุ่นยนต์เกือบเหมือนคนที่ทำตามวิธีการที่ จำกัด เครื่องจักรรัฐ มันเป็นแบบนั้นหรือเปล่า ฉันสงสัยว่าคนที่โพสต์บนอินเทอร์เน็ตเป็นเพียงผู้สนับสนุนที่โด่งดังของ "แนวปฏิบัติที่ดีที่สุด" ที่มีมุมมองตำราเรียนที่คล้ายกันหรือไม่สะท้อนให้เห็นถึงวิธีการทำงานของผู้คน ... หรือว่าฉันได้พบกับบางทีม นอกจากนี้ (ฉันอยู่ในสหราชอาณาจักรซึ่งอาจมีความเกี่ยวข้อง) ... ฉันคิดว่าถ้ามีวิธีการแนะนำให้รู้จักกับทีมใดก็ตามที่ฉันทำงานอยู่พวกเขาแค่ปฏิเสธว่ามันไร้สาระและไม่จำเป็น ... จากนั้นพก บน. ฉันมักจะเห็นด้วยกับกระบวนการต่อไปนี้ดูเหมือนผิดธรรมชาติ นี่เป็นเรื่องปกติหรือทั่วไป

5
วิธีเริ่มโครงการพัฒนาเมื่อมีผู้มีส่วนได้ส่วนเสียมากเกินไป
ฉันเพิ่งเริ่มงานใหม่ที่วิทยาลัยในฐานะนักพัฒนาโปรแกรมประยุกต์บนเว็บ วิทยาลัยมีระบบที่แตกต่างกันจำนวนมาก แต่ทุกระบบที่สืบทอดกันมาค่อนข้างแย่ สร้างขึ้นส่วนใหญ่ใน PHP พวกเขาจัดการกับสิ่งต่าง ๆ เช่นการเข้าร่วมประชุมผลการสอบการทำเครื่องหมาย ฯลฯ งานแรกของฉันคือการสร้างระบบที่รวมข้อมูลจำนวนมากซึ่งกำลังวางอยู่ในฐานข้อมูลต่าง ๆ โดยไม่มี API ที่เป็นมิตรใด ๆ ที่จะดึงมันออกมา (ระบบที่มีอยู่จะถูกเข้ารหัสใน vanilla PHP โดยไม่มีการแยกข้อมูลและมุมมอง) ด้วยแพลตฟอร์มใหม่สำหรับการบันทึกข้อมูลเกี่ยวกับศิษยาภิบาลและนำเสนอให้อาจารย์ผู้สอนและเจ้าหน้าที่อาวุโสในลักษณะที่เป็นประโยชน์เพื่อให้พวกเขาสามารถตอบสนองต่อปัญหากับนักเรียนได้อย่างรวดเร็ว ในการพบกันครั้งแรกมี 18 คน! ไม่มีผู้นำหรือเสียงที่ชัดเจนที่เป็นตัวแทนของคนส่วนใหญ่ ไม่มีไคลเอ็นต์ที่ระบุตัวตนได้ การประชุมเปลี่ยนจากแนวคิดการใช้งานโดยละเอียดเกี่ยวกับคุณสมบัติเล็กน้อยจากหัวหน้าคณะไปสู่การโต้แย้งว่าเราควรใช้สเปรดชีต Excel หรือไม่สำหรับการป้อนข้อมูล! อย่างที่คุณจินตนาการได้ว่าหัวของฉันหมุนไปตอนท้าย จริง ๆ แล้วฉันมีความคิดที่ดีมากมาย แต่ฉันไม่สามารถได้ยินพวกเขา นี่เป็นบทบาทใหม่สำหรับฉันก่อนที่ฉันจะเป็นส่วนหนึ่งของทีมพัฒนาในหน่วยงานการตลาด เรามีบทบาทที่ชัดเจนมาก: ผู้จัดการโครงการลูกค้านักออกแบบนักพัฒนา ฉันต้องการทราบว่านักพัฒนาหรือผู้จัดการที่มีประสบการณ์สามารถให้คำแนะนำกับฉันเกี่ยวกับวิธีที่ฉันสามารถชักจูงเพื่อนร่วมงานของฉันให้เป็นสิ่งที่คล้ายกับทีมงานโครงการ เป็นวิธีที่คล่องตัวหรือไม่? คุณจะจัดการกับเสียงที่ต่างกันอย่างไร? เป็นที่ชัดเจนว่ากระบวนการบางอย่างจะต้องดำเนินการอย่างรวดเร็วฉันไม่แน่ใจว่ามันคืออะไร

7
Agile ทำงานอย่างไรเมื่อแทนที่ระบบการทำงาน
ในโลกอุดมคติ Agile คุณจะสร้างชุดย่อยขนาดเล็ก แต่มีประโยชน์อย่างรวดเร็วของระบบปลายทางที่ต้องการและมอบให้กับผู้ใช้ พวกเขาตื่นเต้นเพราะมันมีประโยชน์พวกเขาเริ่มใช้มันและให้ข้อเสนอแนะ จากนั้นคุณจะหาว่าจะเพิ่มอะไรสร้างและทำซ้ำจนกว่าคุณจะหมดเวลา เมื่อไม่นานมานี้ฉันมีโครงการสองสามโครงการที่เกี่ยวข้องกับการแทนที่ระบบการทำงานบางประเภท โมเดลด้านบนไม่ทำงานเลย: จนกว่าคุณจะสร้างระบบที่รวมฟังก์ชันการทำงานทั้งหมดของระบบที่มีอยู่แล้วผู้ใช้ก็ไม่ได้สนใจอะไรเลย พวกเขาจะไม่ใช้มัน คุณจะใช้งาน Agile ได้อย่างไรเมื่อ "ชุดย่อยที่มีประโยชน์น้อยที่สุด" คือ "ทั้งหมด"

3
วิธีส่งผลกระทบต่อลำดับความสำคัญของข้อบกพร่องให้กับนักพัฒนาและปฏิบัติต่อพวกเขาอย่างไร
เรามีกระบวนการบั๊กที่ใช้งานอยู่ในปัจจุบัน เรามีบั๊ก 3 ระดับ: ข้อผิดพลาด P1: ข้อบกพร่องที่ทำให้ผู้ใช้ไม่สามารถทำงานได้ พวกเขาจะต้องแก้ไขทันที ข้อผิดพลาด P2: ข้อบกพร่องที่ส่งผลกระทบ แต่ผู้ใช้สามารถทำงานได้ ข้อผิดพลาด P3: ข้อบกพร่องที่ไม่ส่งผลกระทบและผู้ใช้สามารถทำงานได้ P1 เป็นข้อบังคับและต้องได้รับการจัดการทันที แต่สำหรับ P2 และ P3 เราจะตัดสินเป็นกรณีไป ด้วย 3 ระดับที่เรามีทีมมีแนวโน้มที่จะทำงานในการพัฒนาที่เร่งรีบมากกว่าที่ลูกค้าถามแทนการติดต่อกับ P2 และ P3 ซึ่งเกือบจะไม่เร่งด่วน คำถามดังต่อไปนี้: ฉันควรเพิ่มระดับความสำคัญอีกระดับเช่นมี P4 หรือไม่ ฉันควรกำหนดเป้าหมายให้พวกเขาสำหรับจัดการกับตั๋วที่ไม่เร่งด่วนเหมือนในสัปดาห์นี้หรือไม่เมื่อไม่ได้มอบหมายงานการเขียนโค้ดคุณควรปฏิบัติต่ออย่างน้อย 1 P2 หรือไม่ ขณะนี้เราไม่มีวัตถุประสงค์อย่างที่ฉันกล่าวไว้ข้างต้น แต่ข้อกังวลของฉันคือการให้วัตถุประสงค์ดังกล่าวเป็นเรื่องที่โหดร้าย สิ่งที่แน่นอนคือฉันต้องพูดคุยกับพวกเขาเกี่ยวกับวัตถุประสงค์ทีมต้องการมีส่วนร่วมในการอภิปรายโดยเฉพาะอย่างยิ่งเมื่อเรากำหนดวัตถุประสงค์ ปรับปรุง: ฉันถูกเสนอคำถามนี้ในแง่ของความคล้ายคลึงกัน อย่างไรก็ตามมันไม่เหมือนกันเลย คำถามของฉันคือทำอย่างไรถึงจะมีคนจัดการกับข้อผิดพลาดโดยไม่มีการกำหนดวาระที่เข้มงวดและยังไม่ได้รับการแก้ไข ดังนั้นไม่คำถามที่บอกเป็นนัย ๆ ไม่ได้ช่วยฉัน ยังขอบคุณ

5
วิธีจัดการกับการวางแผนวิ่งระยะยาวเกินไป
ฉันใช้เวลาวางแผนมากกว่า 5 ชั่วโมงในการวิ่งเป็นเวลาหนึ่งสัปดาห์ ดูเหมือนว่าจะมากเกินไป เราพูดคุยรายละเอียดต่าง ๆ ในการวางแผนวิ่งเนื่องจากสมาชิกส่วนใหญ่ไม่อาวุโส หากเราไม่ทำเช่นนั้นจะนำไปสู่ข้อผิดพลาดระหว่างการใช้งานและการออกแบบใหม่ในระหว่างการวิ่ง เราจะจัดการกับสิ่งนี้ได้อย่างไร ฉันควรพูดคุยรายละเอียดมากน้อยเพียงใดระหว่างการวางแผนเพื่อให้พอดีกับความยาวเพียง 2 ชั่วโมงต่อสัปดาห์
14 agile  scrum  planning  sprint 

5
การตรวจสอบรหัสล่าช้าหลัง Deliver / Test Cycle
ในกระบวนการ Agile ของเราเรามี Sprints 2 สัปดาห์ งานจะถูกส่งเป็นรายวัน (งานสร้างรายวัน) และทีมทดสอบจะทำการทดสอบเสร็จในวันถัดไปหรือในวันเดียวกัน นอกจากนี้เรายังมีบทวิจารณ์รหัส Dev ซึ่งต้องใช้เวลา (1-2 ชั่วโมง) ดังนั้นจึงมีกำหนด 3 ครั้งต่อสัปดาห์: จันทร์ - ศุกร์ นักพัฒนามารวมกันและแนะนำวิธีปรับปรุง / สร้างรหัสใหม่ ปัญหาของเราคือเมื่อรายการการดำเนินการเกิดขึ้นหลังจากการตรวจสอบโค้ดงานส่วนใหญ่ได้รับการทดสอบแล้ว ผู้ทดสอบไม่ต้องการทดสอบสิ่งที่ผ่านการทดสอบแล้ว พวกเขาไม่สนใจเกี่ยวกับการเปลี่ยนแปลง dev ภายใน เราเข้าใจผิดเกี่ยวกับกระบวนการเปรียวหรือไม่? การตรวจสอบโค้ดไม่เข้ากันกับรอบการเปิดตัว / ทดสอบรายวันหรือไม่ เราไม่สามารถตรวจสอบโค้ดได้ทุกวันเนื่องจากใช้เวลาของทุกคน

1
การเขียนโปรแกรมแบบคู่ลบความต้องการการตรวจสอบโค้ดในโครงการ Extreme Programming (XP) หรือไม่
ในโครงการการเขียนโปรแกรมขั้นสูงโปรแกรมเมอร์ทำการจับคู่การเขียนโปรแกรมส่วนใหญ่ เนื่องจากคู่เหล่านี้ยังหมุนอยู่นั่นคือคุณจับคู่โปรแกรมกับบุคคลอื่นและมีความรู้สึกเป็นเจ้าของร่วมกันซอร์สโค้ดจะได้รับการตรวจสอบและอัปเดตบ่อยครั้ง เนื่องจากจำเป็นต้องมีการตรวจสอบโค้ดหรือไม่ ฉันหมายถึงหยุดเขียนโปรแกรมและทำรีวิวโค้ดจริงๆ

4
การจัดการความต้องการทำงานในระยะยาวกับโครงการ Agile อย่างไร
การจัดการความต้องการในระยะสั้นสำหรับโครงการ Agile ดูเหมือนจะเป็นปัญหาที่แก้ไขแล้วสำหรับฉัน จากข้อกำหนดใหม่ในมุมการต่อสู้หรือการเปลี่ยนแปลงข้อกำหนดที่มีอยู่จะถูกส่งผ่านเรื่องราวของผู้ใช้ และเรื่องราวของผู้ใช้ที่จัดกลุ่มภายใต้มหากาพย์หรือฟีเจอร์ช่วยอำนวยความสะดวกในการส่งมอบความต้องการที่ซับซ้อนมากขึ้น แน่นอนเรื่องราวของผู้ใช้ไม่ใช่เอกสารข้อกำหนดทางเทคนิค มันคือการจัดกลุ่มงานที่จัดการได้ซึ่งแมปกับสิ่งที่มักเรียกว่าVertical Sliceของฟังก์ชันการทำงาน และขอบเขตของเรื่องราวเหล่านี้สามารถกำหนดได้อย่างชัดเจนผ่านการใช้เกณฑ์การยอมรับ (AC) ดังนั้นแม้ว่าเรื่องราวของผู้ใช้จะไม่เป็นข้อกำหนดที่เป็นทางการ แต่การเรียกดูผ่านเรื่องราวเหล่านั้นสามารถให้แนวคิดที่ชัดเจนเกี่ยวกับข้อกำหนดพื้นฐานของพวกเขาได้ ในระยะสั้น. ฉันพูดในระยะสั้นเพราะในขณะที่โครงการดำเนินไปเรื่อย ๆ จำนวนเรื่องราวของผู้ใช้เพิ่มขึ้น ดังนั้นการเรียกดูรายการเรื่องราวที่เพิ่มขึ้นเรื่อย ๆ เพื่อค้นหาสิ่งที่ต้องการจะน้อยลงและมีประสิทธิภาพน้อยลงเมื่อเวลาผ่านไป ปัญหานี้เกิดขึ้นเมื่อคุณพิจารณาเรื่องราวของผู้ใช้ที่ขยายขึ้นแทนที่หรือแม้แต่คัดค้านเรื่องราวก่อนหน้า ตอนนี้ลองนึกภาพช่องว่าง 2 ปีระหว่างการทำซ้ำการพัฒนาในโครงการ (มีความเสถียรในการผลิต) ทีมเดิมหมดไปแล้วและเป็นความรู้ทั้งหมด หากทีมดั้งเดิมรู้ว่าสิ่งนี้จะเกิดขึ้น (เช่นเป็นลักษณะของธุรกิจ) แล้วพวกเขาจะใช้มาตรการอะไรเพื่อช่วยทีมต่อไป แน่นอนว่างานในมือจะให้ข้อมูลบางอย่าง แต่แทบจะไม่ได้อยู่ในรูปแบบที่เรียกดูได้ง่าย ดังนั้นสิ่งที่สามารถทำได้เพื่อช่วยให้ทีมต่อมาเข้าใจถึงสถานะของโครงการรวมถึงสาเหตุและวิธีการไปถึงที่นั่น? จากประสบการณ์ของฉันสิ่งต่อไปนี้ใช้ไม่ได้: กรูมมิ่ง Backlogเพื่อลบหรืออัปเดตเรื่องราวผู้ใช้ก่อนหน้าเพื่อให้สามารถอ่าน Backlog เป็นเอกสารข้อกำหนดได้ Documentation Sprintsที่สมาชิกในทีมได้รับมอบหมายด้วยการบันทึกสถานะปัจจุบันของระบบ เอกสารผ่านการทดสอบพฤติกรรม วิธีนี้เป็นวิธีเดียวที่ฉันได้เห็นมาใกล้กับการทำงาน น่าเสียดายที่การทดสอบพฤติกรรมการใช้รหัสเป็นเหยื่อของปัญหาการตั้งชื่อ แม้ว่าการทดสอบอาจจัดทำเอกสารระบบอย่างถูกต้อง แต่ให้ทีมนักพัฒนาที่มีความผันผวนในการเขียนการทดสอบตามคำศัพท์โดเมนถ้อยคำและรูปแบบที่เหมือนกันนั้นแทบเป็นไปไม่ได้ ดังนั้นเพื่อย้ำ: หนึ่งจะจัดการความต้องการโครงการเปรียวในระยะยาวได้อย่างไร

8
จะหยุด / หลีกเลี่ยงการต่อเวลากับทีมการต่อสู้ได้อย่างไร?
จริงๆแล้วฉันกำลังช่วยร้านขายซอฟต์แวร์เล็ก ๆ ในการดำเนินการต่อสู้ เมื่อเร็ว ๆ นี้อาจารย์ Scrum รายงานว่าเขามีปัญหาเพราะทีมทำงานเมื่อเวลาผ่านไปเพื่อให้บรรลุขอบเขต ดังนั้นพวกเขาจึงมีความเร็วลวงตา คำถามทางการของฉันคือ / คือ: นอกเหนือจากการพูดคุยเกี่ยวกับการประชุมย้อนหลัง; คุณคิดว่าเป็นความคิดที่ดีที่จะใช้ฮาร์ดบล็อคเพื่อหลีกเลี่ยงช่วงเวลาหรือไม่? ถ้าเป็นเช่นนั้นคุณแนะนำเทคนิคหรือเครื่องมืออะไร? ระบบควบคุมการแก้ไข (SVN, GIT, HG, ฯลฯ ... ), บล็อกต่อชั่วโมง (8 ถึง 5) บล็อกสถานีงานตามชั่วโมง (8 ถึง 5) หรือชั่วโมงสะสม (มากถึง 8 ชม. / วัน)? อื่น ๆ (s) ... หรือบางทีอย่าปิดกั้นสิ่งนี้ แต่ใช้"ระบบการลงโทษ"สำหรับชั่วโมงที่ไม่ยุติธรรมเพิ่มหรือไม่ ครั้งแรก: Tks ทั้งหมดสำหรับการตอบสนองที่รวดเร็วของคุณ @Baqueta (และคนอื่น ๆ ที่มีคำถามคล้ายกัน): ไม่มีการจ่ายเงินสำหรับชั่วโมงพิเศษ …
14 agile  scrum 

2
ตกลงไหมที่จะเปลี่ยนค่าประมาณในระหว่างการทำซ้ำ?
เราเริ่มใช้ Agile / Scrum ในทีมนักพัฒนา 4 คน เราทำการประมาณค่าเรื่องราวของเราและสั่งซื้อเรื่องราว Primed ในการค้างสินค้า เราเริ่มต้นด้วยการประมาณตามจุดบนความซับซ้อนจาก 1 ถึง 5 แทนที่จะเป็นปกติ 1,2,3,5,8,13 .... และอื่น ๆ หลังจากทำงานสองสามเรื่องเรารู้สึกว่าบางเรื่องที่ประเมินที่ 4 จุดควรเป็น 2 เท่านั้นในขณะที่อีกเรื่องที่ประมาณ 2 มีความซับซ้อนมากขึ้นและควรได้รับการประเมินเป็น 5 ฉันต้องการ ทราบ: ตกลงไหมที่จะเปลี่ยนการประมาณเรื่องราวของเราในระหว่างการทำซ้ำ? มันโอเคไหมที่จะใช้คะแนนการประเมินปัจจุบันจาก 1 ถึง 5 แทนที่จะเป็นปกติ 1,2,3,5,8,13 .... และอื่น ๆ แม้ว่าโดยส่วนตัวแล้วฉันรู้สึกว่ามันไม่ควรจะเป็นสำหรับทั้งสองกรณี แต่ฉันต้องสำรองตัวเองเพราะความเข้าใจของตัวเองยังไม่ชัดเจน (วัสดุอ้างอิงที่ดีจะดีมาก!)

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

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.