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

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

4
ฉันต้องทนทุกข์ทรมานจากการห่อหุ้มมากเกินไป?
ฉันสังเกตเห็นบางอย่างในรหัสของฉันในโครงการต่าง ๆ ที่ดูเหมือนว่ากลิ่นรหัสให้ฉันและสิ่งที่ไม่ดีที่จะทำ แต่ฉันไม่สามารถจัดการกับมัน ในขณะที่พยายามเขียน "รหัสสะอาด" ฉันมักจะใช้วิธีส่วนตัวมากเกินไปเพื่อให้อ่านรหัสได้ง่ายขึ้น ปัญหาคือรหัสนั้นสะอาดกว่า แต่ก็ยากกว่าในการทดสอบ (ใช่ฉันรู้ว่าฉันสามารถทดสอบวิธีการส่วนตัว ... ) และโดยทั่วไปดูเหมือนว่านิสัยที่ไม่ดีสำหรับฉัน นี่คือตัวอย่างของคลาสที่อ่านข้อมูลบางอย่างจากไฟล์. csv และส่งคืนกลุ่มลูกค้า (วัตถุอื่นที่มีเขตข้อมูลและแอตทริบิวต์ต่าง ๆ ) public class GroupOfCustomersImporter { //... Call fields .... public GroupOfCustomersImporter(String filePath) { this.filePath = filePath; customers = new HashSet<Customer>(); createCSVReader(); read(); constructTTRP_Instance(); } private void createCSVReader() { //.... } private void …

2
รองรับหลายภาษาใน PHP, วิธีปฏิบัติที่ดีที่สุดหรือ?
ฉันกำลังแปลแอปพลิเคชัน php ของฉันให้เป็นภาษาท้องถิ่น ฉันมีปัญหาในการเลือกวิธีที่ดีที่สุดในการบรรลุเป้าหมายเดียวกัน วิธีที่ 1: ขณะนี้กำลังจัดเก็บคำที่จะแปลในอาร์เรย์ในไฟล์ php <?php $values = array ( 'welcome' => 'bienvenida' ); ?> ฉันใช้ฟังก์ชันเพื่อแยกและคืนแต่ละคำตามความต้องการ วิธีที่ 2: ฉันควรใช้ไฟล์ txt ที่จัดเก็บสตริงเหมือนกันหรือไม่ <?php $welcome = 'bienvenida'; ?> คำถามของฉันเป็นวิธีที่ดีกว่าในแง่ของความเร็วและความพยายามในการพัฒนาแบบเดียวกันและเพราะเหตุใด แก้ไข: ฉันต้องการทราบว่าวิธีใดในสองวิธีที่เร็วกว่าในการตอบสนองและทำไมจึงเป็นเช่นนั้น นอกจากนี้การปรับปรุงใด ๆ ในรหัสข้างต้นจะได้รับการชื่นชม !!
11 php  localization 

6
“ องค์กร” หมายถึงอะไรที่เกี่ยวข้องกับสถาปัตยกรรมซอฟต์แวร์?
ฉันเห็นคำว่า "องค์กร" ถูกขว้างไปรอบ ๆ นักพัฒนาซอฟต์แวร์และโปรแกรมเมอร์จำนวนมากและใช้อย่างอิสระดูเหมือนว่า en ·ตรี·รางวัล / entərˌprīz / คำนาม: โครงการหรือการดำเนินการโดยทั่วไปเป็นโครงการที่ยากหรือต้องใช้ความพยายาม ความคิดริเริ่มและความมั่งคั่ง มีใครช่วยอธิบายให้ชัดเจนว่าเทอมนี้ครอบคลุมจริงหรือไม่ "ที่ระดับองค์กร" "ระดับองค์กร" หรือไม่ มีแม้กระทั่ง "รุ่นองค์กร" ของสิ่งต่าง ๆ มันหมายความว่าอะไรกันแน่? เห็นได้ชัดว่ามันไม่สมเหตุสมผลที่จะตัดสินโดยคำจำกัดความข้างต้นดังนั้นโดยเฉพาะอย่างยิ่งกับซอฟต์แวร์สิ่งหนึ่งหมายความว่าอย่างไรเมื่อใช้คำว่า enterprise แก้ไข: หากต้องการเพิ่มสปินเกี่ยวกับสิ่งนี้ - คำนี้จะพอดีกับวลีเช่น Enterprise Framework Model อย่างไร การเข้าถึงข้อมูลและบริบทข้อมูลเกี่ยวข้องกับคำอธิบายทั่วทั้ง บริษัท อย่างไร

6
ข้อดีของเมนเฟรมคืออะไร [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังว่าคำตอบจะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจเรียกร้องให้มีการอภิปรายโต้แย้งโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน8 ปีที่ผ่านมา ข้อเสียของเมนเฟรมคือพื้นดี ราคาแพงมรดกชุมชนลดน้อยลง ฯลฯ ฉันไม่สนใจข้อเสียโดยเฉพาะอย่างยิ่ง แต่ฉันอยากรู้ว่ามีประโยชน์ใด ๆ กับฮาร์ดแวร์ / ซอฟต์แวร์เมนเฟรมในสภาพแวดล้อมของ Intel / AMD & Linux / Windows ปัจจุบัน ฉันได้รับแจ้งว่า MFs นั้นดีมาก (และดีกว่าเซิร์ฟเวอร์ปัจจุบัน) ที่โหลด I / O จำนวนมาก สิ่งนี้ยังคงเป็นจริงหรือไม่?
11 legacy  mainframe 

3
เวิร์กโฟลว์ GIT ผู้พัฒนาเดี่ยว (ย้ายจาก FTP ตรงไปตรงมา)
ฉันกำลังพยายามตัดสินใจว่าการย้ายไปที่ VCS นั้นสมเหตุสมผลหรือไม่สำหรับฉัน ฉันเป็นผู้พัฒนาเว็บไซต์เดียวในองค์กรขนาดเล็ก (5 คน) ฉันกำลังคิดถึง VCS (Git) ด้วยเหตุผลเหล่านี้: การควบคุมเวอร์ชันการสำรองนอกสถานที่การเก็บรหัสส่วนกลาง (สามารถเข้าถึงได้จากที่บ้าน) ในขณะนี้ฉันทำงานบนเซิร์ฟเวอร์ที่ใช้งานจริงโดยทั่วไป ฉัน FTP เข้าทำการแก้ไขและบันทึกจากนั้นอัปโหลดและรีเฟรช โดยปกติแล้วการแก้ไขจะเป็นไฟล์ธีม / ปลั๊กอินสำหรับ CMSes (เช่น concrete5 หรือ Wordpress) ใช้งานได้ดี แต่ไม่มีการสำรองข้อมูลและไม่มีการควบคุมเวอร์ชัน ฉันสงสัยว่าวิธีที่ดีที่สุดในการรวม VCS เข้ากับกระบวนการนี้ ฉันจะมองเห็นการตั้งค่าเซิร์ฟเวอร์ Git บนเว็บเซิร์ฟเวอร์ของ บริษัท แต่ฉันไม่ชัดเจนว่าจะผลักดันการเปลี่ยนแปลงไปยังบัญชีลูกค้า (ปกติ VPSes บนเซิร์ฟเวอร์เดียวกัน) - ตอนนี้ฉันเพียงเข้าสู่ SFTP ด้วยรายละเอียดและสร้าง การเปลี่ยนแปลงโดยตรง ฉันยังไม่แน่ใจว่าอะไรเป็นตัวแทนพื้นที่เก็บข้อมูลอย่างสมเหตุสมผล - เว็บไซต์ของลูกค้าแต่ละรายจะได้รับพื้นที่เก็บข้อมูลของตนเองหรือไม่ ข้อมูลเชิงลึกหรือประสบการณ์ใด ๆ จะเป็นประโยชน์จริงๆ ฉันไม่คิดว่าฉันต้องการพลังเต็มที่ของ Git …

4
ออกแบบในภาษา“ แบบผสม”: การออกแบบเชิงวัตถุหรือการโปรแกรมเชิงฟังก์ชันหรือไม่?
ในช่วงไม่กี่ปีที่ผ่านมาภาษาที่ฉันชอบใช้นั้นเพิ่มมากขึ้น ตอนนี้ฉันใช้ภาษาที่เป็น "ลูกผสม": C #, F #, Scala ฉันชอบที่จะออกแบบแอปพลิเคชันของฉันโดยใช้คลาสที่สอดคล้องกับวัตถุโดเมนและใช้คุณสมบัติการทำงานที่ทำให้การเขียนรหัสง่ายขึ้นตรงและปลอดภัยยิ่งขึ้น (โดยเฉพาะอย่างยิ่งเมื่อทำงานกับคอลเลกชัน อย่างไรก็ตามทั้งสองโลก "ปะทะกัน" เมื่อมาถึงรูปแบบการออกแบบ ตัวอย่างเฉพาะที่ฉันเผชิญเมื่อเร็ว ๆ นี้คือรูปแบบการสังเกตการณ์ ฉันต้องการให้ผู้ผลิตแจ้งรหัสอื่น ๆ ("ผู้บริโภค / ผู้สังเกตการณ์" พูดที่เก็บข้อมูล DB ตัวบันทึกและอื่น ๆ ) เมื่อรายการถูกสร้างหรือเปลี่ยนแปลง ตอนแรกฉันทำมัน "ตามหน้าที่" เช่นนี้: producer.foo(item => { updateItemInDb(item); insertLog(item) }) // calls the function passed as argument as an item is processed แต่ตอนนี้ฉันสงสัยว่าฉันควรใช้วิธีการ "OO" …

1
รูปแบบ UI ในภาษาที่ใช้งานได้
ฉันต้องการเริ่มเล่นซอกับ ClojureScript แต่ฉันสับสนเกี่ยวกับบางจุด ปัญหาของฉันคือวิธีที่ดีในการจัดการกับการเปลี่ยนแปลงสถานะที่มาจากการโต้ตอบของผู้ใช้เมื่อคุณพยายามทำงานตามหน้าที่ ขอยกตัวอย่างสักสองสามข้อ ฉันมีแอปพลิเคชันในใจที่ทำงานในเบราว์เซอร์ แต่ฉันคิดว่าปัญหานี้เป็นเรื่องทั่วไปมากกว่า แน่นอนว่าบางสิ่งจะเปลี่ยนไป - DOM เป็นอย่างน้อย แต่ฉันต้องการค้นหาวิธีจัดระเบียบรหัสที่เหลือเพื่อทำงานกับโครงสร้างข้อมูลที่เปลี่ยนแปลงไม่ได้ 1) ว่าฉันต้องการแนบกิจกรรมบางอย่างกับวัตถุ DOM บางอย่าง นี่ไม่ใช่เรื่องยากที่จะทำในลักษณะที่ใช้งานได้เป็นส่วนใหญ่: เมื่อคุณสร้างโหนดคุณจะแนบแผนที่แฮชกับตัวจัดการเหตุการณ์ต่าง ๆ แต่ให้พิจารณากรณีที่คุณใช้การมอบหมายกิจกรรม จากนั้นเมื่อคุณสร้างโหนดใหม่คุณอาจแนบตัวจัดการเหตุการณ์กับโหนดพาเรนต์ที่อาจมีอยู่แล้ว ดังนั้นคุณจะต้องเปลี่ยนแฮชที่เกี่ยวข้องกับโหนดที่มีอยู่แล้ว 2) สมมติว่าฉันกำลังออกแบบโมดูลเติมข้อความอัตโนมัติสำหรับฟิลด์อินพุต ทุกครั้งที่ผู้ใช้กดปุ่มฉันสามารถโทรหาเซิร์ฟเวอร์เพื่อรับคำแนะนำ มันง่ายมาก แต่ตอนนี้สมมติว่าฉันต้องการปรับให้เหมาะสมเล็กน้อย ถ้าฉันรู้ว่าผลที่ตรงกันทั้งหมดfooมีจุดในการถามอีกครั้งเพื่อให้ได้ผลลัพธ์ที่ตรงกันทั้งหมดไม่มีfoobar; ฉันสามารถกรองอดีต ดังนั้นฉันต้องสร้างแคชบางประเภท แคชนี้จะได้รับการอัปเดตทุกครั้งที่ผู้ใช้แทรกคำใหม่ซึ่งไม่ใช่คำที่ป้อนไว้ก่อนหน้านี้ อีกครั้ง: ฉันจะสร้างแบบจำลองแคชได้อย่างไร วิธีที่สมเหตุสมผลที่สุดดูเหมือนจะเป็นคำการแมปแฮชกับผลลัพธ์ แต่ควรจะไม่แน่นอน คุณสามารถแนะนำรูปแบบบางอย่างที่จะทำให้ง่ายต่อการรวมการเปลี่ยนแปลงเนื่องจากการโต้ตอบกับผู้ใช้ในการออกแบบการทำงาน

