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

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

4
การต่อสู้ - สมาชิกในทีมกำลังยุ่งกับอะไรในระหว่างการวิ่ง
ดังนั้นการวิ่งการต่อสู้เป็นช่วงเวลาที่แน่นอนในระหว่างที่ควรใช้ชุดคุณลักษณะเฉพาะ และทีมการต่อสู้ประกอบด้วยคนทุกคนที่มุ่งมั่นที่จะส่งมอบคุณสมบัติเหล่านั้นส่วนใหญ่พวกเขามักจะเป็นนักพัฒนาและทดสอบ เมื่อมีการจัดตั้งกฎเหล่านี้ขึ้นมาแล้วเราอาจสงสัยว่าคนเหล่านี้จะไม่ว่างในระหว่างการวิ่ง ในตอนต้นของการวิ่งนั้นยังไม่มีอะไรให้ทดสอบและในตอนท้ายของการวิ่งจะไม่มีอะไรเหลือหรือน้อยมากที่จะพัฒนา / แก้ไข ฉันได้เห็น 2 วิธีในการจัดการกับสิ่งนี้ แต่ดูเหมือนว่าไม่มีวิธีใดที่จะแก้ปัญหาได้อย่างเหมาะสม 1) ให้สมาชิกในทีมตัดสินใจว่าจะทำอย่างไรเมื่อใดก็ตามที่พวกเขาไม่ทำงาน จุดด้อย: หากสิ่งที่พวกเขาทำไม่ได้วางแผนอย่างทั่วถึง (เช่นการปรับโครงสร้างครั้งใหญ่การเปลี่ยนไปใช้กรอบการทดสอบใหม่) งานของพวกเขาอาจไร้ประโยชน์หรือติดอยู่ครึ่งทางผ่าน ในทางกลับกันการวางแผนงานดังกล่าวอาจใช้เวลานานและลูกค้าอาจรู้สึกผิดหวังที่เห็นทีมเสียเวลากับบางสิ่งที่ไม่ทำให้เกิดคุณค่าในทันที งานดังกล่าวมักไม่สามารถประมาณการได้อย่างทั่วถึงดังนั้นจึงเป็นเรื่องง่ายสำหรับคนที่ไม่มีหลักการจะใช้เวลาในการดูแมว YouTube โดยที่ไม่ต้องถูกสะท้อนบนกระดานต่อสู้หรือที่อื่น ๆ 2) ทำให้ห้องใน sprint เท่านั้นสำหรับการพัฒนาและเริ่มการทดสอบหลังจาก sprint เสร็จสิ้น (เมื่อนักพัฒนาเริ่มทำงานกับคุณสมบัติจาก sprint ถัดไป) จุดด้อย: ในขณะที่การพัฒนาฟีเจอร์สำหรับ sprint ปัจจุบันนักพัฒนาได้ฟุ้งซ่านโดยการแก้ไขบั๊กจากอันก่อนหน้านี้และพวกเขาสามารถล้มเหลวในการทำงานตามจำนวนที่คาดว่าจะทำได้ระหว่าง sprint ปัจจุบัน จำเป็นต้องมีบอร์ดต่อสู้สองอัน: หนึ่งอันสำหรับคุณสมบัติการวิ่งแบบปัจจุบันและอีกอันสำหรับข้อบกพร่องการวิ่งครั้งก่อน ดังนั้นคำถามของฉันคือ: วิธีแจกจ่ายงานอย่างถูกต้องระหว่างการวิ่งระหว่างผู้พัฒนาและผู้ทดสอบเพื่อให้ไม่มีใครทำงานมากเกินไปหรือจบลงโดยไม่มีงานทำ ณ จุดใด มีวิธีในการปรับปรุงวิธีการที่อธิบายข้างต้นหรือไม่ หรือมีวิธีใดที่ดีกว่า
33 agile  scrum  sprint 

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

