คำถามติดแท็ก project-management

การจัดการโครงการเป็นวินัยของการวางแผนการจัดระเบียบการรักษาความปลอดภัยและการจัดการทรัพยากรเพื่อให้บรรลุเป้าหมายที่เฉพาะเจาะจง

6
รักษาเว็บแอปพลิเคชันเมื่อนักพัฒนาซอฟต์แวร์รายเดียวหายไป
ฉันเป็นโรคระยะสุดท้ายและมีโอกาสสูงมากที่ฉันจะไม่อยู่ในโลกนี้อีกต่อไปภายในสิ้นปีนี้ ฉันได้พัฒนาเว็บแอปพลิเคชันที่ใช้อย่างกว้างขวางในธุรกิจของครอบครัวของฉัน (ร้านทำผมเล็ก ๆ ) ไม่มีสมาชิกในครอบครัวของฉันไม่มีการเขียนโปรแกรมหรือทักษะการบริหารระบบ ฉันไม่มีเพื่อนสนิทที่มีทักษะเหล่านั้น ธุรกิจทำกำไรสุทธิได้สูงสุด 10k ต่อปี ในความเป็นจริงผลกำไรทางธุรกิจสามารถจ่ายเงินเดือนของพนักงาน 3 คน (พ่อแม่และน้องสาว) และผู้ที่ค่อนข้างต่ำและลดลงในแต่ละปีเนื่องจากวิกฤตการณ์ทางการเงิน ในความเป็นจริงฉันไม่ได้เป็นพนักงานของธุรกิจครอบครัวฉันทำงานให้กับ บริษัท พัฒนาซอฟต์แวร์ตามปกติ ฉันพัฒนาแอพพลิเคชั่นในช่วงเวลาว่างเพื่อช่วยเหลือพวกเขา จนถึงตอนนี้ฉันไม่สนใจว่าธุรกิจอื่นจะใช้แอปพลิเคชันของฉันหรือแม้ว่าแอปพลิเคชันจะเสียสิทธิ์การเป็นเจ้าของ ฉันต้องการให้ธุรกิจครอบครัวของฉันสามารถใช้งานได้ต่อไปซึ่งหมายถึงการสนับสนุนการดูแลระบบหากมีสิ่งผิดปกติและการพัฒนาสำหรับคุณสมบัติ / ข้อบกพร่องใหม่ ฉันอยากจะถามคุณว่าคุณสามารถให้มาตรการที่คุณคิดว่าฉันสามารถทำได้เพื่อรับประกันความต่อเนื่องของแอปพลิเคชันให้ได้มากที่สุด เทคโนโลยีของแอปพลิเคชันคือ: แพลตฟอร์ม: Tomcat (Java), MySQL และ Linux Frameworks: JPA และ ZK เป็นหลัก