3
ฉันสามารถใช้เหตุผลอะไรในการ "ขาย" แนวคิด BDD ให้กับทีมที่ไม่เต็มใจยอมรับมัน
ฉันเป็นแกนนำของวิธีการขับเคลื่อนการพัฒนาพฤติกรรม (BDD) ฉันใช้ BDD มาสองสามปีแล้วและได้ปรับใช้StoryQเป็นกรอบทางเลือกของฉันเมื่อพัฒนาแอพพลิเคชั่น DotNet แม้ว่าฉันได้ทำการทดสอบหน่วยมาหลายปีแล้วและก่อนหน้านี้ได้เปลี่ยนวิธีการทดสอบเป็นครั้งแรก แต่ฉันก็พบว่าฉันได้รับประโยชน์มากขึ้นจากการใช้กรอบการทำงานของ BDD เนื่องจากการทดสอบของฉันจับความต้องการของความต้องการค่อนข้าง ชัดเจนภาษาอังกฤษภายในรหัสของฉันและเนื่องจากการทดสอบของฉันสามารถดำเนินการยืนยันหลายโดยไม่สิ้นสุดการทดสอบครึ่งทาง - หมายถึงฉันสามารถดูว่าการยืนยันที่เฉพาะเจาะจงผ่าน / ล้มเหลวได้อย่างรวดเร็วโดยไม่ต้องแก้จุดบกพร่องเพื่อพิสูจน์มัน นี่เป็นส่วนเล็ก ๆ ของภูเขาน้ำแข็งสำหรับฉันอย่างที่ฉันสังเกตเห็นว่าฉันสามารถดีบักทั้งรหัสทดสอบและการติดตั้งในลักษณะที่ตรงเป้าหมายมากขึ้นด้วยผลลัพธ์ที่ทำให้ประสิทธิภาพการทำงานของฉันเติบโตขึ้นอย่างมีนัยสำคัญ กำหนดได้อย่างง่ายดายว่ามีข้อผิดพลาดเกิดขึ้นที่ใดหากมีปัญหาเกิดขึ้นเพื่อให้สามารถสร้างการรวมได้เนื่องจากเอาท์พุทที่เข้าสู่บันทึกการสร้าง นอกจากนี้ StoryQ api มีไวยากรณ์ที่ไพเราะน่ารักซึ่งง่ายต่อการเรียนรู้และสามารถนำไปใช้ได้หลายวิธีโดยไม่ต้องพึ่งพาภายนอกเพื่อใช้งาน ดังนั้นด้วยผลประโยชน์ทั้งหมดนี้คุณจะคิดว่ามันง่ายที่จะแนะนำแนวคิดให้กับทีมอื่น ๆ น่าเสียดายที่สมาชิกในทีมคนอื่น ๆ ยังลังเลที่จะดู StoryQ เพื่อประเมินมันอย่างถูกต้อง (ให้ความบันเทิงกับความคิดในการใช้ BDD) และเชื่อมั่นซึ่งกันและกันเพื่อลองและลบองค์ประกอบของ StoryQ ออกจากกรอบการทดสอบหลักของเราเอง แม้ว่าในตอนแรกพวกเขาจะสนับสนุนการใช้ StoryQ และแม้ว่ารหัสที่พวกเขาต้องการลบจะไม่ส่งผลกระทบต่อส่วนอื่น ๆ ของระบบการทดสอบของเรา การทำเช่นนั้นจะเป็นการเพิ่มปริมาณงานโดยรวมอย่างมีนัยสำคัญและขัดต่อธัญพืชจริง ๆ เพราะฉันเชื่อมั่นในประสบการณ์จริงว่าเป็นวิธีที่ดีกว่าในการทำงานในลักษณะการทดสอบครั้งแรกในสภาพแวดล้อมการทำงานเฉพาะของเราและสามารถนำไปสู่ การปรับปรุงคุณภาพของซอฟต์แวร์ของเราเนื่องจากฉัน เราพบว่าง่ายต่อการติดกับการทดสอบครั้งแรกโดยใช้ BDD เพื่อชี้แจงเพิ่มเติมส่วนใหญ่ของการทดสอบหน่วยที่เรามีแนวโน้มที่จะค่อนข้างเปราะบางและยากที่จะรักษาเป็นโฮลดิ้งจากปีของการทดสอบที่ใช้ไม่ดีที่ไม่เต็มใจที่จะยึดติดกับกระบวนการทดสอบขับเคลื่อนได้เห็นนักพัฒนาถอยกลับ ทำการทดสอบทั้งหมดเมื่อสิ้นสุดโครงการ (บุคคลเดียวกันนี้อ้างว่าเป็น Agile!) …