9
เราควรหลีกเลี่ยงการใช้รูปแบบการออกแบบในโครงการที่เปลี่ยนแปลงตลอดเวลาหรือไม่?
เพื่อนของฉันกำลังทำงานให้กับ บริษัท เล็ก ๆ ในโครงการที่ผู้พัฒนาทุกคนจะเกลียด: เขาถูกกดดันให้ปล่อยตัวโดยเร็วที่สุดเขาเป็นคนเดียวที่ดูเหมือนจะสนใจหนี้ทางเทคนิคลูกค้าไม่มีพื้นฐานด้านเทคนิค ฯลฯ เขาเล่าเรื่องซึ่งทำให้ฉันคิดถึงความเหมาะสมของรูปแบบการออกแบบในโครงการเช่นนี้ นี่คือเรื่องราวของ เราต้องแสดงผลิตภัณฑ์ในที่ต่างๆบนเว็บไซต์ ตัวอย่างเช่นผู้จัดการเนื้อหาสามารถดูผลิตภัณฑ์ แต่ยังรวมถึงผู้ใช้หรือคู่ค้าผ่าน API บางครั้งข้อมูลหายไปจากผลิตภัณฑ์ตัวอย่างเช่นกลุ่มหนึ่งไม่มีราคาเมื่อสร้างผลิตภัณฑ์ แต่ยังไม่ได้ระบุราคา บางคนไม่มีคำอธิบาย (คำอธิบายเป็นวัตถุที่ซับซ้อนที่มีประวัติดัดแปลงเนื้อหาที่แปลเป็นภาษาท้องถิ่น ฯลฯ ) บางคนขาดข้อมูลการจัดส่ง แรงบันดาลใจจากการอ่านล่าสุดของฉันเกี่ยวกับรูปแบบการออกแบบผมคิดว่านี่คือโอกาสที่ดีที่จะใช้ที่มีมนต์ขลังรูปแบบวัตถุ Null ดังนั้นฉันจึงทำและทุกอย่างราบรื่นและสะอาด มีเพียงแค่โทรproduct.Price.ToString("c")เพื่อแสดงราคาหรือproduct.Description.Currentแสดงคำอธิบาย; ไม่จำเป็นต้องมีเงื่อนไข จนกระทั่งวันหนึ่งผู้มีส่วนได้เสียขอให้แสดงต่างกันใน API โดยมี a nullใน JSON และยังแตกต่างกันสำหรับผู้จัดการเนื้อหาด้วยการแสดง "ราคาไม่ระบุ [เปลี่ยน]" และฉันต้องฆ่ารูปแบบวัตถุ Null ที่รักของฉันเพราะมันไม่จำเป็นอีกต่อไป ในทำนองเดียวกันฉันต้องลบโรงงานนามธรรมไม่กี่แห่งและผู้สร้างไม่กี่คนฉันลงเอยด้วยการเปลี่ยนรูปแบบ Facade ที่สวยงามของฉันโดยการโทรโดยตรงและน่าเกลียดเพราะอินเทอร์เฟซพื้นฐานเปลี่ยนไปสองครั้งต่อวันเป็นเวลาสามเดือน เมื่อข้อกำหนดบอกว่าวัตถุที่เกี่ยวข้องจะต้องแตกต่างกันขึ้นอยู่กับบริบท มากกว่าสามสัปดาห์ของการทำงานประกอบด้วยการเพิ่มรูปแบบการออกแบบจากนั้นฉีกออกเป็นชิ้น ๆ ในอีกหนึ่งเดือนต่อมาและในที่สุดโค้ดของฉันก็กลายเป็นสปาเก็ตตี้มากพอที่จะเป็นไปไม่ได้ที่จะรักษาโดยใครก็ตาม จะเป็นการดีกว่าหรือที่จะไม่ใช้รูปแบบเหล่านั้นตั้งแต่แรก? อันที่จริงฉันต้องทำงานด้วยตัวเองในโครงการประเภทต่างๆที่ความต้องการมีการเปลี่ยนแปลงอยู่ตลอดเวลาและถูกกำหนดโดยบุคคลที่ไม่ได้อยู่ในใจของการทำงานร่วมกันหรือการเชื่อมโยงของผลิตภัณฑ์ ในบริบทนี้มันไม่สำคัญว่าคุณจะคล่องตัวแค่ไหนคุณจะมาพร้อมกับวิธีการแก้ปัญหาที่สง่างามและเมื่อคุณใช้มันในที่สุดคุณจะได้เรียนรู้ว่าความต้องการเปลี่ยนแปลงไปอย่างมากและโซลูชันที่สง่างามของคุณไม่เหมาะสม ได้อีกต่อไป. อะไรจะเป็นทางออกในกรณีนี้? ไม่ได้ใช้รูปแบบการออกแบบหยุดคิดและเขียนรหัสโดยตรงหรือไม่ …

