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

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

4
Google Analytics ด้วยสภาพแวดล้อมที่หลากหลาย
เราวางแผนที่จะใช้ Google Analytics ในองค์กรของเราและฉันรับผิดชอบในการตั้งค่า ฉันสงสัยว่าจะจัดการกับสภาพแวดล้อมที่หลากหลายได้อย่างไร เราแน่ใจว่าไม่ต้องการรวบรวมข้อมูลในระหว่างการพัฒนาและ QA (หรืออาจรวบรวมข้อมูลไปยังบัญชีการวิเคราะห์อื่น) แต่เราต้องการเมื่อไซต์ไปสู่การผลิต (แน่นอน) คุณจัดการกับสภาพแวดล้อมที่หลากหลายและ Google Analytics อย่างไร คุณตั้งค่าหลายบัญชีสำหรับ Google Analytics และใช้อย่างใดอย่างหนึ่งขึ้นอยู่กับสภาพแวดล้อมหรือไม่? เรากำลังใช้ ASP.NET 2.0 ถ้าเป็นเช่นนั้น

2
SCRUM ตั้งแต่เริ่มต้นโดยไม่มีการสร้างเฟรมพื้นฐาน?
เราเป็นกลุ่มเล็ก ๆ 5 คนที่กำลังจะเริ่มโครงการใหม่ นี่เป็นโครงการแรกที่เราจะเข้าร่วมการต่อสู้ เรากำลังดิ้นรนเล็กน้อยกับวิธีที่เราจะสร้างฐานสำหรับโครงการ (กรอบและสิ่งที่คล้ายกัน) งานดังกล่าวไม่ใช่สิ่งที่ผู้ใช้จะได้รับประโยชน์โดยตรงดังนั้นเราจึงมีเวลายากในการหาวิธีที่เราเขียนเรื่องราวของผู้ใช้สำหรับมัน ดังนั้นโดยทั่วไปแล้วคุณใช้ scrum อย่างไรเมื่อคุณเริ่มต้นโครงการตั้งแต่เริ่มต้นโดยไม่มีเฟรมเวิร์กและไม่มีไลบรารีฐานอยู่

