วิศวกรรมซอฟต์แวร์

ถาม - ตอบสำหรับมืออาชีพนักวิชาการและนักเรียนที่ทำงานในวงจรการพัฒนาระบบ

2
ใครสามารถอธิบายแนวคิดเบื้องหลังการบันทึกความจำของ Haskell ได้หรือไม่?
(หมายเหตุฉันใส่คำถามที่นี่เพราะมันเกี่ยวกับกลไกเชิงแนวคิดของมันไม่ใช่ปัญหาการเข้ารหัส) ผมทำงานในโปรแกรมขนาดเล็กที่ใช้ลำดับของตัวเลข fibonacci ใน equasion ของมัน แต่ผมสังเกตเห็นว่าถ้าผมได้มากกว่าจำนวนหนึ่งมันก็เจ็บปวดช้า googling รอบ bit ฉัน stumbled เมื่อเทคนิคใน Haskell ที่รู้จักกันเป็นMemoization, พวกเขาแสดงรหัสทำงานเช่นนี้: -- Traditional implementation of fibonacci, hangs after about 30 slow_fib :: Int -> Integer slow_fib 0 = 0 slow_fib 1 = 1 slow_fib n = slow_fib (n-2) + slow_fib (n-1) -- Memorized variant is …

8
วิธีจัดการกับความคิด“ ระบบอัตโนมัติเป็นเรื่องง่าย”?
ชื่อกล่าวมันทั้งหมด พนักงานบางคนใน บริษัท ของเราเชื่อว่าการทดสอบอัตโนมัตินั้น "ง่าย" และ "ต้องใช้เวลาหนึ่งวัน" ในการเขียนชุดการทดสอบ COM และ UI สิ่งที่สามารถทำได้เพื่อตอบโต้เรื่องนี้? หมายเหตุ: ฉันไม่ได้ถามเกี่ยวกับวิธีการโปรโมตระบบอัตโนมัติ นั่นไม่ใช่ปัญหา มีการส่งเสริมการทดสอบและกระบวนการอัตโนมัติโดยอัตโนมัติตลอดเวลาที่นี่ ปัญหาคือบุคคลบางคนไม่เข้าใจว่าระบบอัตโนมัตินั้นไม่ใช่ "ง่าย" หรือ "รวดเร็ว"

