วิธีจัดการกับการจัดการระบบดันเดิม


14

ขณะนี้ฉันกำลังฝึกงานที่ได้รับค่าจ้างและได้รับมอบหมายให้ดูแลระบบที่ล้าสมัยซึ่งได้รับการพัฒนาโดยนักพัฒนาหลาย ๆ คน (ในเวลาต่างกัน) ตลอดระยะเวลา 5 ปีที่ผ่านมา ฝ่ายบริหารตกลง "ระบบสนับสนุนชีวิต" และฉันได้รับรายงานบั๊กจากผู้ใช้ปลายทางที่ใช้ระบบเป็นประจำ

ฝ่ายบริหารต้องการที่จะขยายโครงการต่อไปอีกปีและในกระบวนการเกือบสามเท่าของฐานผู้ใช้

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

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

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

3
@ James, รูปแบบของเอกสาร, ในบริบทของคุณ, ไม่เกี่ยวข้องทั้งหมด สิ่งสำคัญคือคุณ 1) ระบุการเปลี่ยนแปลงที่คุณต้องทำ 2) อธิบายแผนการที่เป็นรูปธรรมสำหรับการดำเนินการและ 3) โน้มน้าวผู้ที่เกี่ยวข้องให้ยอมรับแผน ในสภาพแวดล้อมที่สิ่งต่าง ๆ คือโครงสร้างเอกสารทางการ "ad-hoc" ไม่มีความหมายอะไรเลย
Angelo

7
หากไม่มีระบบการเปลี่ยนภายใต้การพัฒนาที่ใช้งานอยู่ผมขอยืนยันว่าระบบปัจจุบันไม่ใช่ "การช่วยชีวิต" โดยเฉพาะอย่างยิ่งถ้า บริษัท รวมไว้ในแผนในอนาคต
TMN

7
ตั้งแต่เมื่อไหร่ระบบเก่า 5 ปี "มรดก"?
Marjan Venema

1
@ James - นั่นไม่ใช่คำจำกัดความของระบบเดิม มรดกถูกกำหนดโดยการมี (ใหม่) เทคโนโลยีใหม่หรือมีประสิทธิภาพมากกว่าพร้อมใช้งานไม่ใช่ความล้มเหลวของกระบวนการภายในหรือการเก็บรักษาพนักงาน
Jon Hopkins

คำตอบ:


23

ขณะนี้ฉันกำลังฝึกงานที่ได้รับค่าจ้างและได้รับมอบหมายให้ดูแลระบบที่ล้าสมัยซึ่งได้รับการพัฒนาโดยนักพัฒนาหลาย ๆ คน (ในเวลาต่างกัน) ตลอดระยะเวลา 5 ปีที่ผ่านมา ฝ่ายบริหารตกลง "ระบบสนับสนุนชีวิต" และฉันได้รับรายงานบั๊กจากผู้ใช้ปลายทางที่ใช้ระบบเป็นประจำ

ระบบไม่ล้าสมัยหากผู้คนยังใช้งานอยู่และสนับสนุนกิจกรรมทางธุรกิจ เนื่องจากยังคงมีการใช้งานอยู่ธุรกิจไม่สามารถทิ้งมันได้ - ต้องได้รับการสนับสนุนจนกว่าจะไม่มีความต้องการระบบอีกต่อไป นั่นอาจเป็นการเปลี่ยนแปลงวัตถุประสงค์ทางธุรกิจหรือระบบใหม่ได้รับการพัฒนาทดสอบและปรับใช้กับผู้ใช้ปลายทางได้สำเร็จ

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

ฝ่ายบริหารต้องการที่จะขยายโครงการต่อไปอีกปีและในกระบวนการเกือบสามเท่าของฐานผู้ใช้

หากผู้บริหารบอกว่าระบบนี้เป็น "การช่วยชีวิต" ทำไมพวกเขาถึงพยายามปรับใช้เพิ่มเติม เป็นเรื่องปกติที่กิจกรรมการบำรุงรักษาจะดำเนินต่อไปในระบบเดิมจนกว่าจะถูกแทนที่ แต่ถ้าระบบหมดอายุ การขยายการบำรุงรักษาเป็นสิ่งหนึ่ง แต่การเพิ่มผู้ใช้ที่พึ่งพาระบบเป็นสถานการณ์ที่แตกต่างกันทั้งหมด

สำหรับฉันดูเหมือนว่ายังไม่สิ้นสุดชีวิตจริง แต่อยู่ในช่วงการบำรุงรักษาและจะยังคงอยู่ที่นั่นจนกว่าระบบจะไม่ตอบสนองความต้องการของผู้ใช้อีกต่อไป

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

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

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

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

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

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


