คำถามติดแท็ก customer-relations

21
ลูกค้าของฉันต้องการให้ฉันบันทึกวิดีโอว่าฉันพัฒนาผลิตภัณฑ์ซอฟต์แวร์ของเขาอย่างไร
ทำงานเป็นอิสระฉันมักจะเห็นคำขอแปลก ๆจากลูกค้าของฉันซึ่งบางอย่างอาจส่งผลเสียต่อการทำงานประจำวันของฉันและบางคนก็พยายามควบคุมบางอย่าง ฉันมักจะพบเจอสิ่งเหล่านี้ในระหว่างการเจรจาเบื้องต้นดังนั้นจึงเป็นเรื่องง่ายพอที่รัฐนี้จะอธิบายให้ลูกค้าฟังว่าฉันใส่ใจงานและผลิตผลของฉันและคาดหวังให้ลูกค้าเชื่อมั่นในงานของฉัน สิ่งที่ยากยิ่งขึ้น²ในโครงการที่ฉันเพิ่งยอมรับเพราะหลังจากจบการเจรจาเท่านั้น (สัญญามีการลงนามแล้วและไม่ได้พูดถึงอะไรเกี่ยวกับการติดตามวิดีโอ) และหลังจากที่ฉันเริ่มทำงานในโครงการที่ลูกค้าของฉันขอให้ฉันบันทึก วิดีโอทั้งหมดที่ฉันทำบนเครื่องขณะทำงานในโครงการของเขานั่นคือวิดีโอที่จะแสดงให้เห็นว่าฉันย้ายเคอร์เซอร์พิมพ์อักขระเปิดไฟล์ย้ายหน้าต่าง ฯลฯ ฉันทำงานใน บริษัท ของตัวเองโดยใช้พีซีของตัวเอง ฉันตอบลูกค้านี้ว่าคำขอดังกล่าวไม่สามารถยอมรับได้เนื่องจาก: การทำงานหลายร้อยชั่วโมงบนพีซีแบบดูอัลจอจะต้องใช้พื้นที่ดิสก์จำนวนมากสำหรับวิดีโอที่บันทึกไว้ หากฉันไม่สนใจเรื่องพื้นที่ฉันสนใจเกี่ยวกับลูกค้ารายนี้ที่เสียแบนด์วิดท์ของฉันในการดาวน์โหลดวิดีโอเหล่านั้น การบันทึกวิดีโอสามารถส่งผลกระทบต่อประสิทธิภาพโดยรวมและลดประสิทธิภาพการทำงานของฉัน (ซึ่งไม่เป็นความจริงเนื่องจากเครื่องมีประสิทธิภาพเพียงพอที่จะบันทึกวิดีโอนี้โดยไม่สูญเสียประสิทธิภาพการทำงาน แต่ก็ยังดูเหมือนอาร์กิวเมนต์ที่ถูกต้อง) ฉันจำไม่ได้เสมอว่าให้เปิดการบันทึกวิดีโอก่อนเริ่มงานและปิดท้าย มันอาจเป็นเรื่องความเป็นส่วนตัว ฉันควรทำอย่างไรหากเปลี่ยนเป็นอีเมลเมื่อบันทึกวิดีโอ จะทำอย่างไรถ้าหากต้องการเปิดไดเรกทอรีที่มีไฟล์เกี่ยวกับโครงการลูกค้านี้ฉันจะเปิดไดเรกทอรีหลักที่มีรายชื่อลูกค้าทั้งหมดของฉันก่อน วิดีโอดังกล่าวไม่สามารถเป็นแหล่งที่น่าเชื่อถือในการติดตามค่าใช้จ่ายของโครงการ (ฉันจ่ายเงินตามชั่วโมง) เนื่องจากการทำงานบางอย่างจะทำมีเพียงดินสอและกระดาษ (ซึ่งเป็นความจริงที่จริงตั้งแต่ผมทำจำนวนมากของการทำงานร่างโดยไม่ต้อง ใช้พีซี) แม้จะมีประเด็นเหล่านี้ลูกค้าก็คิดว่าถ้าฉันไม่ต้องการบันทึกวิดีโอมันเป็นเพราะฉันมีบางอย่างที่ต้องซ่อนและต้องการโกหกเกี่ยวกับเวลาที่ใช้จริงในโครงการของเขา³ วิธีที่จะอธิบายให้เขาว่ามันไม่ได้เป็นปฏิบัติตามปกติสำหรับ freelancers ในการบันทึกวิดีโอของการทำงานในชีวิตประจำวันของพวกเขาและว่าคำขอฟุ่มเฟือยดังกล่าวจะต้องสงวนไว้ให้circumstances⁴พิเศษ? ¹ตัวอย่างที่พบบ่อยที่สุดคือการขอให้ทำงานผ่าน Remote Desktop บนเซิร์ฟเวอร์มากกว่าช้าซึ่งใช้การเชื่อมต่ออินเทอร์เน็ตมากกว่าช้ากว่าหรือถูกบังคับให้ใช้ซอฟต์แวร์ที่ล้าสมัยเช่นWindows Meโดยไม่มีเหตุผลร้ายแรงในฐานะมรดก สนับสนุน. ²ในความเป็นจริงฉันได้ทำงานเกี่ยวกับการจัดการและการออกแบบระบบหลายอย่างซึ่งเป็นสิ่งจำเป็น แต่มักจะเข้าใจผิดโดยลูกค้าและถูกมองว่าเป็นการเสียเวลาและเงิน จากการสังเกตลูกค้าที่เกี่ยวข้องฉันค่อนข้างมั่นใจว่าเขาจะปฏิเสธที่จะจ่ายเงินจำนวนมากสำหรับสิ่งที่ได้ทำไปแล้วเนื่องจากมีรหัสบรรทัดจริง ๆ แม้ว่าฉันจะสามารถพิสูจน์ได้อย่างถูกกฎหมายว่ามีงานด้านออกแบบจำนวนมากฉันไม่ต้องการยุติความสัมพันธ์กับลูกค้ารายนี้ในศาล ³ซึ่งไม่เสี่ยงเท่าที่ควรเนื่องจากฉันมอบให้กับลูกค้ารายนี้ถึงความคาดหวังและต้นทุนสูงสุดของโครงการดังนั้นลูกค้าจึงมั่นใจได้ว่าจะไม่ถูกขอให้จ่ายเกินจำนวนสูงสุดตามที่ระบุไว้ในสัญญา ถ้างานจริงมีค่าใช้จ่ายมากกว่า ⁴กรณีหนึ่งเมื่อฉันบันทึกความคิดริเริ่มของตัวเองได้อย่างมีประสิทธิภาพวิดีโอการกระทำคือเมื่อฉันต้องทำการเปลี่ยนแปลงบางอย่างโดยตรงบนเซิร์ฟเวอร์ที่ใช้งานจริงของลูกค้าโดยเฉพาะอย่างยิ่งเมื่อพูดถึงปัญหาด้านความปลอดภัย การบันทึกขั้นตอนเหล่านั้นอาจเป็นความคิดที่ดีที่จะรู้ว่าสิ่งใดที่ทำไปแล้วและให้แน่ใจว่าไม่มีข้อผิดพลาดในงานของฉันหรือดูว่าข้อผิดพลาดเหล่านั้นคืออะไร ปรับปรุง: ก่อนอื่นขอขอบคุณสำหรับคำตอบและความคิดเห็นทั้งหมดของคุณ เนื่องจากคำถามดึงดูดความสนใจมากขึ้นและมีคำตอบมากกว่าที่ฉันคาดไว้ฉันคิดว่ามันอาจเกี่ยวข้องกับคนอื่นดังนั้นฉันจึงเพิ่มการอัปเดต ขั้นแรกเพื่อสรุปคำตอบและความคิดเห็นแนะนำให้ (สั่งแบบสุ่ม): …

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

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