10
การแย่งชิง: วิธีการรวมงานที่ทำโดยนักพัฒนาที่ประสบความสำเร็จเกินกำลังออกจากวง?
เรามีทีม SCRUM "ทั่วไป" และเรามุ่งมั่นที่จะทำงานเพื่อการวิ่งและยังคงมีงานในมือ เมื่อเร็ว ๆ นี้เราประสบปัญหาในการพยายามรวม / จัดการกับงานของนักพัฒนาที่ประสบผลสำเร็จมากเกินไปในการทำงานนอกกลุ่ม (เลือกที่จะทำงานนอกเวลาทำงานปกติ / การวิ่ง) เพื่อยกตัวอย่างถ้าทีมงานใช้ 50 คะแนนในการทำงานสมมติว่าพวกเขาจะทำงานทั้งหมดให้เสร็จภายในกรอบ SCRUM ในตอนท้ายของการวิ่งและพวกเขาและ บริษัท มีความสุข หนึ่งในสมาชิกในทีมตัดสินใจที่จะทำงานด้วยตัวเองในรายการที่ค้างในเวลาว่างของตัวเอง พวกเขาไม่ได้ตรวจสอบในงานนี้ แต่แทนที่จะบันทึกไว้ (เราใช้ TFS และอยู่ในชั้นวาง) วิธีจัดการกับสิ่งนี้? ปัญหาเล็กน้อย .. ในระหว่างการวิ่งครั้งต่อไปสมาชิกในทีมบอกว่างานเขียนโปรแกรมเสร็จแล้ว 99% และเพียงแค่ต้องการตรวจสอบรหัสและทดสอบ คุณจัดการกับสิ่งนี้ใน SCRUM และวิธีการแบบเปรียวได้อย่างไร ผู้พัฒนารายอื่นบ่นว่าไม่เกี่ยวข้องกับการตัดสินใจออกแบบที่เกี่ยวข้องกับเรื่องราวเหล่านี้เนื่องจากงานเสร็จจากวง เจ้าของผลิตภัณฑ์ของเราถูกล่อลวงให้ดึงงาน "ฟรี" นี้และสมาชิกที่ประสบความสำเร็จมีแนวโน้มที่จะทำสิ่งนี้โดยมีจุดประสงค์เพื่อให้ได้คุณสมบัติเพิ่มเติมลงในผลิตภัณฑ์ที่ทีมไม่สามารถทำได้ในการวิ่ง มีมุมมองว่าสิ่งนี้กำลังทำลาย "กระบวนการ" เห็นได้ชัดว่า QA, UI และงานเอกสารยังคงต้องทำในงานนี้ ฉันเห็นการสนทนาจำนวนมากเกี่ยวกับการไม่บังคับให้ทีม SCRUM ทำงานล่วงเวลา แต่สมาชิกในทีมทำงานด้านบนและเกินความคาดหวังที่เกิดขึ้นระหว่างการวางแผนและการดำเนินการวิ่งหรือไม่ ฉันลังเลที่จะปกครองบุคคลนี้และบอกว่าคุณไม่สามารถทำงานพิเศษได้ (เตือนให้หมดกำลังใจ) …
32 agile  scrum  team 

6
ขอบเขตคงที่ + กำหนดเวลาตายตัว + สัญญาราคาคงที่ที่เคยทำเพื่อทำงานกับ“ เปรียว” หรือไม่?
บางโครงการที่เราใช้ภายในใช้คือ Scrum ในขณะที่ยังคงเป็น "แก้ไขทุกอย่าง" ให้กับลูกค้า เราประสบกับความสำเร็จที่หลากหลายในส่วนของเรา (ลูกค้าชอบการมองเห็นแผนภูมิการเผาไหม้) ประเภทของโครงการที่เราทำงานสามารถทำได้สำเร็จโดยใช้วิธีการแบบว่องไวหรือไม่
32 agile  scrum 