9
I've worked with code that was 10 years old before อายุประมาณ 25 ปี :) ยังคงตอบสนองความต้องการของ บริษัท และทำงานได้อย่างยอดเยี่ยมในสิ่งที่มันถูกออกแบบมาให้ทำแม้ว่าความจริงที่ว่าการแตะที่รหัสนั้นเป็นเรื่องที่น่าพอใจเหมือนการว่ายน้ำในขั้วโลกเหนือ
maple_shaft

@maple_shaft ไม่มีอะไรอายุ 25 ปี ฉันคิดว่ารหัสที่เก่าแก่ที่สุดที่ฉันเคยเห็นคือประมาณ 10-15 ปี มันไม่ได้เป็นที่น่าพอใจ แต่ผู้ใช้ไม่สนใจเกี่ยวกับรหัสที่สะอาด พวกเขาสนใจเกี่ยวกับการใช้ซอฟต์แวร์ที่ทำสิ่งที่พวกเขาต้องการในการช่วยเหลือธุรกิจ
โธมัสโอเวนส์

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

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

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

7

ฉันได้เขียนรายงานที่ระบุข้อกังวลของฉันแล้ว

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

ฝ่ายบริหารต้องการที่จะขยายโครงการต่อไปอีกปีและในกระบวนการเกือบสามเท่าของฐานผู้ใช้

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

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

การบำรุงรักษาระบบที่ล้าสมัยที่ได้รับการพัฒนาโดยนักพัฒนาหลาย ๆ คน (ในเวลาต่างกัน) ในช่วง 5 ปีที่ผ่านมา

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

ในฐานะที่เป็นผู้ฝึกงาน (หรือตำแหน่งระดับเริ่มต้น) ฉันจะ "ดันกลับ" ได้อย่างไร?

คุณอยู่ในตำแหน่งที่มีอำนาจน้อยที่สุดและเป็นเพียงชั่วคราว ไม่สำคัญว่าคุณจะพูดถูกหรือเปล่า ฉันคาดหวังให้พวกเขาเรียนรู้อภิปรายปัญหาตามที่เห็นและปฏิบัติตามคำสั่งซื้อ เกี่ยวกับมัน. เมื่อได้รับคำสั่งซื้อฉันคาดว่าจะสามารถดำเนินการอย่างเต็มที่ตามความสามารถของพวกเขาเพราะเวลาสำหรับการอภิปรายจบลงแล้ว


บางทีการใช้คำว่า "มรดก" นั้นไม่ถูกต้อง ขณะนี้เทคโนโลยีที่ขับเคลื่อนระบบคือ VBA และ ASP แบบคลาสสิก ฐานรหัสถูกสร้างขึ้นโดยผู้ฝึกงานที่หมุนเวียนหลายคนในอดีต Wikipedia ระบุว่าระบบดั้งเดิมเป็นสิ่งที่ไม่เข้าใจอีกต่อไปและสถานการณ์ดังกล่าวจะเกิดขึ้นเมื่อระบบไม่ได้รับการบันทึกและ / หรือผู้พัฒนาดั้งเดิมได้ออกไปแล้ว นอกจากนี้ "การผลักกลับ" อยู่ในเครื่องหมายคำพูดเพราะฉันมีคำขวัญประจำตัวที่ "ไม่เคยพอใจกับคนธรรมดา" และเช่นนี้ก็ไม่สามารถทนต่อการนั่งและไม่แสดงความกังวล ฉันรู้สึกราวกับว่าฉันไม่ได้มีประโยชน์
James

@ James เป็นเรื่องดีที่จะให้ความสำคัญกับความกังวล แต่ทำเพียงครั้งเดียวทำมันให้สมบูรณ์นำเสนอทางเลือกที่เป็นไปได้และทิ้งมันไว้ หากคุณออกเสียงเกี่ยวกับปัญหาเดียวกันมากกว่าหนึ่งครั้งคุณจะถูกรับรู้ว่าเป็นนักต้มตุ๋นและ whiners จะไม่เป็นประโยชน์ หากคุณไม่เข้าใจและไม่มีใครในบ้านเข้าใจในทางเทคนิคจริง ๆ แล้วมันเป็นมรดกที่แท้จริงที่คุณถูกต้อง
maple_shaft

7
เจมส์อาจเป็นเพราะคุณไม่เคยพอใจกับคนธรรมดา แต่จากการแลกเปลี่ยนนี้คุณให้ความรู้สึกว่าคุณไม่เก่งในภาพรวมที่กว้างขึ้นว่าซอฟต์แวร์สนับสนุนธุรกิจและความสำคัญทางธุรกิจแตกต่างกับคุณอย่างไร
temptar