16
ทีมนักพัฒนาต้องการผู้จัดการหรือไม่
พื้นหลัง: ปัจจุบันฉันเป็นส่วนหนึ่งของทีมผู้จัดการ 4 คนนักพัฒนาอาวุโส 1 คนและนักพัฒนา 2 คน เราดำเนินการระบบ / โครงการตามความต้องการภายในองค์กร (เช่น 6-8 สัปดาห์) สำหรับองค์กรที่มีพนักงานประมาณ 3,500 คนรวมถึงการบำรุงรักษาและการสนับสนุนทั้งหมดที่จำเป็นจากระบบที่สร้างขึ้นก่อนหน้านี้ พวกเรามีไม่เพียงพอที่จะทำทุกอย่างที่อาจเป็นไปได้ - เราไม่เข้าใจ ผู้บริหารรับทราบสิ่งนี้ แต่การ จำกัด งบประมาณจำกัดความสามารถของเราในการรับสมัครสมาชิกเพิ่มเติมให้กับทีม (แม้ว่าเราจะทำให้เงินเดือนกลับมาในการออม) การเปลี่ยนแปลง สิ่งนี้ทำให้เราอยู่ที่ไหนตอนนี้ ผู้จัดการของเรามีกำหนดจะออกจากบทบาทของเขาสำหรับทุ่งหญ้าเลี้ยงสัตว์ใหม่ออกจากตำแหน่งในทีม ฝ่ายบริหารกำลังใช้โอกาสนี้ในการปรับโครงสร้างทีมของเราซึ่งจะเห็นบทบาทผู้จัดการทีมที่ถูกแทนที่โดยผู้พัฒนารายอื่นและนักพัฒนาอาวุโสอีกคน ตรรกะของพวกเขาคือเราต้องการนักพัฒนาเพิ่มขึ้นดังนั้นนี่คือวิธีการระดมทุน (บทบาทหนึ่งได้รับเงินทุนบางส่วนจากตำแหน่งว่างอื่น) ทีมจะไม่มีผู้จัดการสายตรงและบทบาทและความรับผิดชอบจะถูกแบ่งออกระหว่างผู้อาวุโสและผู้จัดการฝ่ายบริการ (ที่ค่อนข้างใหม่ในการโพสต์) (บทบาทที่ไม่ใช่ด้านเทคนิคที่มีความรู้ / ประสบการณ์การพัฒนาน้อยมากถึงไม่มีเลย ท่ามกลางทีมอื่น ๆ และบุคคลทั่วไป) - ใครจะเป็นผู้จัดการที่แท้จริงของเราคนต่อไปในห่วงโซ่อาหาร ฉันเดาคำถามสุดท้ายคือ: เป็นไปได้หรือไม่ที่จะเรียกใช้ทีมพัฒนาโดยไม่มีผู้จัดการ คุณเคยมีประสบการณ์นี้ไหม และสิ่งใดที่ผิดพลาด / อาจเป็นประโยชน์กับเรา? ฉันชอบที่จะ "เห็นแสงสว่าง" และประโยชน์ของการทำสิ่งต่าง …

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

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

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

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

14
มีการจัดการฐานรหัสที่ไม่ใช่ OO ขนาดใหญ่เท่าใด
ฉันมักจะเห็นสิ่งที่เป็นนามธรรมเป็นคุณสมบัติที่มีประโยชน์มากที่ OO มีให้สำหรับการจัดการโค้ด แต่จะมีการจัดการฐานรหัสที่ไม่ใช่ OO ขนาดใหญ่ได้อย่างไร หรือว่ากลายเป็น " Big Ball of Mud " ในที่สุด? อัปเดต: ดูเหมือนว่าทุกคนกำลังคิดว่า 'นามธรรม' เป็นเพียงการทำให้เป็นโมดูลหรือการซ่อนข้อมูล แต่ IMHO ก็หมายถึงการใช้ 'Abstract Classes' หรือ 'Interfaces' ซึ่งเป็นสิ่งจำเป็นสำหรับการพึ่งพาการฉีดและการทดสอบ รหัสฐานที่ไม่ใช่ OO จะจัดการสิ่งนี้ได้อย่างไร นอกจากนี้ยังมีสิ่งที่เป็นนามธรรมนอกจากนี้การห่อหุ้มยังช่วยในการจัดการฐานรหัสขนาดใหญ่ในขณะที่มันกำหนดและ จำกัด ความสัมพันธ์ระหว่างข้อมูลและฟังก์ชั่น ด้วย C มันเป็นไปได้มากที่จะเขียนโค้ดหลอก -OO ฉันไม่รู้เกี่ยวกับภาษาที่ไม่ใช่ OO มากนัก เป็นวิธีจัดการฐานรหัส C ขนาดใหญ่หรือไม่