6
Agile แตกต่างจาก XP อย่างไร
ฉันอ่านบทความบนเว็บเพื่อค้นหาว่า Agile, XP, Scrum, การเขียนโปรแกรมคู่แตกต่างกันอย่างไร / เกี่ยวข้องกันและฉันได้รับบรรทัดต่อไปนี้: Scrum และ XP เกือบจะเหมือนกัน XP มีระยะเวลาเผยแพร่สั้นกว่า Scrum การเขียนโปรแกรมคู่ใช้ทั้งวิธี Agile และ XP แต่ฉันไม่สามารถระบุได้ว่า Agile นั้นแตกต่างจาก XP อย่างไร มากกว่าให้ URL ฉันยินดีที่จะอ่านประสบการณ์และความคิดของคุณเกี่ยวกับเรื่องนี้

7
ทีม Agile ควรส่งมอบคุณสมบัติใหม่ทุกวันหรือไม่?
บริษัท ของฉันกำลังอยู่ในช่วงเปลี่ยนผ่านจากการพัฒนาสไตล์น้ำตกเป็น Agile / Scrum เหนือสิ่งอื่นใดเราได้รับการบอกว่าความคาดหวังนั้นมีไว้สำหรับเราที่จะมีคุณสมบัติการทำงานใหม่ทดสอบได้ (โดย QA) ในตอนท้ายของแต่ละวัน devs ส่วนใหญ่ของเราสูญเสียประมาณ 2 ชั่วโมงต่อวันสำหรับการประชุมและค่าใช้จ่ายอื่น ๆ ขององค์กร ซึ่งหมายความว่าในระยะเวลา 6 ชั่วโมง (อย่างดีที่สุด) เราต้องออกแบบเขียนทดสอบหน่วยสร้างและปรับใช้ (พร้อมบันทึกประจำรุ่น) รหัสเพียงพอที่จะสร้างคุณลักษณะที่สมบูรณ์สำหรับ QA เพื่อเล่นด้วย ฉันเข้าใจว่าบันทึกการสร้าง / ปรับใช้ / วางจำหน่ายอาจเป็นไปโดยอัตโนมัติด้วยการตั้งค่า CI ที่เหมาะสม แต่เรายังไม่ได้มี นอกจากนี้เรายังมีการเขียนโค้ดฝั่งเซิร์ฟเวอร์ขนาดใหญ่ในต่างประเทศและความแตกต่างของเวลา 12 ชั่วโมงทำให้ยากยิ่งขึ้น เราพยายามที่จะจัดทำเรื่องราวให้แคบลงในแนวดิ่งเพื่อให้ฟีเจอร์แบบครบวงจรเร็วที่สุดเท่าที่จะทำได้ แต่วันส่วนใหญ่รู้สึกค่อนข้างคลั่งและฉันมักจะจับคนที่ใช้ทางลัดที่บอบบางและเปราะบางเพื่อให้มั่นใจว่า ปัญหานี้เกิดขึ้นหลังจากที่มีการดำเนินการ sprint สองสามวันเมื่อข้อบกพร่องที่หลีกเลี่ยงไม่ได้เริ่มที่จะกลิ้งเข้ามาและต้องพอดีกับหน้าต่าง 6 ชั่วโมงเดียวกัน นี่เป็นก้าวปกติของทีม Agile หรือไม่? แม้ว่าเราจัดการเพื่อใช้การตั้งค่า CI ฉันไม่สามารถดูว่าเราจะสามารถรักษาจังหวะนี้ไว้ได้อย่างไรและยังคงสร้างซอฟต์แวร์ที่มีคุณภาพ แก้ไข: มีคำตอบที่ดีหลายอย่างที่นี่ …
31 agile  scrum 