2
"Wikipedia ระบุระบบเดิมว่าเป็นสิ่งที่ไม่เข้าใจอีกต่อไป" ถ้าคุณเข้าใจและจัดทำเอกสารดังนั้นจึงเป็นที่เข้าใจกันแล้วมันจะไม่เป็นระบบดั้งเดิมอีกต่อไป
DJClayworth

2
"ไม่เคยพอใจกับคนธรรมดา" เป็นคำขวัญที่ดี แต่ใช้กับสิ่งที่คุณสามารถควบคุมได้เท่านั้น หากคุณใช้ codebase ที่ปานกลางและเปลี่ยนเป็น codebase ที่ได้รับการดูแลเป็นอย่างดีและง่ายต่อการบำรุงรักษาซึ่งเป็นงานที่ยอดเยี่ยมที่คุณควรภาคภูมิใจ
DJClayworth

5

คุณเป็นเด็กฝึกงาน ฉันสงสัยมากไม่ว่าคุณจะอยู่ห่างไกลจากความจำเป็นทางธุรกิจในแต่ละวันและในขณะที่คนอื่น ๆ สังเกตเห็นฐานรหัสอายุ 5 ปีนั้นไม่เก่าจริงๆ

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

คำแนะนำของฉันสำหรับคุณคือ: เรียนรู้จากประสบการณ์และหยุดสมมติว่าความรู้ของคุณสำคัญกว่าของคนที่ต้องทำธุรกิจทุกวัน

งานของคุณคือทำให้ระบบทำงานได้ไม่แนะนำการเปลี่ยนใหม่ที่เป็นประกาย

สำหรับฉันแล้วดูเหมือนว่าโปรแกรมเมอร์หนุ่มสาวจำนวนมากไม่ทราบว่าการบำรุงรักษาระบบเก่าเป็นส่วนสำคัญของการเขียนโปรแกรมมากกว่าการออกแบบระบบใหม่ที่เป็นประกาย /


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

4

อย่าผลักกลับ สิ่งเดียวที่คุณควรทำคือแสดงความกังวลของคุณอย่างชัดเจนรัดกุม ข้อเท็จจริงของเรื่องนี้คือธุรกิจส่วนใหญ่ที่คุณจะทำงานในอนาคตจะมีระบบเดิม ระบบมรดกเหล่านั้นจำเป็นต้องได้รับการดูแลรักษาเนื่องจากในหลายกรณีมีราคาแพงเกินกว่าจะเปลี่ยนได้

ในหลายกรณีคุณอาจมีความตั้งใจที่ดีที่สุดในการแทนที่ระบบปัจจุบันด้วยระบบที่ดีกว่าอย่างไรก็ตามคุณอาจแนะนำข้อบกพร่องใหม่และแตกต่างกัน ... เมื่อคุณออกจากระบบจะเปลี่ยนเป็นระบบเดิมอย่างรวดเร็วอีกครั้งและ บริษัท จะ อยู่ในจุดเดียวกันก่อนหน้านี้ ไม่มีอะไรล้าสมัยจนกว่าจะไม่มีจุดประสงค์ของเซิร์ฟเวอร์อีกต่อไปหรือเข้ากันไม่ได้กับระบบที่ทันสมัยอย่างสมบูรณ์ บริษัท ของฉันมีระบบที่มีอายุมากกว่า 20 ปีซึ่งตอนนี้เราเพิ่งแปลงเป็น ASP.NET ระบบยังคงทำงานอยู่ แต่การสนับสนุนเทคโนโลยีเก่าลดน้อยลงและทำให้การทำงานกับเว็บเบราว์เซอร์ที่ทันสมัยทำให้เสียเวลามากขึ้น

คุณสามารถทำอะไรได้บ้าง:

ออกจากสิ่งที่สะอาด

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

สร้างเอกสาร

ถ้าเอกสารไม่มีปัญหาให้สร้างเอกสาร เมื่อคุณทำงานในส่วนใดส่วนหนึ่งของระบบเอกสาร

ทำให้เจ็บปวดน้อยลง