6
คุณใช้เวลาเท่าไหร่ในการทดสอบหน่วย
ใน บริษัท ที่ฉันเคยทำงานให้ผู้บริหารยืนยันว่าการครอบคลุมโค้ดด้วยการทดสอบหน่วยต้องเป็น 99% หรือมากกว่า ส่งผลให้มีการเขียนการทดสอบมากกว่าโค้ด เราใช้เวลา 3 วันในการเขียนแบบทดสอบสำหรับชั้นเรียนเดียวที่ต้องใช้เวลาทั้งวัน อย่างไรก็ตามฉันได้เรียนรู้เกี่ยวกับ TDD เครื่องมือทดสอบแนวปฏิบัติและอื่น ๆ มากมาย ใน บริษัท ที่ฉันทำงานหลังจากนั้นการทดสอบหน่วยเป็นสิ่งที่ไม่รู้จัก มันเป็นสิ่งที่บางคนอาจเคยได้ยินมาก่อน ฉันพยายามที่จะแนะนำให้รู้จักกับแนวคิดของการทดสอบหน่วย แต่ไม่มีผล ตอนนี้เป็นของตนเองผมสงสัย - วิธีการมากเวลามันจำเป็นที่จะต้องใช้จ่ายในการทดสอบหน่วย? การพัฒนาส่วนใหญ่เป็น iPhone / Android ส่วนใดของรหัสที่ควรครอบคลุมในการทดสอบ

