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

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

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

6
อะไรคือวิธีที่ถูกต้อง / สุภาพในการสืบทอดจากโครงการโอเพนซอร์ซที่ละทิ้งสำหรับโครงการโอเพนซอร์สใหม่
ทีมของฉันพยายามติดต่อผู้ชายจากโครงการโอเพ่นซอร์สรุ่นเก่าที่โฮสต์บน code.google.com เราบอกพวกเขาว่าเราต้องการเข้าร่วมโครงการของพวกเขาและมอบมันให้กับสาขาของมันอย่างน้อยก็ไม่มีใครตอบเรา เราลองทุกคนเจ้าของและผู้มอบหมาย ไม่มีใครกระตือรือร้น แต่อย่างใดและไม่มีใครตอบ แต่เรามีรหัสที่จะคอมมิทและเราก็อยากจะทำงานโครงการต่อไป ดังนั้นเราต้องสร้างโครงการใหม่ เราสร้างชื่อขึ้นมาซึ่งใกล้เคียงกับชื่อ แต่ไม่ซ้ำกับชื่อของโครงการที่เราต้องการสืบทอด เราควรทำสิ่งที่เรากระทำครั้งแรกและสิ่งที่ควรกระทำคืออะไร? เราควรคัดลอกรหัสของพวกเขาไปยังที่เก็บข้อมูลของเราด้วยความคิดเห็นเช่น "เราได้รับรหัสนี้เราพบว่าที่นี่ภายใต้ใบอนุญาตดังกล่าวและใบอนุญาต ... ตอนนี้เรากำลังอัพเกรดเป็นใบอนุญาตเข้มงวดมากขึ้น / น้อยลง ... "? หรือเราควรจะใช้รหัสของพวกเขาเป็นการกระทำครั้งแรกของเราด้วยการอัปเดตที่บอกว่า "เราสืบทอดมาจาก ... เราได้ทำการเปลี่ยนแปลงเช่นนั้นและ ... "?

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

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

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

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

3
จะทำอย่างไรเมื่อการทำงานที่สำคัญของผู้ที่ต้องพึ่งพาเสียและเป็นอุปสรรคต่อการพัฒนา
เมื่อวานนี้ฉันกำลังทำงานกับโครงการ Rails 5 API ซึ่งใช้ห้องสมุดทำหน้าที่เป็นแท็กableบนอนุญาตให้สิ่งต่าง ๆ มีแท็ก (เช่นคำถามใน SE) Rails 5 รองรับการใช้งานในตอนนี้ ขณะนี้มี PR เพื่อแก้ไขข้อผิดพลาดที่รอการรวมเข้ากับต้นแบบ ข้อผิดพลาดทำให้สาขาคุณลักษณะของฉันหยุดชะงักไปครึ่งทางจนเสร็จ - ฉันไม่สามารถใช้งานฟังก์ชั่นใด ๆ ของห้องสมุดได้เนื่องจากการโหลดไม่สมบูรณ์ เป็นการแก้ไขด่วนฉันเพียงโคลน repo แก้ไขปัญหาด้วยรหัสเดียวกันกับที่ PR มีและชี้ Gemfile ของฉัน (ไฟล์อ้างอิงเวอร์ชันการควบคุม) ไปยัง Github fork ของฉันเองจนกว่าข้อผิดพลาดจะรวมกันกลับเป็นหลัก ฉันโชคดีที่การแก้ไขนั้นง่าย ( และมีคนทำไปแล้ว ) ดังนั้นฉันจึงสามารถแก้ไขปัญหาได้ แต่ถ้าห้องสมุดนี้มีความสำคัญต่อการพัฒนาแอปพลิเคชันของฉัน จะเกิดอะไรขึ้นถ้าการแก้ไขข้อผิดพลาดที่หยุดการพัฒนาของฉันไม่ใช่ปัญหาที่แพร่หลายสำหรับคนอื่นดังนั้นการแก้ไขจึงไม่เกิดขึ้นอย่างรวดเร็วเหมือนครั้งนี้ ลองนึกภาพว่าคุณสมบัตินี้จำเป็นต้องทำให้เสร็จก่อนที่จะพัฒนาคุณสมบัติที่ต้องพึ่งพาอื่น ๆ - คุณทำอะไรในสถานการณ์นั้น จะเกิดอะไรขึ้นถ้าสำหรับฉันการติดแท็กนั้นมีความสำคัญอย่างยิ่งต่อวลีถัดไปของการพัฒนาซึ่งทุกอย่างจะขึ้นอยู่กับมัน - แต่การพึ่งพาการติดแท็กนั้นมีข้อบกพร่อง เราจะทำอย่างไรเมื่อการทำงานที่สำคัญของการพึ่งพาเป็นอุปสรรคต่อการพัฒนาคุณสมบัติ (a) และแน่นอนว่าการฟันดาบบนเก้าอี้สำนักงานหลายชั่วโมงหรือหลายวันก็ไม่ใช่ทางเลือก ...