2
ความแตกต่างระหว่างความทนทานและการยอมรับข้อผิดพลาดคืออะไร?
ระบบ / โปรแกรม / อัลกอริทึมแบบกระจาย / ... มักถูกอธิบายด้วยเพรดิเคตที่ทนทานหรือข้อผิดพลาดที่ยอมรับได้ อะไรคือความแตกต่าง? รายละเอียด: เมื่อฉัน google สำหรับ + ​​strong + "fault-tolerant" ฉันจะได้รับสองครั้งเท่านั้นทั้งไม่ช่วยเหลือ เมื่อฉันไปหาคำศัพท์ฉันพบเอกสารจำนวนมากที่มีทั้งสองคำอยู่ในชื่อของพวกเขา น่าเสียดายที่พวกเขาไม่ได้กำหนดคำอย่างแม่นยำ :( แต่เนื่องจากพวกเขาใช้ทั้งสองคำดูเหมือนว่าทั้งสองไม่มีนัยใด ๆ

2
ความซับซ้อนของวงจรเมื่อเรียกวิธีเดียวกันหลาย ๆ ครั้ง
ขอบคุณสำหรับคำถามที่รีวิวรหัสฉันได้มีความขัดแย้งเล็กน้อย (ซึ่งเป็นโอกาสที่จะเรียนรู้บางสิ่งบางอย่าง) เกี่ยวกับสิ่งที่ซับซ้อน Cyclomatic สำหรับรหัสด้านล่าง public static void main(String[] args) { try { thro(); thro(); thro(); thro(); thro(); thro(); thro(); } catch (NullPointerException e) { } } private static Random random = new Random(); public static void thro() throws NullPointerException { if (random.nextBoolean()) throw new NullPointerException(); System.out.println("No crash this time"); …

8
การสร้างต้นแบบอย่างรวดเร็วนั้นเข้ากับวิธีการแบบเปรียวได้อย่างไร?
ฉันทำงานให้กับ บริษัท ขนาดใหญ่ซึ่งสั่งให้ใช้กระบวนการที่คล่องตัว ตัวอย่างเช่นสำหรับโครงการของเราเราใช้บริการบนคลาวด์ที่มีเป้าหมายเฉพาะในการจัดการการพัฒนาที่คล่องตัว กลุ่มวิศวกรรมเฉพาะที่ฉันทำงานไม่ได้พัฒนาซอฟต์แวร์แบบดั้งเดิม (แต่เราช่วยผลักดันโครงการจากมุมมองที่สูงขึ้น) แต่มันกำลังเปลี่ยนแปลง เรามีโครงการซอฟต์แวร์ที่กำลังมาถึง / วางแผนหลากหลายซึ่งส่วนใหญ่เป็นศูนย์ข้อมูลเช่นเราจะทำการตรวจสอบข้อมูลการรวบรวมรวมและการรายงานบางอย่าง งานอื่น ๆ ที่เกี่ยวข้องกับระบบอัตโนมัติด้วยฮาร์ดแวร์เฉพาะและสถาปัตยกรรมไคลเอนต์ / เซิร์ฟเวอร์ (หลายเทียร์) ฉันจะช่วยในกระบวนการจ้างคนหลายคนและกำหนดแผนการหลายอย่างในการก้าวไปข้างหน้า คำถามของฉันคือการทำต้นแบบอย่างรวดเร็วหรือไม่ (รหัส throwaway) เหมาะกับปรัชญาเปรียว ตัวอย่างเช่นฉันชอบ Python และแพ็คเกจที่หลากหลาย ฉันเห็นความเป็นไปได้ที่จะนำความคิดของเราไปใช้อย่างรวดเร็วด้วยขั้นตอนการทำงานของ Python อย่างไรก็ตามฉันคิดว่าจะมีการรับรู้มากมายที่ Python ไม่ใช่ "คุณภาพระดับองค์กร" และงานนี้ส่วนใหญ่จะต้องเขียนใหม่ใน Java หรือ C ++ อย่างไรก็ตามการสร้างต้นแบบของ Python จะทำให้เรามีข้อบกพร่องมากมายในการทำให้เราสามารถให้ผลลัพธ์ที่แท้จริงได้อย่างรวดเร็ว คุณสามารถรวมต้นแบบอย่างรวดเร็ว - หวังว่าใน Python เข้ากับเวิร์กโฟลว์ที่คล่องตัวในสภาพแวดล้อมขององค์กรหรือไม่

2
“ ถูกต้องตรงข้ามกับความต้องการของลูกค้า” - มันถูกเรียกว่าอย่างไร? [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Software Engineering Stack Exchange ปิดให้บริการใน6 ปีที่ผ่านมา เรารู้สถานการณ์ที่เหมาะสมในการเจรจาแก้ไขข้อมูลจำเพาะกับลูกค้ารับข้อมูลจำเพาะเพื่อทำสิ่งที่ลูกค้าต้องการไม่ใช่สิ่งที่พวกเขาพูดหรือคิดว่าพวกเขาต้องการ นั่นคือการเจรจาอธิบาย บางครั้งเราไม่สามารถโน้มน้าวลูกค้า เราถูกบังคับให้ผลิตสินค้าที่เสียหายตามที่ออกแบบไว้ สิ่งนี้เรียกว่า "ปิศาจวิทยา" โดยการทำบุญของนักเวทย์เรียกปีศาจและปีศาจมาเติมเต็มความปรารถนาอย่างแท้จริงทำให้เกิดการตายของนักเวทย์เป็นอีกแนวทางหนึ่งที่จะทำให้ลูกค้าไม่พอใจอย่างมากเมื่อพวกเขาตระหนักถึงข้อผิดพลาดของพวกเขา ตำหนินักพัฒนา ตอนนี้ฉันเพิ่งเผชิญกับวิธีที่แตกต่างกันมาก: ลูกค้าสร้างสเปคอย่างง่ายที่ล้มเหลวในการพิจารณาข้อแม้ที่สำคัญบางอย่างและไม่เต็มใจที่จะแก้ไขอย่างสมบูรณ์ยอมรับข้อผิดพลาดที่เห็นได้ชัดและยอมรับการแก้ไขที่แนะนำ ผลิตภัณฑ์ที่ทำตามข้อกำหนดเหล่านี้จะถูกทำลายอย่างรุนแรงและอาจทำให้เสียชีวิตได้ ยังคงสายเกินไปที่จะยกเลิกสัญญาโดยสิ้นเชิง สัญญามีข้อบทลงโทษสำหรับสิ่งที่เราไม่สามารถยอมรับได้จริงๆ การตัดสินใจของเจ้านาย? เราทำงานถูกต้องและโกหกลูกค้าที่เราทำตามข้อกำหนด อัลกอริทึมที่เป็นปัญหาถูกซ่อนอยู่ลึกพอที่ใต้พื้นผิวผลิตภัณฑ์จะทำงานได้ดีไม่ล้มเหลวในสถานการณ์ข้อแม้และถ้าไม่มีใครขุดลึกเกินไปพวกเขาจะไม่ค้นพบว่าเราไม่ได้ทำลายมันตามที่ร้องขอ มีชื่อสามัญสำหรับกลวิธีการดำเนินการรายละเอียดนี้หรือไม่?

5
มีทฤษฎีทางคณิตศาสตร์ / การทดสอบซอฟต์แวร์อย่างเป็นทางการหรือไม่?
Googling "ทฤษฎีการทดสอบซอฟต์แวร์" ดูเหมือนว่าจะให้ทฤษฎีในความหมายที่นุ่มนวลของคำเท่านั้น ฉันไม่สามารถค้นหาสิ่งใดที่จะจัดเป็นทฤษฎีในเชิงคณิตศาสตร์ข้อมูลเชิงทฤษฎีหรือความรู้สึกทางวิทยาศาสตร์อื่น ๆ สิ่งที่ฉันกำลังมองหาคือสิ่งที่เป็นทางการว่าการทดสอบคืออะไรความคิดที่ใช้สิ่งที่กรณีทดสอบคือความเป็นไปได้ของการทดสอบบางสิ่งความเป็นประโยชน์ของการทดสอบบางอย่างขอบเขตของสิ่งที่ควรทดสอบ รหัสครอบคลุม ฯลฯ UPDATE: นอกจากนี้ฉันไม่แน่ใจอย่างสังหรณ์ใจเกี่ยวกับการเชื่อมต่อระหว่างการยืนยันอย่างเป็นทางการกับสิ่งที่ฉันถาม แต่มีการเชื่อมต่อบางอย่างชัดเจน

2
เป็นที่ยอมรับหรือไม่ที่จะอัปโหลดเนื้อหาที่ไม่เหมาะสมไปยัง GitHub [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน4 ปีที่แล้ว ผมพัฒนาตัวตรวจสอบเนื้อหาที่ไม่เหมาะสมสำหรับเว็บไซต์ของฉันและต้องการที่จะเผยแพร่บนGitHub อย่างไรก็ตามซอร์สโค้ดมีเนื้อหาที่น่ารังเกียจการเหยียดผิวและน่ารังเกียจเป็นอย่างมาก แหล่งข้อมูลมีเอกสารครบถ้วน แต่ฉันต้องการความคิดเห็นของคุณว่าจะยอมรับการเผยแพร่งานดังกล่าวบน GitHub หรือไม่หรือปล่อยให้สายอักขระเรียงตามจินตนาการของผู้อ่าน!
12 github  ethics 

4
สลับกับความแตกต่างเมื่อจัดการกับรูปแบบและมุมมอง
ฉันไม่สามารถหาทางออกที่ดีกว่าสำหรับปัญหาของฉัน ฉันมีตัวควบคุมมุมมองที่นำเสนอรายการองค์ประกอบ องค์ประกอบเหล่านั้นเป็นแบบจำลองที่สามารถเป็นตัวอย่างของ B, C, D, ฯลฯ และสืบทอดจาก A. ดังนั้นในตัวควบคุมมุมมองแต่ละรายการควรไปที่หน้าจอที่แตกต่างกันของแอปพลิเคชันและส่งผ่านข้อมูลบางส่วนเมื่อผู้ใช้เลือกหนึ่งในนั้น . ทางเลือกสองทางที่อยู่ในใจของฉันคือ (กรุณาเพิกเฉยไวยากรณ์ไม่ใช่ภาษาที่เฉพาะเจาะจง) 1) สวิตช์ (ฉันรู้ว่า sucks) //inside the view controller void onClickItem(int index) { A a = items.get(index); switch(a.type) { case b: B b = (B)a; go to screen X; x.v1 = b.v1; // fill X with b data …

5
ฉันต้องทราบอะไรเกี่ยวกับเซิร์ฟเวอร์ในบทบาทการพัฒนาเว็บ [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน6 ปีที่ผ่านมา ฉันรู้ว่าอาจฟังดูคลุมเครือเล็กน้อยดังนั้นฉันจะพยายามอธิบายเพิ่มเติมเล็กน้อย ... หลังจากเป็นนักพัฒนาอาชีพอิสระมาหลายปีแล้วตอนนี้ฉันกำลังค้นหาบทบาทผู้พัฒนาเว็บเชิงพาณิชย์ ประสบการณ์เดียวของฉันกับเซิร์ฟเวอร์และโฮสติ้งกำลังอัปโหลดผ่าน FTP และเล่นกับ CPanel / WHM เล็กน้อย บทบาทที่ฉันจะทำคือการพัฒนาเว็บไซต์ด้วย PHP, MySQL, HTML, CSS แต่ในการสัมภาษณ์เมื่อเร็ว ๆ นี้ฉันถูกถามคำถามเกี่ยวกับการติดตั้งสิ่งต่าง ๆ บนเซิร์ฟเวอร์ว่าฉันไม่รู้ว่ากำลังพูดอะไร ... ซึ่งไม่เหมาะ! มันยากที่จะอธิบายสิ่งที่ฉันต้องการจะเรียนรู้ แต่โดยพื้นฐานแล้วมันเป็นเพียงองค์ประกอบของเซิร์ฟเวอร์ที่ฉันควรรู้ในฐานะนักพัฒนาเว็บ? หากคุณเป็นนักพัฒนาเว็บคุณมีข้อตกลงใด ๆ กับเซิร์ฟเวอร์นอกเหนือจากการอัปโหลดไฟล์และหากเป็นเช่นนั้นจะเกิดอะไรขึ้น Subversion (SVN) และระบบควบคุมเวอร์ชันมักถูกตั้งค่าโดยทีมพัฒนาเว็บไซต์หรือไม่นั่นคือสิ่งที่พวกเขากำลังพูดถึงใช่หรือไม่

1
ความสัมพันธ์ระหว่างล่ามเมตาวงกลมเครื่องเสมือนและประสิทธิภาพที่เพิ่มขึ้นคืออะไร
ฉันได้อ่านเกี่ยวกับล่ามเมตาวงกลมบนเว็บ (รวมถึง SICP) และฉันได้ตรวจสอบโค้ดของการใช้งานบางอย่าง (เช่น PyPy และ Narcissus) ฉันได้อ่านเกี่ยวกับสองภาษาค่อนข้างมากซึ่งใช้ประโยชน์จากการประเมิน metacircular, Lisp และ Smalltalk เท่าที่ฉันเข้าใจ Lisp เป็นคอมไพเลอร์โฮสติ้งด้วยตนเองเป็นครั้งแรกและ Smalltalk มีการใช้งาน JIT "จริง" เป็นครั้งแรก สิ่งหนึ่งที่ฉันไม่เข้าใจอย่างสมบูรณ์คือล่าม / คอมไพเลอร์เหล่านั้นจะบรรลุผลการปฏิบัติงานที่ดีได้อย่างไรหรือกล่าวอีกนัยหนึ่งทำไม PyPy จึงเร็วกว่า CPython มันเป็นเพราะการสะท้อน? และจากการวิจัย Smalltalk ของฉันทำให้ฉันเชื่อว่ามีความสัมพันธ์ระหว่าง JIT เครื่องเสมือนและการไตร่ตรอง เครื่องเสมือนเช่น JVM และ CLR อนุญาตการวิพากษ์วิจารณ์ประเภทจำนวนมากและฉันเชื่อว่าพวกเขาใช้งานได้อย่างยอดเยี่ยมในการรวบรวม Just-in-Time (และ AOT ฉันคิดว่า?) แต่เท่าที่ฉันรู้ Virtual Machines นั้นเป็นซีพียูที่พวกเขามีชุดคำสั่งพื้นฐาน Virtual Machines นั้นมีประสิทธิภาพหรือไม่เนื่องจากประกอบด้วยข้อมูลประเภทและข้อมูลอ้างอิง ฉันถามสิ่งนี้เพราะหลายภาษาที่แปลและเรียบเรียงได้ใช้ …

2
การเขียนโปรแกรมการทำงานและอัลกอริทึม stateful
ฉันเรียนรู้การเขียนโปรแกรมการทำงานที่มีHaskell ในขณะเดียวกันฉันกำลังศึกษาทฤษฎีออโตมาตาและในขณะที่ทั้งสองดูเหมือนจะเข้ากันได้ดีฉันจึงเขียนห้องสมุดเล็ก ๆ เพื่อเล่นกับออโตมาตะ นี่คือปัญหาที่ทำให้ฉันถามคำถาม ในขณะที่ศึกษาวิธีประเมินความสามารถในการเข้าถึงของรัฐฉันได้รับแนวคิดว่าอัลกอริทึมแบบเรียกซ้ำง่าย ๆ จะไม่มีประสิทธิภาพมากนักเนื่องจากบางเส้นทางอาจแบ่งปันบางสถานะและฉันอาจจบการประเมินมากกว่าหนึ่งครั้ง ตัวอย่างเช่นที่นี่การประเมินความสามารถในการเข้าถึงของgจากaฉันต้องแยกfทั้งสองขณะตรวจสอบเส้นทางผ่านdและc : ดังนั้นความคิดของฉันก็คืออัลกอริทึมทำงานแบบขนานบนหลาย ๆ พา ธ และอัปเดตบันทึกที่แชร์ของรัฐที่ถูกแยกอาจจะดี แต่นั่นก็มากเกินไปสำหรับฉัน ฉันเคยเห็นว่าในกรณีการเรียกซ้ำง่าย ๆ บางครั้งเราสามารถผ่านสถานะเป็นอาร์กิวเมนต์และนั่นคือสิ่งที่ฉันต้องทำที่นี่เพราะฉันส่งต่อรายชื่อของรัฐที่ฉันได้ผ่านเพื่อหลีกเลี่ยงการวนซ้ำ แต่มีวิธีที่จะส่งผ่านรายการนั้นย้อนกลับเช่นกลับใน tuple พร้อมกับผลบูลีนของcanReachฟังก์ชั่นของฉันได้อย่างไร (แม้ว่าจะรู้สึกว่าถูกบังคับเล็กน้อย) นอกจากความถูกต้องของตัวอย่างคดีของฉันแล้วยังมีเทคนิคอื่นใดอีกบ้างที่สามารถใช้แก้ปัญหาแบบนี้ได้อีก? ฉันรู้สึกเหมือนเหล่านี้จะต้องมากพอที่พบว่ามีจะต้องมีการแก้ปัญหาเช่นสิ่งที่เกิดขึ้นด้วยหรือfold*map จนถึงตอนนี้การอ่านlearnyouahaskell.comฉันยังไม่พบอะไรเลย แต่ลองคิดดูว่าฉันยังไม่ได้แตะพระเลย ( ถ้าสนใจฉันโพสต์รหัสของฉันในcodereview )

2
อาหารกลางวันฟรีมากกว่าหรือไม่ [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน6 ปีที่ผ่านมา ในบทความThe Free Lunch Is Overจากปี 2005 Herb Sutter ทำนายการปฏิวัติการเขียนโปรแกรมพร้อมกันว่าใหญ่เท่ากับการปฏิวัติเชิงวัตถุ การปฏิวัติครั้งนี้มีความสุขจริงๆในปี 2005 - 2013 หรือไม่? ประเด็นสำคัญในบทความ: ผู้ผลิตหน่วยประมวลผลหมดพื้นที่ด้วยวิธีการแบบดั้งเดิมส่วนใหญ่เพื่อเพิ่มประสิทธิภาพของ CPU แทนที่จะเพิ่มความเร็วสัญญาณนาฬิกาให้สูงขึ้นพวกเขาจะเปลี่ยนไปใช้สถาปัตยกรรมแบบไฮเปอร์เธรดและมัลติคอร์แทน แอปพลิเคชันจะต้องพร้อมกันมากขึ้นหากต้องการใช้ประโยชน์จากปริมาณงานของ CPU อย่างเต็มที่ “ โอ้ประสิทธิภาพไม่สำคัญเท่าไหร่คอมพิวเตอร์ก็เร็วขึ้นเรื่อย ๆ ” คำสั่งจะผิด ประสิทธิภาพและการเพิ่มประสิทธิภาพจะได้รับมากขึ้นไม่น้อยไปกว่าสิ่งสำคัญ ภาษาเหล่านั้นที่ให้ยืมเพื่อการปรับให้เหมาะสมอย่างหนักจะได้พบกับชีวิตใหม่ ผู้ที่ไม่จำเป็นต้องหาวิธีในการแข่งขันและมีประสิทธิภาพมากขึ้นและปรับให้เหมาะสม คาดว่าความต้องการที่เพิ่มขึ้นในระยะยาวสำหรับภาษาและระบบที่มุ่งเน้นประสิทธิภาพ ภาษาและระบบการเขียนโปรแกรมจะถูกบังคับให้จัดการกับการทำงานพร้อมกันมากขึ้น เราจำเป็นต้องมีรูปแบบการเขียนโปรแกรมระดับสูงสำหรับการทำงานพร้อมกันมากกว่าภาษาที่มีให้ในวันนี้

2
อนาคตของโซลูชันที่ใช้ ServiceStack ในบริบทของสิทธิ์ใช้งาน
ฉันแค่อยากให้ใครสักคนชี้แจงคำถามต่อไปนี้เนื่องจาก Demis Bellot ได้ประกาศเมื่อสองสามสัปดาห์ก่อนที่ ServiceStack จะเริ่มทำการค้า อ้างอิงลิงค์ด้านล่าง https://plus.google.com/app/basic/stream/z12tfvoackvnx1xzd04cfrirpvybu1nje54 (โปรดทราบว่าเมื่อฉันพูด ServiceStack หรือ SS ฉันอ้างถึงไลบรารี SS ที่เกี่ยวข้องทั้งหมดเช่น ServiceStack.Text เป็นต้น) หากฉันมีโซลูชันที่พัฒนาแล้วโดยใช้ ServiceStack วันนี้ฉันจะต้องซื้อสิทธิ์ใช้งานเมื่อ SS ไปใช้งานเชิงพาณิชย์แม้ว่าฉันจะไม่อัปเกรดไบนารีของ SS เป็นรุ่นวางจำหน่ายเชิงพาณิชย์ SS รุ่นก่อนหน้า (ก่อนการออกใบอนุญาตเชิงพาณิชย์) จะเป็น opensource เสมอและใช้ใบอนุญาตเดิมเหมือนก่อนหรือไม่ ถ้าฉันแยก SS วันนี้ (ก่อนการออกใบอนุญาตเชิงพาณิชย์) บน Github จะผิดกฎหมายหรือไม่ที่จะคงไว้ซึ่งหลังจาก SS ไปค้าขาย หากคำตอบสำหรับคำถามที่ 2 คือใช่ฉันจะยังสามารถแยกรุ่นก่อนหน้านี้ออกจาก SS หลังจากโฆษณาได้โดยไม่ต้องกังวลเกี่ยวกับสิทธิ์การใช้งานเชิงพาณิชย์

6
วิธีการเข้าประชิดงานล้มเหลวเมื่องานมีส่วนร่วมของหลายคน?
ใน บริษัท ของฉันงานเดียวไม่สามารถทำได้โดยคน ๆ เดียว จะมีบุคคลที่แยกต่างหากเพื่อ QA และตรวจสอบรหัสแต่ละงาน สิ่งนี้หมายความว่าแต่ละคนจะให้การประเมินของพวกเขาต่องานว่าจะใช้เวลาเท่าไหร่ในการทำให้เสร็จสมบูรณ์ ปัญหาคือฉันจะเข้าใกล้เผาไหม้ได้อย่างไร? หากฉันรวมชั่วโมงเข้าด้วยกันให้ถือว่าการประมาณการต่อไปนี้: 10 ชั่วโมง - เวลาการปรับปรุง 4 ชม. - QA 4 ชม. - ตรวจสอบรหัส ประมาณการงาน = 18 ชม ในตอนท้ายของแต่ละวันฉันขอให้งานได้รับการอัปเดตด้วย "เหลือเวลาเท่าไหร่จนกว่าจะเสร็จ" อย่างไรก็ตามแต่ละคนโดยทั่วไปเพียงแค่คิดเกี่ยวกับส่วนของพวกเขา พวกเขาควรจะทำเครื่องหมายความพยายามที่เหลืออยู่และจากนั้นเพิ่มความพยายามประมาณว่า พวกคุณเป็นยังไงบ้าง UPDATE เพื่อช่วยอธิบายสิ่งเล็ก ๆ น้อย ๆ ที่องค์กรของฉันแต่ละงานในเรื่องราวต้องใช้ 3 คน ใครบางคนในการพัฒนางาน (ทำการทดสอบหน่วย ฯลฯ ... ) ผู้เชี่ยวชาญด้านคุณภาพเพื่อตรวจสอบงาน (โดยหลักแล้วพวกเขาจะทำการทดสอบการรวมและการถดถอย) ฝ่ายเทคนิคนำไปสู่การตรวจสอบโค้ด ฉันไม่คิดว่าจะมีวิธีที่ผิดหรือถูกวิธี แต่นี่เป็นวิธีของเรา …
12 agile  scrum 

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