11
การแย่งชิงโปรแกรมเมอร์เดียว? [ปิด]
ฉันถูกเรียกเก็บเงินในฐานะ "ผู้เชี่ยวชาญของ Windows" ใน บริษัท ขนาดเล็กของฉันซึ่งประกอบด้วยตัวเองวิศวกรเครื่องกลที่ทำงานในบทบาทการขายและการฝึกอบรมและประธาน บริษัท ทำงานด้านการออกแบบการพัฒนาและการสนับสนุน บทบาทของฉันมีความเท่าเทียมกันโดยทั่วไป แต่โดยหลักแล้วฉันจะออกแบบและใช้งานการเขียนโปรแกรมอะไรก็ได้บนผลิตภัณฑ์ของเราจำเป็นต้องทำเพื่อให้สิ่งต่างๆของเราทำงานบน Windows เวอร์ชันใดก็ได้ที่เป็นปัจจุบัน ฉันเพิ่งดูภาพรวมระดับสูงของกระบวนทัศน์ Scrum ในเว็บคาสต์ คำถามของฉันคือ: มันคุ้มค่ากับเวลาของฉันที่จะเรียนรู้เพิ่มเติมเกี่ยวกับวิธีการพัฒนาผลิตภัณฑ์นี้หรือไม่เนื่องจากรายการงานพัฒนาของฉันมักจะได้รับในระดับที่สูงมากเช่น "สากลและ จำกัด วงผลิตภัณฑ์" ถ้าเป็นเช่นนั้นคุณจะแนะนำให้ปรับ Scrum สำหรับการใช้โปรแกรมเมอร์เพียงหนึ่งเดียวได้อย่างไร เครื่องมืออะไรที่มีพื้นฐานบนคลาวด์หรืออย่างอื่นจะมีประโยชน์สำหรับจุดสิ้นสุดนั้น หากไม่เป็นเช่นนั้นคุณจะแนะนำให้โปรแกรมเมอร์คนหนึ่งจัดการความพยายามของเขาแบบวันต่อวันได้อย่างไร? (บางทีคำถามอาจลดลงสำหรับคำถามง่าย ๆ นั้น)

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

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