8
วิธีจัดการกับความคิด“ ระบบอัตโนมัติเป็นเรื่องง่าย”?
ชื่อกล่าวมันทั้งหมด พนักงานบางคนใน บริษัท ของเราเชื่อว่าการทดสอบอัตโนมัตินั้น "ง่าย" และ "ต้องใช้เวลาหนึ่งวัน" ในการเขียนชุดการทดสอบ COM และ UI สิ่งที่สามารถทำได้เพื่อตอบโต้เรื่องนี้? หมายเหตุ: ฉันไม่ได้ถามเกี่ยวกับวิธีการโปรโมตระบบอัตโนมัติ นั่นไม่ใช่ปัญหา มีการส่งเสริมการทดสอบและกระบวนการอัตโนมัติโดยอัตโนมัติตลอดเวลาที่นี่ ปัญหาคือบุคคลบางคนไม่เข้าใจว่าระบบอัตโนมัตินั้นไม่ใช่ "ง่าย" หรือ "รวดเร็ว"

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

1
วิธีที่ดีที่สุด: ปรับโครงสร้างโซลูชัน Team Foundation Server (TFS) ที่มีอยู่
ในแผนกของฉันเรากำลังพัฒนา AddOns ที่เล็กกว่าหลายตัวสำหรับเซิร์ฟเวอร์การสื่อสารแบบรวม สำหรับการกำหนดเวอร์ชันและการพัฒนาแบบกระจายเราใช้ Team Foundation Server 2012 แต่: มีโซลูชัน TFS ขนาดใหญ่เพียงรายการเดียวสำหรับแอปพลิเคชันและห้องสมุดทั้งหมดของเรา: ทางออกหลัก การประยุกต์ใช้งาน แอพ 1 แอพ 2 แอพ 3 externals ห้องสมุด Lib 1 Lib 2 เครื่องมือ เส้นทาง "แอปพลิเคชัน" มีแอปพลิเคชันหลักทั้งหมด สิ่งเหล่านี้ไม่ได้ขึ้นอยู่กับแต่ละอื่น ๆ แต่ขึ้นอยู่กับโครงการห้องสมุดและภายนอก เส้นทาง "Externals" ประกอบด้วย DLLs ภายนอกบางตัวที่อ้างอิงใน Applications and Libraries ของเรา เส้นทาง Libraries มี libs ที่ใช้กันทั่วไป (เทมเพลต UI, คลาส …

5
ผู้จัดการซอฟต์แวร์ที่ทำให้ผู้พัฒนาทำการจัดการโครงการ
ฉันเป็นนักพัฒนาซอฟต์แวร์ที่ทำงานใน บริษัท ระบบฝังตัว เรามีผู้จัดการโครงการที่ดูแลกำหนดการโครงการโดยรวม (รวมถึงไฟฟ้าคุณภาพซอฟต์แวร์และการผลิต) ดังนั้นกำหนดการซอฟต์แวร์ของเขาจึงสั้นมาก เรายังมีผู้จัดการซอฟต์แวร์ซึ่งเป็นหัวหน้าของฉัน เขาทำให้ฉันเขียนและบำรุงรักษากำหนดการซอฟต์แวร์เอกสารการออกแบบ (การออกแบบระดับสูงและต่ำ) SRS การจัดการการเปลี่ยนแปลงแผนการตรวจสอบและรายงานการจัดการการเปิดตัวการทบทวนและหลักสูตรซอฟต์แวร์ เรามีวิศวกรทดสอบเพียงคนเดียวสำหรับทีมซอฟต์แวร์ทั้งหมด (สมาชิก 10 คน) และในเวลาใดก็ตามมีโครงการสองโครงการเกิดขึ้น ฉันใช้เวลา 80% ในการทำเอกสารเหล่านี้ เจ้านายของฉันมาจากพื้นฐานกระบวนการและเชื่อว่าสิ่งที่เราต้องการคือเอกสารที่ดีกว่าในการปรับปรุงซอฟต์แวร์: เขาคิดว่าการออกแบบเป็นสิ่งสำคัญยิ่งการเข้ารหัสคือ "เพียงแค่เขียนการออกแบบ" มันไม่ควรใช้เวลานานเกินไปและ "รหัสทั้งหมดควรจะเขียนก่อนที่ฮาร์ดแวร์จะพร้อม" ไม่เข้าใจความแตกต่างระหว่างตัวควบคุม Central & Distributed Version แม้ว่าเราจะบอกเขาว่ามันง่ายกว่าที่จะทำงานร่วมกับแบบจำลองการกระจาย ไม่เข้าใจรหัสและต้องการเข้าใจทุกข้อบกพร่องและแนวทางแก้ไขที่เสนอ การตรวจสอบความเชื่อควรทำโดยนักพัฒนาและการตรวจสอบโดยผู้ทดสอบ สิ่งที่เป็นอยู่การตรวจสอบของเราเพียงตรวจสอบว่าการใช้งานถูกต้อง (เราไม่ได้เขียนการทดสอบหน่วยมันไม่เคยพิจารณาในตาราง) และการตรวจสอบคือการทดสอบกล่องดำดังนั้นการทดสอบหน่วยจะหายไป ฉันสับสนจริงๆ ฉันต้องรับผิดชอบในการดูแลรักษาเอกสารเหล่านี้ทั้งหมดหรือไม่ มันทำให้ฉันรู้สึกว่าฉันกำลังทำ Software Management Management เป็นหลัก ฉันใช้ได้กับเอกสารทางเทคนิค แต่ฉันเชื่อว่านักพัฒนาไม่ควรทำตามกำหนดเวลา / การวางแผน ฉันไม่ชอบการสร้างเอกสารฉันต้องการแก้ปัญหาและเขียนรหัส จากประสบการณ์ของฉันการสร้างเอกสารการออกแบบจะช่วยเท่าที่ไม่เคยแก้ปัญหาของรหัสที่ดีขึ้นหรือเร็วขึ้น ฉันรู้สึกว่าเจ้านายไม่ได้ใส่ใจกับการสร้างผลิตภัณฑ์ที่ดีกว่า แต่เกี่ยวกับการเป็นผู้จัดการที่ดีในสายตาของผู้บริหาร …

1
Git เวิร์กโฟลว์ / การปฏิบัติสำหรับโครงการขนาดเล็ก (ผังใน png)
ฉันกำลังพยายามหาเวิร์กโฟลว์ส่วนตัว ฉันได้รวบรวมผังงานเกี่ยวกับอายุการใช้งานสมมุติของการวางจำหน่าย: นักพัฒนารายหนึ่งผลักดันให้ repo สาธารณะ Github + เพื่อนช่วยด้วยคุณสมบัติบางอย่างและแก้ไขข้อบกพร่อง นี่เป็นวิธีการที่สมเหตุสมผลในการควบคุมเวอร์ชันหรือไม่? แนวคิดหลักคือการรักษาความเป็นระเบียบเรียบร้อยสาธารณะ: การเปิดตัวใหม่แต่ละครั้งจะดำเนินการในสาขาของตนเองจนกว่าจะถูกแท็กในสาขาหลักเมื่อเสร็จสิ้น งานทั้งหมดจะทำในสาขา "คุณสมบัติ" หรือ "โปรแกรมแก้ไขด่วน" ไม่เคยอยู่ในสาขาที่วางจำหน่ายจริงเพื่อป้องกันความผิดปกติ การรวมสาขาในระดับที่สูงกว่านั้นจะถูกรีบูทหรือบีบอัดเสมอ (เพื่อหลีกเลี่ยงความยุ่งเหยิง) ถ้าเกินความจริงฉันก็ไม่รังเกียจเพราะประเด็นทั้งหมดสำหรับฉันคือการเรียนรู้ทักษะที่ฉันอาจต้องการสำหรับโครงการขนาดใหญ่ ปัญหาเดียวก็คือถ้าฉันทำบางสิ่งผิดปกติหรือไม่จำเป็น แก้ไข 2:แก้ไขความคิดที่ไม่ดีในผังงานดั้งเดิมและทำให้การนำทางง่ายขึ้นเล็กน้อย

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

2
ความฉลาดเป็นปริมาณเวกเตอร์
ฉันกำลังอ่านหนังสือที่ยอดเยี่ยมเล่มนี้ชื่อว่า"Coders at Work: Reflections on Craft of Programming"โดย Peter Seibelและฉันก็เป็นส่วนหนึ่งของการสนทนากับ Joshua Bloch และฉันก็พบคำตอบนี้ซึ่งเป็นจุดสำคัญสำหรับโปรแกรมเมอร์ ย่อหน้ามีบางอย่างเช่นนี้ มีปัญหานี้ซึ่งก็คือการเขียนโปรแกรมเป็นเรื่องของการทำบุญทางปัญญามากมายและบ่อยครั้งที่คนเหล่านี้เป็นคนที่ฉลาดที่สุดในองค์กร ดังนั้นพวกเขาคิดว่าพวกเขาควรได้รับอนุญาตให้ทำการตัดสินใจทั้งหมด แต่ความจริงที่ว่าพวกเขาเป็นคนที่ฉลาดที่สุดในองค์กรไม่ได้หมายความว่าพวกเขาควรทำการตัดสินใจทั้งหมดเพราะความฉลาดไม่ได้เป็นปริมาณสเกลาร์ มันคือปริมาณเวกเตอร์ ในประโยคสุดท้ายนี้ฉันไม่เข้าใจว่าเขาพยายามแบ่งปันอะไร มีคนอธิบายได้ในอีกสักครู่ว่าสิ่งที่เขาหมายถึงปริมาณเวกเตอร์อาจพยายามนำเสนอข้อมูลเชิงลึกเดียวกัน ยิ่งไปกว่านั้นฉันได้รับจุดที่เขาไม่ได้รับเกี่ยวกับการมีองค์กรที่ไม่ใช่คนเทคนิค (บางครั้ง clueless) สามารถเป็นผู้จัดการของคนทางเทคนิคด้วยเหตุผลบางอย่างที่พวกเขาสามารถใช้เวลามากขึ้นในการเขียนอีเมลที่ดีเพราะต่อไป คำสั่งต่อไปนี้ย่อหน้าข้างต้นคือ และถ้าคุณขาดความเห็นอกเห็นใจหรือความฉลาดทางอารมณ์คุณก็ไม่ควรออกแบบ APIs หรือ GUI หรือภาษา ฉันเข้าใจว่าเขากำลังพูดว่าในวิศวกรรมซอฟต์แวร์โปรแกรมเมอร์ควรรู้ว่าผู้ใช้จะเห็นผลิตภัณฑ์และการออกแบบของพวกเขาอย่างไร ฉันรู้สึกว่าย่อหน้าข้างต้นน่าสนใจมาก

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

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