8
อธิบายความแม่นยำของจุดลอยตัวให้กับลูกค้า [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน4 ปีที่แล้ว วิธีที่ดีที่สุดในการอธิบายประเด็นการปัดเศษทศนิยมให้กับลูกค้าคืออะไร ฉันรู้ว่า http://download.oracle.com/docs/cd/E19957-01/806-3568/ncg_goldberg.html เช่นเดียวกับรายการในคำถามที่พบบ่อย C ++ และหน้าอื่น ๆ อีกมากมายที่มุ่งพัฒนาและนักวิทยาศาสตร์ แต่มีหน้าเว็บบทความหรือคำอธิบายสำหรับลูกค้า "ปกติ" ที่มีภูมิหลังทางคณิตศาสตร์หรือวิทยาศาสตร์ จำกัด หรือไม่? (ซึ่งการอ้างอิงข้างต้นตกไปตามลำดับ) ถ้ามันได้รับการดูแลหรือมาจากสถาบันหรือ บริษัท ที่มีชื่อเสียงและเป็นที่รู้จักดีกว่าทั้งหมดที่ได้รับจากสิ่งที่คุณอาจเคยมีประสบการณ์มันอาจซับซ้อนเล็กน้อยที่จะอธิบายว่าตัวคุณเอง

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

10
ทีมของฉันจะหลีกเลี่ยงข้อผิดพลาดบ่อยครั้งได้อย่างไรหลังจากทำการเปลี่ยนใหม่
เพื่อให้คุณมีพื้นฐานเล็กน้อย: ฉันทำงานให้กับ บริษัท ที่มีผู้พัฒนา Ruby on Rails ประมาณสิบสองคน (+/- ฝึกงาน) การทำงานระยะไกลเป็นเรื่องปกติ ผลิตภัณฑ์ของเราทำจากสองส่วนคือแกนที่ค่อนข้างอ้วนและบางขึ้นกับโครงการขนาดใหญ่ที่ลูกค้าสร้างขึ้น โครงการของลูกค้ามักจะขยายหลัก การเขียนทับคุณสมบัติหลักไม่ได้เกิดขึ้น ฉันอาจเพิ่มว่าแกนกลางมีบางส่วนที่ไม่ดีซึ่งต้องการการรีแฟคเตอร์ด่วน มีสเปค แต่ส่วนใหญ่สำหรับโครงการของลูกค้า ส่วนที่แย่ที่สุดของแกนนั้นยังไม่ได้ทดสอบ (ไม่ใช่อย่างที่ควรจะเป็น ... ) ผู้พัฒนาแบ่งออกเป็นสองทีมโดยทำงานร่วมกับ PO หนึ่งหรือสองตัวสำหรับการวิ่งแต่ละครั้ง โดยปกติโครงการของลูกค้าหนึ่งโครงการจะเชื่อมโยงกับหนึ่งในทีมและ POs อย่างเคร่งครัด ตอนนี้ปัญหาของเรา: ค่อนข้างบ่อยเราแบ่งเนื้อหาของกันและกัน บางคนจากทีม A ขยายหรือสร้างคุณลักษณะหลัก Y อีกครั้งทำให้เกิดข้อผิดพลาดที่ไม่คาดคิดสำหรับโครงการลูกค้าของทีม B ส่วนใหญ่การเปลี่ยนแปลงจะไม่ถูกประกาศในทีมดังนั้นข้อบกพร่องที่เกิดขึ้นแทบจะไม่คาดคิดเสมอไป ทีม B รวมถึง PO คิดเกี่ยวกับคุณสมบัติ Y ว่าเสถียรและไม่ได้ทดสอบก่อนปล่อยโดยไม่ทราบการเปลี่ยนแปลง จะกำจัดปัญหาเหล่านั้นได้อย่างไร? 'เทคนิคการประกาศ' แบบไหนที่คุณสามารถแนะนำฉันได้บ้าง

7
คุณตอบคำถามนี้อย่างไร:“ นับตั้งแต่อัปเดต…” คำถามจากลูกค้า? [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน4 ปีที่แล้ว นับตั้งแต่การอัปเดตผู้คนก็โทรมาเรื่อย ๆ และพูดว่า "นับตั้งแต่อัปเดต X, Y และ Z ช้ามากแย่และล้มเหลว" สิ่งนี้เกิดขึ้นนับตั้งแต่รุ่งอรุณของการอัปเดต คนคาดหวังอะไร Gamma มาหลังจากเบต้าและการทดสอบแกมม่าจะเปลี่ยนผู้ใช้ของเราให้กลายเป็น The Incredible Hulks ... บางทีคุณอาจไม่เคยได้ยินเรื่องนี้จากลูกค้าบางทีคุณอาจอยู่ในวิทยาลัยหรือ FLOSS Dev ที่สามารถกล่าวโทษได้มากกว่า 5 หรือ 6 คนบางทีคุณอาจทดสอบโค้ดของคุณบางทีคุณอาจไม่ได้อยู่ในสถานการณ์ที่น่าสนใจ ที่ลูกค้าโทรหาคุณเพื่อขอเวลาที่แน่นอนในวันนั้นคุณจะปล่อยแพทช์ของวันนี้ (ฉันชอบที่จะทำกับ Microsoft) หรือบางทีคุณอาจจะเป็นคนที่ขอโทษที่ชอบบิสกิตแบบใหม่ อัพเดทและกลับบ้านและกำลังจะกลับไปทำงานในวันพรุ่งนี้ อย่างไรก็ตามคุณจะฉลาดกว่าฉันอยู่ดี การวิจารณ์ภาคสนามทำได้อย่างไรในกรอบ "คุณต้องเป็นโปรแกรมเมอร์ที่ไม่ดีเพราะคุณกำลังทำให้ซอฟต์แวร์ของคุณแย่ลง"?

4
ฉันควรจะทำงานอิสระต่อไปสำหรับลูกค้าที่ยังคงเรียกร้องมากขึ้นโดยไม่ต้องจ่ายเงินหรือไม่? [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัพเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Software Engineering Stack Exchange ปิดให้บริการใน5 ปีที่ผ่านมา ดังนั้นลูกค้ามาหาฉันและบอกว่ามันต้องมีงานทำ โดยทั่วไปมีงาน 4 อย่างที่ฉันตกลงที่จะปฏิบัติในราคาที่แน่นอน ลูกค้าสร้างข้อเสนองาน (เวลาที่กำหนดและงานราคา) บน ODesk ฉันยอมรับ แต่ใช้เวลาหลายวันและเตือนให้ลูกค้าเริ่มต้นสัญญาตามงานนั้น ปัญหาคืองานต้นฉบับเสร็จสมบูรณ์แล้วสัญญายังทำงานอยู่ฉันยังไม่ได้ชำระลูกค้าบอกว่าเขาจะจ่ายเมื่อโครงการเสร็จสมบูรณ์และจนกว่าจะมีงานใหม่เกิดขึ้นตลอดเวลาหรือเปลี่ยนงานเก่า ที่ต้องมีการทำองค์ประกอบซ้ำ ทั้งหมดนี้ลูกค้าสัญญาการชำระเงิน ไม่มีการอัปเดตจากไคลเอนต์นี้ใน ODesk ไม่มีงานใหม่ที่นั่น ฉันเตือนลูกค้าเกี่ยวกับการแยกแยะปัญหาด้านการจัดการ แต่ไม่มีผลลัพธ์ ในขณะเดียวกันลูกค้าก็จะผลักดันให้ทำงานต่อเนื่องจากโครงการจะเปิดตัวเร็ว ๆ นี้ ผมไม่ทราบว่าจะทำอย่างไร. ถ้าฉันปฏิเสธที่จะทำงานใด ๆ โดยไม่มีระบบราชการโครงการจะล่าช้า แต่มันไม่ใช่ความผิดของฉันใช่ไหม? ฉันกลัวว่าฉันอาจได้รับข้อเสนอแนะเชิงลบในกรณีนี้หรือบางสิ่งที่แย่กว่านั้น ถ้าฉันออกจากโครงการนี้ฉันกลัวว่าฉันจะไม่ได้สิ่งที่ฉันได้รับ ถ้าฉันทำแบบนี้ต่อไปฉันจะเสียเวลาทำสิ่งต่าง ๆ คล้ายกับสิ่งที่อธิบายไว้ที่นี่แต่ในฐานะโปรแกรมเมอร์ (ใช่แล้วมันได้มาถึงคำขอที่คล้ายกันสำหรับเนื้อหาฮาร์ดโค้ดจำนวนมาก) ฉันจะสื่อสารกับลูกค้าในสถานการณ์เช่นนี้ได้อย่างไร ฉันจะหลีกเลี่ยงความขัดแย้งได้อย่างไร ป.ล. ลูกค้าเป็น บริษัท เล็ก ๆ …

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

1
ฉันจะเขียนข้อกำหนดการทำงานได้อย่างรวดเร็วและมีประสิทธิภาพได้อย่างไร
ดังนั้นฉันเพิ่งอ่านบทความนิยายโดยโจเอลในรายละเอียดที่นี่ (เขียนในปี 2000 !!) ฉันอ่านทั้งหมด 4 ส่วน แต่ฉันกำลังมองหาวิธีการบางอย่างในการเขียนสเป็คของฉัน ฉันเป็นคนโดดเดี่ยวคนเดียวที่ทำงานกับแอพที่ค่อนข้างซับซ้อน (หรือตระกูลแอพ) สำหรับ บริษัท ทางการเงินที่รู้จักกันดี ฉันไม่เคยทำอะไรที่ร้ายแรงขนาดนี้มาก่อนฉันเริ่มเขียนบางอย่างเช่นสเป็คที่ไม่ดีภาพรวมของบางอย่างและมันเสียเวลาไปมาก ฉันได้สร้าง 3 mockup-kinda-thingies ให้กับลูกค้าของฉันดังนั้นฉันจึงมีความเข้าใจในสิ่งที่พวกเขาต้องการ (ตัวอย่างแอพพลิเคชั่นที่ใช้งานไม่ได้กับเวิร์กโฟลว์พื้นฐานที่สุด) และฉันเพิ่งเขียนและทดสอบระบบหลัก / ฐานบางส่วนเท่านั้น ฉันคิดว่าความผิดพลาดที่ฉันทำไปแล้วไม่ได้เขียนสเป็คอย่างละเอียดดังนั้นตอนนี้ฉันไปถึงแล้ว ดังนั้นสิ่งทั้งหมดจึงประกอบด้วย เว็บไซต์ MVC (สำหรับผู้ดูแลระบบ & การดูข้อมูล) โมดูล Silverlight 2 โมดูล (สำหรับงานเฉพาะ 2 งาน) 1 แอปพลิเคชันเดสก์ท็อป ฉันสั้นตรงเวลาทรัพยากรและจำเป็นต้องทำสิ่งนี้ให้สำเร็จเร็วเกินไปและต้องทำให้แน่ใจว่าพวกเขาอ่านมันอย่างรวดเร็วและไม่เจ็บปวดเท่ากัน ดังนั้นวิธีการที่ฉันจะไปเกี่ยวกับเรื่องนี้ฉันกำลังมองหาเคล็ดลับใด ๆ สิ่งที่โลกจริงใด ๆ วิธีการที่พวกคุณมักจะทำมันได้หรือไม่ คุณสร้างหน้าจอจำลองของทุกบทสนทนา / แบบฟอร์ม / หน้า? ฉันกำลังคิดที่จะสร้างโครงการ …

10
ฉันจะได้รับเงินเพื่อลดหนี้ทางเทคนิคได้อย่างไร
ฉันกำลังทำงานให้กับ บริษัท ขนาดเล็กที่มีผลิตภัณฑ์ที่ซับซ้อนทางเทคนิคเล็กน้อย ฉันเป็นนักพัฒนาเพียงคนเดียวและหนึ่งในนั้น ประมาณหนึ่งปีที่ผ่านมาฉันได้รับผลิตภัณฑ์รุ่นเก่าและเริ่ม "สนับสนุน" ผลิตภัณฑ์ ลูกค้าพูดถึงคุณลักษณะใหม่มูลค่าทางธุรกิจและอื่น ๆ เท่านั้น ปัญหาคือแม้ว่ารหัสอยู่ใน C # มันค่อนข้างขั้นตอน ไม่มี abstractions จะใช้คลาสที่ Visual Studio ต้องการเท่านั้น - ฟอร์มเป็นต้น การใช้งานของคลาสเหล่านี้แย่จริงๆและรหัสยากที่จะรักษา ตลอดทั้งปีนี้ฉันใช้เวลาของตัวเองในการปรับโครงสร้าง ในเวอร์ชั่นล่าสุดมี abstractions ที่น่ารักและเป็นเช่นนั้น ฉันต้องนำส่วนประกอบมาใช้ใหม่ตั้งแต่เริ่มต้นและฉันรู้สึกว่าการเพิ่มคุณสมบัติใหม่หรือเปลี่ยนพฤติกรรมให้กับองค์ประกอบเหล่านี้นั้นง่ายกว่ามากสำหรับคนอื่น ๆ ปัญหาคือฉันใช้เวลาของตัวเอง ฉันชอบผลลัพธ์มาก แต่ฉันไม่ชอบทำงาน 12 ชั่วโมงต่อวัน คุณเคยอยู่ในสถานการณ์ที่คล้ายคลึงกันไหม? ฉันควรลองทำอะไร ฉันได้ลองคุยกันแล้ว แต่ก็ยังไม่ประสบความสำเร็จ ฉันแค่กลัวเมื่อเราตัดสินใจใช้คุณลักษณะใหม่ที่ต้องมีการเปลี่ยนแปลงรหัสเดิมมากมาย นั่นอาจทำให้ลูกค้าตกใจ: ทำไมคุณต้องใช้เวลา 8 ชั่วโมงในการเปลี่ยนไอคอนเหล่านี้ ลูกค้าไม่สนใจว่ามี 500 ตำแหน่งในรหัสที่ฉันต้องการเปลี่ยน และฉันควรจะหาสถานที่ทั้ง 500 แห่งนี้ก่อน ความคิดใด …

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

7
สิ่งที่จะตอบลูกค้าที่ถามว่าหนึ่งในสองเทคโนโลยีที่เทียบเท่าจะต้องใช้?
ในฐานะที่เป็นอิสระฉันมักถามลูกค้าถึงสิ่งที่พวกเขาต้องเลือกระหว่างองค์ประกอบที่คล้ายคลึงกันซึ่งไม่ได้ดีไปกว่าองค์ประกอบอื่น ตัวอย่าง: “ ฉันต้องการให้เว็บไซต์อีคอมเมิร์ซของฉันอยู่ใน PHP หรือ ASP.NET หรือไม่” “ ฉันจำเป็นต้องโฮสต์บริการเว็บทั่วไปนี้ใน Cloud หรือใช้บริการโฮสติ้งธรรมดาหรือไม่” “ อันไหนดีกว่าสำหรับเว็บไซต์ใหม่ของฉัน: MySQL หรือ Oracle?” เป็นต้น อาจมีได้ไม่เกิน 1% ของกรณีที่ตัวเลือกมีความเกี่ยวข้องและมีเหตุผลจริงวัตถุประสงค์ที่จะใช้อย่างใดอย่างหนึ่งขึ้นอยู่กับตัวชี้วัดที่แม่นยำและการศึกษา ในกรณีอื่น ๆ ทั้งหมดมันไม่สำคัญเลย เป็นสิ่งที่ไม่เกี่ยวข้องอย่างสมบูรณ์โดยสิ้นเชิงเนื่องจากไม่มีความหมาย or หรือเพราะความหมายเหล่านั้นมีขนาดเล็กเกินไปที่จะนำมาใช้ในบัญชี²หรือในที่สุดเพราะเป็นไปไม่ได้ที่จะทำนายผลกระทบเหล่านั้น³ หากคุณรู้สิ่งหนึ่งและไม่ใช่สิ่งอื่นคำตอบสำหรับคำถามเหล่านั้นนั้นง่าย: “ คุณสามารถเขียนแอปพลิเคชันใน C # หรือ Java ทั้งสองอาจเทียบเท่าในกรณีของคุณ โปรดทราบว่าฉันเป็นนักพัฒนา C # ดังนั้นหากคุณเลือก Java ฉันจะไม่สามารถทำงานในโครงการของคุณและคุณจะต้องหานักแปลอิสระคนอื่น” เมื่อคุณรู้จักเทคโนโลยีทั้งสองคุณจะไม่สามารถตอบได้ ในกรณีนี้จะอธิบายให้ลูกค้าฟังได้อย่างไรว่าคำถามที่เขาถามนั้นขึ้นอยู่กับความไม่แน่ใจและไม่มีผลกระทบที่แท้จริงในโครงการของเขา? กล่าวอีกนัยหนึ่งคุณจะอธิบายได้อย่างไรว่าคุณเลือกที่จะใช้เทคโนโลยีเดียวแทนที่จะเป็นเทคโนโลยีที่เทียบเท่าสำหรับเหตุผลที่เกี่ยวข้องกับทรัพยากรมนุษย์โดยไม่ให้ความรู้สึกว่าไม่เป็นมืออาชีพหรือไม่สนใจโครงการ ¹ตัวอย่าง: MySQL ดีกว่า (แย่กว่านั้น) ประสิทธิภาพที่ชาญฉลาดเทียบกับ Oracle …

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

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

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