9
ฉันมีความคิดที่ผิดเกี่ยวกับวิศวกรรมซอฟต์แวร์หรือไม่? [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้จะเรียกร้องให้มีการอภิปรายโต้แย้งโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน7 ปีที่ผ่านมา ฉันมีคำถามที่ถูกยกขึ้นโดยงานล่าสุดของฉัน (ค่อนข้างฝึกงาน) เพียงแค่นำสิ่งต่าง ๆ เข้าสู่บริบท - ฉันอายุ 21 ปีและฉันเรียนจบมหาวิทยาลัยปีที่ 2 ก่อนหน้านี้ว่าฉันมีประสบการณ์ในการทำงานกับผู้ดูแลระบบ / QA ประมาณ 2 ปีและโดยทั่วไปฉันสามารถพูดได้ว่าฉันเห็นความแตกต่าง ดำเนินการภาคไอที ส่งต่อให้เวลาและนี่คือฉันเชื่อมโยงไปถึงงานฝึกงานที่หนึ่งในสถาบันการวิจัยชั้นนำในสหราชอาณาจักร สิ่งที่ฉันต้องทำคือสร้างเครื่องมือภายในบางอย่างโดยใช้การผสมผสานของเทคโนโลยี - ส่วนใหญ่คือ AWS / Java / Bash - คุณจะได้ภาพ ทุกอย่างโอเคฉันทำงานของฉัน แต่ฉันไม่มีความสุข ทำไม - เพราะฉันคาดว่าจะทำงานในเรื่องโฆษณา นั่นคือการสร้างสิ่งต่าง ๆ ได้อย่างรวดเร็วโดยไม่ต้องใช้เวลาในการออกแบบ ผู้จัดการของฉันบอกอย่างชัดเจนว่ามันคาดว่าจะ "เร่งด่วน" ผ่านปัญหาที่เกิดขึ้นและพวกเราก็สำคัญ ผลก็คือปรากฎว่าสิ่งที่จะต้องทำใหม่และวิศวกรอีกครั้งและพวกเขายังไม่สมบูรณ์ เท่าที่เกี่ยวข้องกับการทดสอบ - …

11
จะทำอย่างไรเมื่อการประมาณเวลาผิดพลาด
สมมติว่าคุณประเมินเวลาสำหรับกรณีเป็น 3 วัน ในวันที่สองคุณสังเกตเห็นว่าคดีนี้กำลังเติบโตและสถานการณ์ใหม่กำลังโผล่ขึ้นมาซึ่งไม่ได้ถูกนับเมื่อการประมาณเวลาเสร็จสิ้น การค้นพบใหม่นำไปสู่การเพิ่มอีก 2 วัน (รวม 5 วัน) นี่เป็นปัญหาทั่วไปที่คุณจะต้องเผชิญไม่ช้าก็เร็วในฐานะนักพัฒนาซอฟต์แวร์ กลยุทธ์ใดที่สามารถใช้เมื่อคุณจะแจ้งหัวหน้าโครงการถึงเวลาใหม่ในการจัดส่ง บ่อยครั้งที่คุณได้รับคำถามว่าทำไม คุณกระตุ้นเวลาการส่งมอบใหม่อย่างไร ความจริงก็คือโครงการจำนวนมากไม่ต้องใช้เวลามากในการวิเคราะห์และออกแบบในระหว่าง SDLC แก้ไข: ในโครงการที่ซับซ้อนมากไม่ว่าคุณจะใช้เวลาในการวิเคราะห์และออกแบบมานานเท่าไหร่ก็มีความประหลาดใจอยู่เสมอเนื่องจากกฎเกณฑ์ทางธุรกิจนั้นซับซ้อนเกินไป อย่างไรก็ตามในกรณีเช่นนี้ฉันเชื่อว่าหัวหน้าโครงการจะต้องตระหนักถึงความซับซ้อนและมีทัศนคติที่ถูกต้องเมื่อมีเรื่องประหลาดใจที่ไม่คาดคิดเกิดขึ้น คำถามคือวิธีจัดการกับผู้นำโครงการที่ไม่เข้าใจความซับซ้อน

6
วิธีแก้ไขโครงการที่ไม่มีโครงสร้างโดยทั่วไป
ฉันทำงานเกี่ยวกับโปรเจคซอฟต์แวร์เป็นส่วนใหญ่มานานกว่า 5 ปีแล้ว มันเป็นความยุ่งเหยิงที่จะเริ่มต้นด้วย (ฉันเป็นนักพัฒนาที่สามหรือสี่ที่จะทำงานกับมัน) และแม้ว่ามันจะเป็นระเบียบน้อยกว่าตอนนี้มันยังคงไม่เป็นระเบียบ อัตราความคืบหน้าในการควบคุมมันเป็นน้ำแข็งและฉันเริ่มรู้สึกท้อแท้กับสถานะที่มันเข้ามาฉันจะเริ่มแก้ไขได้อย่างไร ข้อมูลเฉพาะของโครงการ: เป็นโปรแกรมการขายที่เขียนขึ้นเกือบทั้งหมดใน Visual Basic Classic (VB6) ที่มีแบ็คเอนด์ MySQL และเครื่องมือการรายงานที่เขียนใน C # โมดูลการรายงาน C # นั้นมีความสุขที่ได้ทำงานมันเป็นเพียงการเขียนในช่วงสองสามปีที่ผ่านมาและก่อนหน้านั้นรายงานทั้งหมดได้ทำใน Crystal Reports 9 (ใช่เรายังมีรายงานบางส่วนที่ต้องใช้) อย่างไรก็ตามโปรแกรมจริงนั้นเป็นหายนะที่สมบูรณ์ มีทั้งหมด LOC ค่อนข้างไม่เกิน 90k และความคิดเห็นประมาณ 10k บรรทัด (ส่วนใหญ่ไม่ใช่เอกสาร แต่เป็นรหัสเก่าที่แสดงความคิดเห็น) 158 ไฟล์ฟอร์มและ 80 ไฟล์โมดูล ฉันไม่ทราบเลยว่ามีการใช้งานจริงกี่รายการเพราะคุณสมบัติบางอย่างของโปรแกรมนั้นถูกคัดค้านและ (เอ่อบางครั้ง) ตั้งข้อสังเกตเช่นนี้โดยไม่ต้องลบรหัสที่เกี่ยวข้องออกจากโปรแกรม ฉันเดาว่ารหัส 50% เท่านั้นที่ใช้งานได้จริง ฉันกลัวที่จะสัมผัสรหัสจำนวนมากเพียงเพราะฉันไม่แน่ใจว่าฉันทำลายสิ่งที่ลูกค้าที่ไม่ชัดเจนคนใดคนหนึ่งต้องพึ่งพามันเกิดขึ้นในหลายครั้งเกินกว่าที่ฉันจะนับได้ มันเหมือนกับว่ามีทุ่นระเบิดเกลื่อนกลาดอยู่ทั่วทั้งรหัส ไม่มีโครงสร้างใด ๆ …

13
เหตุใดการเพิ่มบุคคลเพิ่มเติมในโปรเจ็กต์ล่าช้าจึงทำได้ในภายหลัง
มันเป็นภาษิตที่ใช้กันทั่วไปว่าการเพิ่มโปรแกรมเมอร์มากขึ้นไปยังโปรเจ็กต์ล่าช้าจะทำให้เรื่องแย่ลง ทำไมนี้

10
วิธีเพิ่มนักพัฒนาใหม่ให้กับทีม
ฉันเป็น บริษัท เล็ก ๆ ที่ประกอบไปด้วยนักพัฒนาเพียง 2 คน เรากำลังสร้างแอปพลิเคชันขนาดใหญ่มากสำหรับลูกค้าของเรา การพัฒนาในโครงการนี้ดำเนินต่อไปเป็นเวลา 1.5 ปี ตอนนี้ลูกค้ารายนี้มีหลักประกันสปอนเซอร์ที่สำคัญและพวกเขากำลังจัดกิจกรรมที่เกี่ยวข้องกับโครงการนี้ ดังนั้นตอนนี้เรามีกำหนดส่งภายใน 2 เดือนและเราไม่ควรพลาด เรากำลังคิดที่จะเพิ่มนักพัฒนาใหม่ให้กับทีมและฉันสงสัยว่าเราสามารถทำอะไรได้บ้างเพื่อช่วยให้เขาทำงานร่วมกัน นี่คือสถานการณ์: เรากำลังเข้าใกล้เกณฑ์ของกฎหมายของ Brooks - จุดที่เพิ่มนักพัฒนาใหม่จะเป็นการต่อต้าน แอปพลิเคชันค่อนข้างออกแบบมาอย่างดี แต่การใช้งานนั้นไม่เป็นระเบียบในบางจุด (โดยเฉพาะโค้ดที่เก่ากว่า) มีการทดสอบหน่วยสำหรับรหัสล่าสุดเท่านั้น เมื่อโครงการนี้เริ่มต้นเราไม่ได้ทำการทดสอบเป็นประจำ เอกสารและความคิดเห็นไม่สมบูรณ์ แอปพลิเคชั่นมีทั้งขนาดใหญ่และซับซ้อน ลูกค้าเขียนรายละเอียดเกี่ยวกับโครงการของเขาเกือบทุกอย่างอย่างชัดเจนและ "เป็นมิตรกับโปรแกรมเมอร์" เป็นความคิดที่ดีที่จะเพิ่มคนตอนนี้หรือไม่? ถ้าเป็นเช่นนั้นเราจะทำอะไรได้บ้างเพื่อช่วยให้นักพัฒนาใหม่รวมเข้ากับทีม? แก้ไข: สปอนเซอร์กำลังจัดการแข่งขันกีฬาทางอินเทอร์เน็ตสำหรับฤดูใบไม้ผลิหน้า มันจะต้องเริ่มในวันที่เฉพาะเจาะจงของปี เราไม่สามารถเปลี่ยนได้ สิ่งที่นักพัฒนาของเรา (ฉันเป็นหนึ่งในสองคน) ต้องทำคือ: กรอกใบสมัครที่มีอยู่ให้เสร็จ (ประมาณ 25% ของงานที่ต้องทำ) การสร้างโมดูลใหม่ที่จำเป็นสำหรับองค์กรของเหตุการณ์นี้ (ประมาณ 75% ของงานที่ต้องทำ) โมดูลใหม่นี้ไม่สามารถพัฒนาโดยไม่เข้าใจ API ของโปรแกรมหลัก …

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

10
สร้างแรงบันดาลใจให้เพื่อนร่วมงานนำวิธีการเข้ารหัสที่ดีกว่า
ในการจัดการคำถามผู้ร่วมงานที่ล้าสมัยของฉันหลายคนพูดถึงกลยุทธ์ในการจัดการกับเพื่อนร่วมงานที่ไม่ต้องการรวมเวิร์กโฟลว์ของพวกเขาเข้ากับทีม ฉันต้องการถ้าเป็นไปได้เพื่อเรียนรู้กลยุทธ์บางอย่างสำหรับ "การสอน" ผู้ร่วมงานที่ไม่รู้เทคนิคและเครื่องมือที่ทันสมัยเพียงอย่างเดียว ฉันเริ่มทำงานกับโปรแกรมเมอร์ที่จนกระทั่งเมื่อไม่นานมานี้ได้ทำงานในความโดดเดี่ยวในส่วนอื่นของ บริษัท เขามีความรู้เกี่ยวกับโดเมนอย่างกว้างขวางและที่สำคัญที่สุดเขาได้แสดงให้เห็นถึงทักษะการแก้ปัญหาที่ดีสิ่งที่ผู้สมัครหลายคนดูเหมือนจะขาด อย่างไรก็ตามรหัส (C #) จริงที่ฉันเคยเห็นคือการย้อนกลับไปสู่ ​​VB6 วัน โครงสร้างขั้นตอน, สัญกรณ์ฮังการี, ตัวแปรทั่วโลก (การละเมิดstatic), ไม่มีส่วนต่อประสาน, ไม่มีการทดสอบ, การไม่ใช้ Generics, การขว้างSystem.Exception... คุณจะได้รับแนวคิด โปรแกรมเมอร์คนนี้ค่อนข้างแก่กว่าฉันและด้วยความประทับใจแรกอย่างน้อยก็ไม่ได้แสวงหาการเปลี่ยนแปลงในเชิงบวก ฉันจะไม่พูดต่อต้านการเปลี่ยนแปลงเพราะฉันคิดว่าส่วนใหญ่เป็นปัญหาของหัวข้อที่ได้รับการเจาะและฉันต้องการที่จะเตรียม โปรแกรมเมอร์มักจะเป็นคนที่ดื้อรั้นและเข้าร่วมกับการจู่โจมปืนและทำการตรวจสอบโค้ดที่ฉีกขาดเป็นชิ้นเล็กชิ้นน้อยและนโยบายที่บังคับใช้อย่างเคร่งครัดมีแนวโน้มว่าจะไม่สร้างผลลัพธ์ที่ฉันต้องการ หากนี่คือการจ้างงานใหม่โปรแกรมเมอร์รุ่นเยาว์ฉันไม่คิดเลยว่าจะมีท่าทาง "ผู้ให้คำปรึกษา" สองครั้ง แต่ฉันก็ระมัดระวังในการปฏิบัติต่อพนักงานที่มีประสบการณ์ในฐานะมือใหม่ที่ไร้เดียงสา (ซึ่งเขาไม่ใช่ - เขาแค่ไม่ ทันกับความก้าวหน้าบางอย่างในสนาม) ฉันจะไปเกี่ยวกับการยกระดับมาตรฐานคุณภาพรหัสของผู้พัฒนานี้ตามวิธี Dale Carnegie ผ่านการโน้มน้าวใจที่อ่อนโยนและสิ่งจูงใจที่ไม่ใช่วัสดุได้อย่างไร อะไรจะเป็นกลยุทธ์ที่ดีที่สุดในการทำให้เกิดการเปลี่ยนแปลงที่ละเอียดและค่อยเป็นค่อยไปโดยไม่ต้องสร้างสถานการณ์ที่เป็นปฏิปักษ์? มีคนอื่น ๆ โดยเฉพาะผู้พัฒนานำ - เคยอยู่ในสถานการณ์แบบนี้มาก่อนหรือไม่? กลยุทธ์ใดที่ประสบความสำเร็จในการกระตุ้นความสนใจและสร้างกลุ่มพลังเชิงบวก กลยุทธ์ใดที่ไม่ประสบความสำเร็จและควรหลีกเลี่ยงได้ดีกว่า ชี้แจง: ฉันรู้สึกว่าหลายคนกำลังตอบตามความรู้สึกส่วนตัวโดยไม่อ่านรายละเอียดทั้งหมดของคำถาม โปรดทราบสิ่งต่อไปนี้ซึ่งควรบอกเป็นนัย แต่ตอนนี้ฉันกำลังชี้แจงอย่างชัดเจน: …

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