8
เป็นวิธีที่ดีที่สุดในการแบ่งงานระหว่างนักพัฒนาอะไร
ทีมของฉันและฉันกำลังสร้างไซต์ที่เราพัฒนาขึ้นเมื่อประมาณสิบปีที่แล้วและเราต้องการทำใน Agile ดังนั้นหลังจากที่ฉันใช้เวลาอ่านมาก (อาจไม่เพียงพอ) ฉันมีปัญหากับคำถามว่าจะแบ่งงานระหว่างนักพัฒนาอย่างไร ฉันจะเจาะจงมากขึ้นและบอกว่าไซต์นั้นถูกแบ่งออกเป็นโมดูลแยกต่างหากซึ่งไม่มีการรวมกันระหว่างกันมาก อะไรคือวิธีที่ดีที่สุด / ได้รับการยอมรับมากที่สุดในการแบ่งงานระหว่างนักพัฒนา ให้แต่ละโมดูลที่แตกต่างกันในการทำงาน กำหนดผู้พัฒนาทั้งหมดให้กับโมดูลเดียวกันและแบ่งงานตามส่วนต่าง ๆ ของโมดูล (UnitTesting, DAL และ Mapping, Logics, UI) กำหนดนักพัฒนาทั้งหมดให้กับโมดูลเดียวกันและแยกงานด้วย logics ที่แตกต่างกัน (ตัวอย่างเช่นนักพัฒนาแต่ละคนรับผิดชอบตรรกะเฉพาะ (อาจเป็นวิธีการใน BL) และเป็น UnitTesting, DAL และ Mapping และ UI ... หรืออาจจะเป็นสิ่งที่แตกต่างอย่างสิ้นเชิง?

6
การต่อสู้สร้างค่าใช้จ่ายเพิ่มเติมสำหรับโครงการที่ความต้องการไม่เปลี่ยนแปลงหรือไม่?
ฉันอ่านScrum - คู่มือพ็อกเก็ตโดย Gunther Verheyenและมันบอกว่า: รายงานความโกลาหลของปี 2011 โดยกลุ่ม Standish ถือเป็นจุดเปลี่ยน มีการวิจัยอย่างกว้างขวางในการเปรียบเทียบโครงการแบบดั้งเดิมกับโครงการที่ใช้วิธีแบบ Agile รายงานแสดงให้เห็นว่าวิธีการแบบ Agile เพื่อการพัฒนาซอฟต์แวร์นั้นให้ผลตอบแทนที่สูงกว่ามากถึงแม้จะเป็นความคาดหวังแบบเก่าที่ต้องส่งมอบซอฟต์แวร์ตรงเวลาตามงบประมาณและขอบเขตทั้งหมดที่สัญญาไว้ รายงานแสดงว่าโครงการ Agile ประสบความสำเร็จสามครั้งและมีโครงการ Agile ที่ล้มเหลวน้อยลงสามเท่าเมื่อเทียบกับโครงการดั้งเดิม ดังนั้นฉันจึงทะเลาะกับเพื่อนร่วมงานคนหนึ่งของฉันที่บอกว่าสำหรับบางโครงการ (เช่นยา / การทหารที่ความต้องการไม่เปลี่ยนแปลง) Agile (และโดยเฉพาะ Scrum) มีค่าใช้จ่ายในการประชุมทั้งหมด ฯลฯ และมันมีเหตุผลมากกว่า ตัวอย่างเช่นใช้น้ำตก มุมมองของฉันคือ Scrum ที่ควรนำมาใช้ในโครงการดังกล่าวเพราะมันจะทำให้กระบวนการโปร่งใสมากขึ้นและเพิ่มผลผลิตของทีม ฉันยังคิดว่ากิจกรรมการแย่งชิงกันจะไม่ใช้เวลามากถ้ามันไม่จำเป็นเพราะเราไม่จำเป็นต้องนั่งทั้ง 8 ชั่วโมงใน Sprint Planning เป็นเวลา 1 เดือน เราสามารถสำรอง 5 นาทีเพื่อให้แน่ใจว่าเราทุกคนอยู่ในหน้าเดียวกันและเริ่มทำงาน ดังนั้น Scrum จะสร้างค่าใช้จ่ายเพิ่มเติมสำหรับโครงการที่ความต้องการไม่เปลี่ยนแปลงหรือไม่

1
วิธีเขียนวัตถุประสงค์“ สมาร์ท” ในฐานะนักพัฒนาที่คล่องตัว
เช่นเดียวกับ บริษัท หลาย บริษัท ที่ผมทำงานที่กำลังอยู่ระหว่างการทบทวนระบบการปฏิบัติงานเป็นไปตามวัตถุประสงค์ของสมาร์ท ทีมงานของฉันคือการทำงานสูงทีมพัฒนาเปรียวจ้างการปฏิบัติจากการเขียนโปรแกรมมาก เพื่อประโยชน์อันยิ่งใหญ่ของเราการจ้างงานของเราในการปฏิบัติเปรียวได้รับการสนับสนุนอย่างเต็มที่จากการจัดการทันทีและบน เพื่อให้งานสำเร็จลุล่วงทีมของเราใช้การทำซ้ำสามสัปดาห์ นอกเหนือจากการทำซ้ำทันทีเรามีแผนทั่วไปออกเป็นไตรมาส ความหมายว่าสิ่งที่เราจะทำได้ไม่กี่ไตรมาสต่อจากนี้เป็นสิ่งที่อันตรายกว่าสิ่งที่เราจะประสบความสำเร็จในไตรมาสปัจจุบัน แน่นอนเรามีความคิดทั่วไปของการที่โครงการของเราจะมุ่งหน้าไป แต่คำหลักที่นี่คือทั่วไป ด้วยวิธีการของเราในการวางแผนโครงการสมาชิกในทีมของฉันรวมถึงตัวฉันเองพบว่ามันยากที่จะเขียนวัตถุประสงค์ที่เฉพาะเจาะจงวัดได้บรรลุได้เกี่ยวข้องและกำหนดขอบเขตเวลา (SMART) สองคำถามที่มีอยู่ในSoftwareEngineering.seดำเนินงานที่ดีของการแก้ไขบางส่วนของความกังวลของเรา: ตัวอย่างของวัตถุประสงค์ SMART ที่ดีสำหรับโปรแกรมเมอร์คืออะไร เป้าหมาย SMART มีประโยชน์สำหรับโปรแกรมเมอร์หรือไม่ อย่างไรก็ตามคำถามที่นำเสนอการตอบสนองทั่วไปมากกว่าเฉพาะสำหรับการจัดการกับเป้าหมายสมาร์ทเมื่อทำงานกับทีมพัฒนาเปรียว ในฐานะนักพัฒนาที่คล่องแคล่วคุณจะเขียนวัตถุประสงค์ระยะยาวห้าถึงเจ็ดปีซึ่งมีความเฉพาะเจาะจงวัดได้บรรลุได้มีความเกี่ยวข้องและมีเวลา จำกัด อย่างไร

4
วิธีที่จะหยุดการชุบทองและเพียงแค่มีเนื้อหาที่จะปล่อยการพัฒนาที่ทำงาน [ปิด]
ทีมพัฒนาที่ฉันเป็นสมาชิกอยู่เพิ่งปรับตัวให้ทำงานตามแนวทางของ Agile นี่เป็นการเน้นย้ำถึงความจริงที่ว่าฉันไม่สามารถหยุดตัวเองให้เป็นรหัสชุบทอง (และเอกสารประกอบ) และฉันก็เกินกว่าที่คาดการณ์ไว้เดิมเมื่อฉันสามารถส่งมอบโซลูชันที่ตรงตามข้อกำหนดก่อนหน้านี้มาก ฉันคิดว่าจรรยาบรรณของฉันติดอยู่ที่ครอบงำซึ่งฉันติดอยู่กับรหัสของฉันและไม่ค่อยมีเนื้อหาที่จะปล่อยออกมาก่อนที่ฉันจะปรับโครงสร้างและทำให้สมบูรณ์ในระดับที่ n ฉันมีความสุขที่ฉันได้ตระหนักถึงสิ่งนี้ แต่ฉันจะเปลี่ยนทัศนคติ / ความคิดของฉันให้เป็นเนื้อหาที่มีความคืบหน้าและปล่อยตรงเวลาได้อย่างไร

3
วิธีการโปรโมตโครงการโอเพนซอร์ซ
ก่อนอื่นฉันต้องขออภัยถ้านี่เป็นส่วนที่ผิดของเครือข่ายที่จะโพสต์คำถามนี้ ถ้าเป็นโปรดย้ายไปยังตำแหน่งที่เหมาะสมกว่า ... คำถาม: ฉันต้องการฟังความคิดเห็นของคุณเกี่ยวกับวิธีการที่โครงการเริ่มต้นและเปิดใช้งาน ฉันมีโครงการระบบจัดการเนื้อหาโอเพนซอร์ซและมีคำถามเกิดขึ้นที่นี่: ฉันควรทำอย่างไร ฉันจะมาพร้อมกับ pre-alpha edition ที่ทำงานได้กับ front-end-back-end ก่อนแล้วประกาศโครงการต่อสาธารณะหรือไม่ หรือฉันจะประกาศทันทีจากศูนย์ ในฐานะนักพัฒนาฉันรู้ว่าควรใช้ระบบการกำหนดเวอร์ชันเช่น Git หรือ SVN ซึ่งฉันทำได้ไม่มีปัญหา และข้อดีของการทดสอบหน่วยก็เป็นสิ่งที่ต้องจดจำซึ่งตรงไปตรงมาฉันไม่ได้เข้าร่วมเลย ... การบริหารจัดการโครงการ - ฉันเป็นผู้เริ่มต้นที่ดีที่สุด เทคนิคการเขียนโค้ดและประสบการณ์เช่นการพัฒนา Agile เป็นสิ่งที่ฉันต้องการสำรวจ ... ในระยะสั้นความคิดใด ๆ สำหรับนักพัฒนาที่ยังใหม่กับโลกโอเพนซอร์สก็ยินดีต้อนรับมากที่สุด

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