ดังที่ฉันได้กล่าวไว้ว่าคุณสามารถแสดงความกังวลของคุณ แต่สิ่งที่ดีที่สุดของคุณคือการทำงานอย่างขยันขันแข็งในระบบและทำให้การทำงานที่ดีกว่าสำหรับคุณ แก้ไขข้อบกพร่องอย่างถูกต้อง เอกสาร. แยกย้ายกันกลิ่นรหัส ทำให้ดีขึ้น. และเมื่อคุณทำสิ่งเหล่านี้ให้หัวหน้าของคุณรู้ บอกพวกเขาว่าคุณกำลังทำ X, Y และ Z เพื่อปรับปรุงกระบวนการพัฒนา ที่สร้างความน่าเชื่อถือและในระยะยาวที่จะช่วยคุณและ บริษัท ของคุณมากกว่าสิ่งอื่นใด


1
หนึ่งในสิ่งที่สำคัญที่สุดที่สามารถทำได้เช่น X, Y หรือ Z คือการเขียนการทดสอบหน่วย การมีการทดสอบทำให้การทำงานกับรหัสดั้งเดิมซึ่งสามารถทำลายได้ตลอดเวลาในทางใดทางหนึ่งความเครียดน้อยกว่ามาก
Kevin Vermeer

3

คุณไม่ได้ !!! นี่คือโอกาสที่ยอดเยี่ยม!

คุณเป็นผู้ฝึกงานเพื่อเรียนรู้! โครงการนี้เป็นโลกแห่งความเป็นจริงตามที่ได้รับ

คุณโชคดีมากที่มีมัน ความจริงที่ว่าคุณไม่มีคุณสมบัติไม่ใช่ความกังวลของคุณ (ถ้า \ เมื่อผู้บริหารตระหนักถึงสิ่งนี้คุณจะได้รับมาก)

คุณจะมีคุณสมบัติเมื่อคุณเสร็จสิ้นการฝึกงานครั้งนี้และนั่นเป็นข่าวดี

PS: ทำการสำรองอย่างเคร่งศาสนาตรวจสอบให้แน่ใจว่าสิ่งที่คุณทำนั้นสามารถย้อนกลับได้ เริ่มต้นด้วยปัญหาที่ "แก้ไขง่าย" แต่มีจุดปวดขนาดใหญ่สำหรับผู้ใช้ ทำตามขั้นตอนทารก


อีกสิ่งหนึ่งที่การฝึกงานนั้นยอดเยี่ยมคือการกำหนดว่าคุณต้องการทำงานให้ บริษัท หรือไม่และพวกเขาต้องการให้คุณทำงานให้กับ บริษัท หรือไม่ นี่เป็นสถานการณ์ที่ดีกว่าถ้า OP ได้รับการว่าจ้างให้เป็นพนักงานเต็มเวลาและมีความกังวลเกี่ยวกับการทำงานแรกหรือออกอย่างรวดเร็ว
Kevin Vermeer

3

ผมคิดว่าในความรู้สึกทฤษฎีมาก - ไม่มีสิ่งดังกล่าวเรียกว่าระบบเดิม ฉันมีโทรศัพท์รุ่นเก่า (ระบบเดิม) และทุกวันนี้มีโทรศัพท์ Android ที่ดี (แพลตฟอร์มที่ทันสมัย) แต่โทรศัพท์ของฉันใช้งานได้และทำในสิ่งที่ฉันต้องการ ทำไมฉันต้องทิ้งมันไป?

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

นี่คือสิ่งที่ฉันแนะนำคุณควรทำ:

  1. ปล่อยให้ไม่ชอบระบบ "มรดก" ของคุณก่อน สิ่งนี้จะทำให้คุณตอบโต้ได้อย่างมีประสิทธิภาพ

  2. เริ่มบันทึกสิ่งที่คุณทำตอนนี้และสิ่งที่คุณคิด แม้ว่าจะเป็นแบบทีละขั้นตอน ไม่มีเวลาดีกว่าที่จะทำเอกสารมากกว่าที่คุณรู้ว่าคุณต้องการ

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

Dipan


2

ความจริงก็คือไม่มีใครให้ฝึกงานที่พวกเขาต้องการจะทำ เมื่อคุณเป็นคนรุ่นน้องที่สุดคุณจะได้งานที่น่าตื่นเต้นน้อยที่สุด คุณจัดการกับตัวเองได้ดีแค่ไหนซึ่งบอกคุณมากมายต่อองค์กรว่าพวกเขาสามารถเชื่อใจคุณให้ทำงานที่น่าตื่นเต้นมากขึ้นได้ไหม

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

หรือคุณอาจใช้เส้นทางตรงข้ามและแค่บอกว่าโครงการแย่แค่ไหนและมันยอดเยี่ยมแค่ไหนที่จะมาแทนที่ ในกรณีนี้คุณแทบจะไม่ได้รับการเสนองานที่ บริษัท นั้นหลังจากการฝึกงานของคุณ


1

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

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