3
ข้อบกพร่องที่สามารถหลีกเลี่ยงได้ด้วยมาตรฐานการเข้ารหัส [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน5 ปีที่ผ่านมา ฉันกำลังมองหาสถิติ (หรือการประมาณค่า) ที่สำรองการอ้างว่ามาตรฐานการเข้ารหัสช่วยลดข้อบกพร่อง ตัวเลขยากจะดีแม้ว่าฉันจะไม่ได้มองหาอะไรมาก ฉันเคยดูการติดตามบั๊กสำหรับโครงการโอเพนซอร์สต่าง ๆ แต่ก็ไม่ประสบความสำเร็จในการค้นหาสิ่งที่ฉันต้องการ มีใครที่รู้สถานที่ใดบ้างที่ฉันอาจพบเจอ หรือคุณมีส่วนร่วมในโครงการโอเพนซอร์ซที่มีข้อผิดพลาดที่อาจหลีกเลี่ยงได้ด้วยมาตรฐานการเข้ารหัสที่ดีขึ้นหรือไม่?

9
ฉันจะจับตาดูนักแปลอิสระระยะไกลได้อย่างไร? [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Software Engineering Stack Exchange ปิดให้บริการใน8 ปีที่ผ่านมา ฉันจ้างนักพัฒนาหลายคนจากที่ต่างๆทั่วโลก ทุกอย่างเป็นไปด้วยดี แต่ฉันเห็นว่ามีบางคนกำลังดูถูกเหยียดหยามเมื่อเร็ว ๆ นี้ พวกเขาทั้งหมดได้รับการว่าจ้างเต็มวัน อย่างไรก็ตามฉันเห็นว่าหลังจากผ่านไป 5 ชั่วโมงต่อวันก็ไม่ได้ทำอะไรมากมาย ฉันกำลังพิจารณาที่จะพัฒนาซอฟต์แวร์ที่จะจับภาพหน้าจอของหน้าจอคอมพิวเตอร์ทุก ๆ 1-5 นาทีและอัปโหลดไปยังระบบของฉัน อย่างไรก็ตามนี่จะเป็นสุดขั้ว คนทั่วไปจะจัดการนักพัฒนาระยะไกลได้อย่างไร

9
ของแข็งกับวิธีคงที่
นี่คือปัญหาที่ฉันพบบ่อย: ให้มีโครงการร้านค้าบนเว็บที่มีระดับสินค้า ฉันต้องการเพิ่มคุณสมบัติที่อนุญาตให้ผู้ใช้โพสต์คำวิจารณ์ไปยังผลิตภัณฑ์ ดังนั้นฉันมีคลาสรีวิวซึ่งอ้างอิงผลิตภัณฑ์ ตอนนี้ฉันต้องการวิธีการที่แสดงความเห็นทั้งหมดในผลิตภัณฑ์ มีความเป็นไปได้สองอย่าง: (A) public class Product { ... public Collection<Review> getReviews() {...} } (B) public class Review { ... static public Collection<Review> forProduct( Product product ) {...} } จากการดูรหัสฉันเลือก (A): มันไม่คงที่และไม่ต้องการพารามิเตอร์ อย่างไรก็ตามฉันรู้สึกว่า (A) ละเมิดหลักการความรับผิดชอบเดี่ยว (SRP) และหลักการเปิด (OCP) ในขณะที่ (B) ไม่: (SRP) เมื่อฉันต้องการเปลี่ยนวิธีการรวบรวมความเห็นสำหรับผลิตภัณฑ์ฉันต้องเปลี่ยนระดับสินค้า แต่ควรมีเหตุผลเพียงประการเดียวว่าทำไมต้องเปลี่ยนระดับผลิตภัณฑ์ และนั่นไม่ใช่ความคิดเห็นอย่างแน่นอน หากฉันบรรจุคุณลักษณะทุกอย่างที่มีบางอย่างเกี่ยวกับผลิตภัณฑ์ไว้ใน Product …

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

4
ต่อสู้เพื่อทีมผู้เชี่ยวชาญ
การต่อสู้ที่ดีที่สุดสำหรับทีมที่มีสมาชิก generalists นั่นคือทีมที่อย่างน้อย 2 คนสามารถทำงานเดียวกันได้ ความกังวลหลักของฉันคือการหาทางออกที่ดีในการปรับการทะเลาะกัน (สิ่งที่ต้องรักษาสิ่งที่ต้องกำจัดสิ่งที่ต้องปรับปรุง) สำหรับทีมที่ทำโดยผู้เชี่ยวชาญ สมมติว่าคุณมีทีมนักพัฒนา 5 คน (ไม่ใช่ของจริงสำหรับตัวอย่าง): นักคณิตศาสตร์หนึ่งคนที่มีทักษะสูงใน C; นักพัฒนา DB หนึ่งคน นักพัฒนาเว็บเดียว ผู้พัฒนา UX / GUI หนึ่งราย สถาปนิกซอฟต์แวร์หนึ่งคน ที่นี่ทั้งหมดเป็นผู้เชี่ยวชาญและไม่มีใครสามารถแทนที่คนอื่น (ฉันไม่สนใจเกี่ยวกับความเสี่ยงของการสร้างทีมดังกล่าวฉันต้องการมุ่งเน้นไปที่การต่อสู้) ดังนั้นในบริบทการต่อสู้นี่คือความคิดของฉัน: การวางแผนในฤดูใบไม้ผลิที่ไร้ประโยชน์:แน่นอนเมื่อนักคณิตศาสตร์บอกว่างานที่เฉพาะเจาะจงมีค่า 2 คะแนนไม่มีใครสามารถโหวตเขาได้ การวัดความเร็วของทีมที่ไร้ประโยชน์:เนื่องจากทุกคนสามารถจัดสรรคะแนนจำนวนใดก็ได้ให้กับงานของเขาการคำนวณความเร็วนั้นไม่สมเหตุสมผล แทนที่การประชุมทะเลาะกันประจำวันด้วยการประชุมทะเลาะกันรายสัปดาห์ (อีกต่อไป):เนื่องจากสมาชิกแต่ละคนในทีมกำลังทำงานของตัวเองการประชุมทะเลาะกันประจำวันจึงเป็นสิ่งสำคัญที่จะต้องรักษา "การทำงานเป็นทีม" อย่างไรก็ตามการประชุมการต่อสู้ในชีวิตประจำวันจะใช้เวลาประมาณ 15 นาที ชัดเจนว่าไม่เพียงพอที่จะเข้าใจในสิ่งที่คนอื่นทำและจะทำ ยิ่งไปกว่านั้นนักคณิตศาสตร์ส่วนใหญ่จะตอบในสิ่งเดียวกัน: "ฉันยังคงทำ% & Lo (+? $$ + &)" ... การประชุมประจำสัปดาห์จะให้เวลามากขึ้น เพื่อให้เวลาการประชุมเดียวกันระหว่างการประชุมการประชุม "เริ่มต้น" …
11 agile  scrum 

2
ตัวเลือกของฉันสำหรับการทำสคริปต์แซนด์บ็อกซ์ฝั่งเซิร์ฟเวอร์คืออะไร? [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน4 ปีที่แล้ว ฉันกำลังสร้างเว็บไซต์สาธารณะที่ผู้ใช้แบ่งปันข้อมูลและสคริปต์เพื่อเรียกใช้ข้อมูลบางอย่าง สคริปต์ถูกเรียกใช้เซิร์ฟเวอร์ในแซนด์บ็อกซ์บางประเภทโดยไม่มีการโต้ตอบอื่นรอบนี้: โปรแกรม Perl ของฉันอ่านจากฐานข้อมูลที่ผู้ใช้ทำสคริปต์เพิ่มข้อมูลที่จะประมวลผลลงในสคริปต์ (เช่น: เอกสาร JSON) จากนั้นเรียกล่าม ส่งกลับการตอบสนอง (เอกสาร JSON หรือข้อความธรรมดา) ฉันบันทึกลงในฐานข้อมูลด้วยสคริปต์ของฉัน สคริปต์ควรจะสามารถเข้าถึงฟังก์ชันในตัวที่เพิ่มเข้ามาในภาษาสคริปต์ได้ด้วยตัวเอง แต่ไม่มีอะไรเพิ่มเติม ดังนั้นฉันจึงได้พบกับ node.js ในฐานะล่ามจาวาสคริปต์และและอีกหลายชั่วโมงก่อนหน้านี้กับ Google V8 (v8 เหมาะสมกับสิ่งนี้หรือไม่) CoffeeScript ก็เข้ามาในใจของฉันเพราะมันดูดีและยังคงเป็นจาวาสคริปต์ ฉันคิดว่าจาวาสคริปต์นั้นแพร่หลายมากและ "sandboxeable" มากขึ้นเนื่องจากไม่มีการเรียกใช้ระบบปฏิบัติการหรือสิ่งที่ไม่ปลอดภัยจากระยะไกล (ฉันคิดว่า) โดยวิธีการที่ฉันเขียนระบบบน Perl และ Php สำหรับส่วนหน้า เพื่อปรับปรุงคำถาม: ฉันเลือกจาวาสคริปต์เพราะฉันคิดว่าปลอดภัยและเรียบง่ายพอที่จะนำไปใช้กับ node.js แต่มีทางเลือกอื่นอะไรบ้างที่จะทำให้งานนี้สำเร็จ Lua? งูใหญ่? ฉันไม่สามารถหาข้อมูลเกี่ยวกับวิธีการใช้ล่ามแบบ Sandbox ในวิธีที่เหมาะสม

4
เป็นวิธีปฏิบัติที่ดีหรือไม่หากใช้รูปแบบอัตโนมัติของข้อความ
ฉันใช้ Eclipse และฉันจะพูดถึงมันเป็นตัวอย่าง แต่ฉันแน่ใจว่านี่เป็นกรณีใน IDE อื่น ๆ คราสมีCTRL- Shift- Fคำสั่งโดยอัตโนมัติซึ่งรูปแบบรหัสของคุณ เป็นการดีที่จะใช้การจัดรูปแบบเช่นนี้หรือไม่ ฉันถามในบริบทของโครงการขนาดใหญ่ซึ่งอาจมีโปรแกรมเมอร์หลายคนทำงานในไฟล์เดียวกันและทั้งหมดนี้อยู่ภายใต้การดูแลของระบบ CSV ขอบคุณ!

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

8
บันทึกโครงการหรือไดอารี่มีประโยชน์อย่างไร? [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Software Engineering Stack Exchange ปิดให้บริการใน8 ปีที่ผ่านมา ฉันต้องการทราบว่าการใช้บันทึกหรือไดอารี่ของโครงการนั้นมีประโยชน์ / ยากเพียงใด ฉันกังวลว่าการติดตามสิ่งที่ฉันทำจะกินเวลามากเกินไป ...

5
การแชร์โครงการซอฟต์แวร์ - การแก้ไขข้อขัดแย้ง [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังว่าคำตอบจะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจเรียกร้องให้มีการอภิปรายโต้แย้งโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน8 ปีที่ผ่านมา ฉันได้รับมอบหมายให้จัดการโครงการซึ่งเป็นแหล่งที่มาของนักพัฒนายูเครนบางคน บริษัท ได้รับการว่าจ้างให้พวกเขาผ่านElanceในราคาคงที่ ณ จุดนี้เจ้านายของฉันทิ้งฉันไว้ตามลำพังเพื่อจัดการพวกเขาและทำงานให้เสร็จ ฉันสร้างข้อกำหนดรายละเอียดของสิ่งสมบูรณ์ที่จำเป็นต้องทำ โครงการเกี่ยวข้องกับการจัดการกับสิ่งต่าง ๆ เช่น XMPP, RabbitMQ และฐานข้อมูล ในการพบกันครั้งแรก (มักจะเป็น IM) ฉันอธิบายอย่างละเอียดถึงสิ่งที่พวกเขาต้องทำ ดูเหมือนว่าพวกเขาจะเข้าใจ - และพวกเขามั่นใจมากว่าจะทำได้อย่างง่ายดาย จนถึงตอนนี้ดีมาก แต่หลังจากผ่านไปหนึ่งสัปดาห์เมื่อเราพบกันอีกครั้งพวกเขาก็เต็มไปด้วยความเข้าใจผิดเกี่ยวกับสิ่งที่ต้องทำ เมื่อฉันถามหนึ่งในนักพัฒนาว่าเขารู้จัก XMPP หรือไม่เขาบอกว่าเขาทำงานกับมันเป็นครั้งแรก ในการพบกันครั้งแรกของฉันฉันได้กล่าวถึงความซับซ้อนของโครงการและเทคโนโลยีที่เกี่ยวข้องเป็นพิเศษ นอกจากนี้ฉันขอให้พวกเขาเขียนข้อกำหนดการใช้งานซ้ำ ๆว่าพวกเขาจะทำอย่างไร แต่พวกเขาตอบว่าไม่และยืนยันว่าพวกเขาต้องการเขียนรหัส ฉันตอบตกลง โครงการแล้วเสร็จหลังจาก 3 สัปดาห์และส่งมอบสิ่งที่จำเป็น ณ จุดนั้นฉันเริ่มทบทวนรหัส มันก็โอเคสำหรับส่วนใหญ่ แต่มีปัญหาที่สำคัญบางอย่าง: พวกเขาฮาร์ดโค้ดบางสิ่งที่จำเป็นต้องแยกออกเป็นไฟล์กำหนดค่า มีไฟล์กำหนดค่าหลายไฟล์ที่ฉันต้องรวมไว้ในที่เดียว พวกเขาเขียนเอกสารไม่แน่นอน การเปลี่ยนแปลงเล็กน้อยอื่น ๆ ฉันขอให้พวกเขาทำการเปลี่ยนแปลงเหล่านี้ …

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

4
การพัฒนาภาษาแบบไดนามิก
ฉันได้สร้างคอมไพเลอร์เขียนด้วยมือหลายภาษาสำหรับภาษาที่ง่ายมาก แต่ตอนนี้ฉันต้องการลองพัฒนาภาษาไดนามิกเช่นเดียวกับ Python หรือ Ruby แบบง่าย อย่างไรก็ตามมันเป็นเรื่องง่ายสำหรับฉันที่จะคาดศีรษะว่าคอมไพเลอร์ทำงานอย่างไร คอมไพเลอร์ดั้งเดิมเพิ่งแปล แต่ฉันไม่สามารถทำได้ถ้าภาษาเป็นแบบไดนามิก ฉันต้องเขียนล่ามหรือ VM ที่คอยติดตามข้อมูล ณ รันไทม์และทำให้ฉันทำงานได้มากขึ้น ในระยะสั้นมีทรัพยากรใดบ้างที่ฉันควรตรวจสอบเพราะฉันรู้ว่าคอมไพเลอร์ทำงานอย่างไร แต่ต้องการย้ายไปที่การสร้างล่ามหรือไม่ มี VMs บางส่วนสำหรับภาษาไดนามิก แต่ฉันไม่มีปัญหากับการเปิดใช้งานเอง ทั้งหมดนี้เป็นเพียงประสบการณ์ส่วนตัวของฉัน ฉันกำลังหาข้อมูลเกี่ยวกับวิธีการเปลี่ยนจากคอมไพเลอร์เป็นล่าม หากฉันได้รวบรวมคอมไพเลอร์สำหรับภาษา X แล้ว แต่ตอนนี้สิ่งที่ต้องเขียนล่ามสิ่งที่ต้องทำและมีทรัพยากรใดบ้างที่ผ่านกระบวนการนี้ ฉันไม่ต้องการทรัพยากรในวงกว้างหรือที่เป็นนามธรรมซึ่งครอบคลุมการทำงานของคอมไพเลอร์หรือเครื่องเสมือน ฉันมีหนังสือเรียนมากมายในวิชานี้ แหล่งข้อมูลทั้งหมดที่ฉันพบทางออนไลน์ถือว่าคุณมีประสบการณ์ 0 อย่างและทำให้คุณเริ่มต้นด้วยการวิเคราะห์คำหรือวากยสัมพันธ์หรือพวกมันมีความเป็นนามธรรมมาก ฉันมีคอมไพเลอร์ที่ใช้งานได้ แต่ตอนนี้ฉันต้องการเปลี่ยนให้เป็นล่ามและเพิ่มคุณสมบัติแบบไดนามิกให้กับภาษา ฉันไม่พบทรัพยากรในกระบวนการนี้อาจมีข้อ จำกัด ในขอบเขตหรือทรัพยากรใน "แบ็คเอนด์" ของล่ามโดยไม่ต้องมีทฤษฎีมากเกินไปซึ่งเป็นสาเหตุที่ฉันโพสต์ที่นี่

3
การต่อสู้: การจัดการขาดแรงจูงใจ
อ้างอิงจากนี้ "การต่อสู้อย่างมากอาศัยทีมงานที่มีแรงจูงใจสูงทำงานร่วมกันข้ามสายงานและจัดการตนเอง" ดังนั้นคุณจะจัดการกับเพื่อนร่วมงานที่ไม่ได้รับแรงจูงใจในการเป็นเจ้าของรหัสได้อย่างไร คุณทำให้คนที่สนใจเป็นเจ้าของได้อย่างไร
11 scrum  teamwork 

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