5
ทำไมชั้นเรียนของฉันถึงแย่กว่าลำดับชั้นของหนังสือ (OOP เริ่มต้น)
ฉันอ่านPHP วัตถุรูปแบบและการปฏิบัติ ผู้เขียนพยายามสร้างแบบจำลองบทเรียนในวิทยาลัย เป้าหมายคือการส่งออกประเภทบทเรียน (การบรรยายหรือการสัมมนา) และค่าใช้จ่ายสำหรับบทเรียนขึ้นอยู่กับว่าเป็นบทเรียนราคาชั่วโมงหรือคงที่ ดังนั้นผลลัพธ์ควรเป็น Lesson charge 20. Charge type: hourly rate. Lesson type: seminar. Lesson charge 30. Charge type: fixed rate. Lesson type: lecture. เมื่ออินพุตเป็นดังนี้: $lessons[] = new Lesson('hourly rate', 4, 'seminar'); $lessons[] = new Lesson('fixed rate', null, 'lecture'); ฉันเขียนสิ่งนี้: class Lesson { private $chargeType; private $duration; …

5
โครงสร้างข้อมูลในการโปรแกรมเชิงฟังก์ชัน
ขณะนี้ฉันกำลังเล่นกับ LISP (โดยเฉพาะ Scheme และ Clojure) และฉันสงสัยว่าโครงสร้างข้อมูลทั่วไปนั้นจัดการกับภาษาโปรแกรมที่ใช้งานได้อย่างไร ตัวอย่างเช่นสมมติว่าฉันต้องการแก้ปัญหาโดยใช้อัลกอริธึมการค้นหาพา ธ กราฟ โดยทั่วไปแล้วเราจะแสดงกราฟนั้นในภาษาโปรแกรมที่ใช้งานได้อย่างไร (โดยหลักแล้วสนใจในรูปแบบการทำงานที่บริสุทธิ์ซึ่งสามารถนำไปใช้กับ LISP) ฉันจะลืมกราฟทั้งหมดและแก้ปัญหาด้วยวิธีอื่นได้ไหม

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

2
ในฐานะ บริษัท ที่ตั้งอยู่ในยุโรปจะสามารถเขียนแอปพลิเคชัน iPad ที่กำหนดเองสำหรับลูกค้าได้หรือไม่?
ลูกค้าของเราต้องการให้เราเขียนแอปพลิเคชันที่กำหนดเองสำหรับเขาว่าเขาสามารถใช้กับไอแพดจำนวนหนึ่งใน บริษัท ของเขา แอปพลิเคชันนี้อาจมีประโยชน์สำหรับลูกค้ารายนี้เท่านั้น (อาจเป็นอีกสองหรือสามคนในอนาคต แต่หลังจากการปรับแต่งเพิ่มเติมเท่านั้น) ฉันอ่านว่าถ้าลูกค้าสมัครเป็นสมาชิกกับVolume Volume Programของ Apple เราสามารถจัดหาแอปพลิเคชัน B2B แบบกำหนดเองให้เขาได้ อย่างไรก็ตามสิ่งนี้ดูเหมือนว่าจะถูก จำกัด ให้กับนักพัฒนาซอฟต์แวร์ในสหรัฐอเมริกา (หรือลูกค้า? หรือทั้งสองอย่าง) ทางเลือกสำหรับนักพัฒนาซอฟต์แวร์ในยุโรป (หรือโดยทั่วไปที่ไม่ใช่ของสหรัฐฯ) และลูกค้าในพื้นที่คืออะไร?

5
ตกลงเพื่อทำซ้ำรหัสสำหรับการทดสอบหน่วยหรือไม่
ฉันเขียนอัลกอริธึมการเรียงลำดับสำหรับการกำหนดชั้นเรียนและฉันยังได้เขียนการทดสอบบางอย่างเพื่อให้แน่ใจว่าอัลกอริทึมนั้นได้ดำเนินการอย่างถูกต้อง การทดสอบของฉันมีความยาวเพียง 10 บรรทัดและมี 3 ในนั้น แต่เพียง 1 บรรทัดที่เปลี่ยนแปลงระหว่าง 3 ดังนั้นจึงมีรหัสซ้ำจำนวนมาก มันจะดีกว่าที่จะ refactor รหัสนี้เป็นวิธีอื่นที่เรียกว่าจากการทดสอบแต่ละครั้งหรือไม่ ฉันจะไม่ต้องเขียนแบบทดสอบอื่นเพื่อทดสอบการเปลี่ยนโครงสร้างหรือไม่? ตัวแปรบางตัวสามารถเลื่อนขึ้นไปถึงระดับคลาสได้ การทดสอบคลาสและวิธีการควรเป็นไปตามกฎเดียวกันกับคลาส / วิธีการปกติหรือไม่ นี่คือตัวอย่าง: [TestMethod] public void MergeSortAssertArrayIsSorted() { int[] a = new int[1000]; Random rand = new Random(DateTime.Now.Millisecond); for(int i = 0; i < a.Length; i++) { a[i] = rand.Next(Int16.MaxValue); } int[] b …

5
การจัดการกับวัฒนธรรมลูกค้า / นักพัฒนาที่ไม่ตรงกันในโครงการเปรียว
หนึ่งในหลักการของความคล่องตัวคือ ... ความร่วมมือกับลูกค้าในการเจรจาต่อรองสัญญา ... อีกอันคือ ... บุคคลและการมีปฏิสัมพันธ์เหนือกระบวนการและเครื่องมือ แต่วิธีที่ฉันเห็นมันอย่างน้อยก็เมื่อพูดถึงการมีปฏิสัมพันธ์กับลูกค้ามีปัญหาพื้นฐาน: ความคิดเห็นของลูกค้าแตกต่างจากที่วิศวกรคิดอย่างไร นั่นอาจเป็นเรื่องทั่วๆไปใช่ เนื้อหาที่มีอยู่โดเมนธุรกิจที่นี้ไม่จำเป็นจริง --- เหล่านี้มีน้อยและไกลระหว่างแม้ว่า ในหลาย ๆ โดเมนลูกค้าทั่วไปคือ: สนใจเรื่องการปฏิบัติงานประจำวัน - กลยุทธ์ระยะสั้น ... ไม่จำเป็นต้องเป็นกลยุทธ์ เข้าใจได้ว่าเกี่ยวข้องกับการแก้ปัญหาเฉพาะหน้าเท่านั้น นักคิดเชิงปฏิบัติไม่ใช่นักคิดเชิงนามธรรม มีความสนใจใน "การทำงานให้สำเร็จ" มากกว่าการพิจารณาว่าโซลูชันจะสนับสนุนข้อกังวลในอนาคตอย่างไร ในทางตรงกันข้ามในอุดมคติวิศวกรซอฟต์แวร์ที่ฝึกฝนความคล่องตัวคือ: คนที่คิดมากเกี่ยวกับคุณภาพ บุคคลที่ชื่นชมว่าการทำงานตรงไปตรงมาเล็กน้อยสามารถประหยัดตันได้อย่างง่ายดาย นักคิดวิเคราะห์ที่มีประสบการณ์ ดูเหมือนว่าจะมีความแตกต่างทางวัฒนธรรมที่มีแนวโน้มที่จะยับยั้ง "การทำงานร่วมกันของลูกค้า" วิธีที่ดีที่สุดในการแก้ไขปัญหานี้คืออะไร
11 agile 

2
ความแตกต่างระหว่างการทดสอบแบบ Soak และการทดสอบแบบความเครียดคืออะไร
ใครสามารถอธิบายความแตกต่างเกี่ยวกับการทดสอบการแช่และความเครียด ฉัน googled เกี่ยวกับพวกเขาและพบว่าทั้งสองกำลังจะทดสอบซอฟต์แวร์เกินขีด จำกัด ของมัน เหมาะสำหรับกลยุทธ์การทดสอบทั้งสองหรือไม่

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