it-swarm-vi.com

Các nền kinh tế sai lầm tồi tệ nhất trong phát triển phần mềm là gì?

Các nền kinh tế sai lầm tồi tệ nhất (đó là cách tiết kiệm tiền mà cuối cùng chi phí nhiều hơn so với tiết kiệm) phổ biến trong ngành công nghiệp phần mềm và làm thế nào để bạn chống lại chúng?

126
Jon Hopkins

Nợ kỹ thuật

tức là "Chỉ cần làm nhanh thôi, chúng ta sẽ tái cấu trúc sau". Thứ nhất bởi vì tôi chưa thấy ai đó tham gia vào hành vi này thực sự tái cấu trúc sau này. Thứ hai bởi vì làm mọi thứ một cách nhanh chóng, thay vì cách tốt làm cho việc thêm các tính năng trong tương lai hoặc giải quyết các lỗi trong tương lai khó khăn hơn để bạn mất thời gian trong thời gian dài.

Đáng buồn thay, nhiều người vẫn nghĩ rằng nó tiết kiệm nhà phát triển chu kỳ để họ làm điều gì đó nhanh chóng. Tôi đoán nó có thể, nhưng tôi chưa thấy nó trong thực tế.

182
Inaimathi

Thuê 2 nhà phát triển giá rẻ thay vì 1 thực sự tuyệt vời. (với cùng giá)

163
user2567

Ví dụ của tôi sẽ trái ngược hoàn toàn với ví dụ của NimChimpsky , cụ thể là:

Đang cố gắng phát triển một thứ gì đó có thể mua được ngoài giá.

Thông thường điều này xảy ra do không thực sự kiểm tra thị trường để xem liệu một cái gì đó đã tồn tại sẽ giải quyết vấn đề. Điều này có thể được kết hợp bởi các nhà phát triển, những người thích "lặn" mã hóa trước khi thực hiện bất kỳ nghiên cứu nào và bởi các nhà quản lý dự án, những người không thành công trong thời gian đó = tiền.

Một trong những ví dụ phổ biến nhất tôi từng thấy trong lĩnh vực của mình, phát triển web, là các công ty đang cố gắng phát triển và hệ thống CMS nội bộ. Những thứ này luôn luôn bắt đầu nhỏ, nhưng sẽ sớm bị phình to và mất kiểm soát khi các tính năng được củng cố, trong khi mọi lúc có rất nhiều sản phẩm và khung miễn phí phù hợp hơn nhiều.

85
Dan Diplo

Không có tài nguyên chuyên dụng để quản lý dự án

Tôi đã trải nghiệm nhiều lần khi một vài lập trình viên được ký hợp đồng và một người đã có công việc đòi hỏi khắt khe nên đã quản lý dự án, nhưng thực tế là quá bận rộn với các nhiệm vụ khác nên dự án không bao giờ thực sự có được động lực. Các lập trình viên đã tạo ra "nguyên mẫu" và các thứ, nhưng không có người dẫn, phần lớn trong số họ đang chạy trong vòng tròn để trông bận rộn.

Thiết bị xấu cho lập trình viên mới

Tôi đã từng trải nghiệm một công ty trong đó chính sách là "lập trình viên mới phải làm việc trên một PC thực sự cũ với màn hình nhỏ cho đến khi họ chứng minh rằng họ xứng đáng". Không có gì ngạc nhiên khi một chính sách như vậy gây ra một lựa chọn tiêu cực đã loại bỏ những người tốt, những người luôn có lựa chọn làm việc trong một môi trường lành mạnh hơn.

73
user281377

Chúng ta có thể tiết kiệm tiền bằng cách lập trình viên tăng gấp đôi là người thử nghiệm/người viết kỹ thuật

Nếu bạn đang trả lương cho lập trình viên cho công việc của người thử nghiệm/nhà văn kỹ thuật, thì bạn đang lãng phí tiền và có khả năng nhận được công việc chất lượng thấp hơn so với người đã cống hiến sự nghiệp của họ cho nhiệm vụ đó. Ngoài ra, khi một lập trình viên chống lại việc kiểm tra thời hạn chặt chẽ và tài liệu rất có khả năng bị bỏ hoặc thực hiện nửa ass để đáp ứng nó.

BTW: Các nhà phát triển LUÔN LUÔN chống lại thời hạn chặt chẽ.

71
JohnFx

Nghiên cứu/Đọc/Viết mã không liên quan đến phát triển sản phẩm là một sự lãng phí tài nguyên.

Một số lập trình viên và thậm chí các nhà quản lý tin vào điều đó. Thông thường, họ chỉ làm lập trình dựa trên kiến ​​thức trong đầu, và nghiên cứu và tìm kiếm câu trả lời khi họ gặp vấn đề. Họ không liên tục nâng cao kiến ​​thức của mình một cách chủ động. Theo ý kiến ​​của tôi, chúng ta nên luôn luôn cập nhật và kiến ​​thức chúng ta thu thập được sẽ hữu ích cho chúng ta trong việc giải quyết các vấn đề hiện tại và tương lai. Tất nhiên, bạn phải phân bổ thời gian của bạn một cách khôn ngoan để làm như vậy.

Điều này cũng tương tự như câu trả lời của Dan . Một số nhà quản lý chỉ muốn các nhà phát triển nhanh chóng lao vào và phát triển sản phẩm theo yêu cầu mà không cần nghiên cứu về các sản phẩm hiện có trên thị trường.

63
Gan

Trong nhiều trường hợp, chi phí bù đắp nhiều tiền hơn. Trong công ty của tôi, rất khó để có được các vị trí nhân viên mới, chúng tôi bị đẩy mạnh ra bên ngoài. Nó cũng khó để có được các nhà thầu tại chỗ; có tỷ lệ 3: 1 ngoài khơi so với trên bờ mà họ phải duy trì. Do đó, nhiều đội chỉ thuê một tá ngoài khơi và hầu như không sử dụng chúng, chỉ để họ có thể có được 4 nhà thầu tại chỗ.

58
Jeremy

Vòng phản hồi dài!

Nó xảy ra với tất cả mọi người: bạn xây dựng một cái gì đó mà bạn nghĩ là tuyệt vời, và hóa ra bạn đã sai. Đó không phải là vấn đề. Vấn đề là bao lâu bạn dành thời gian xây dựng trước khi phát hiện ra rằng bạn nên dừng lại.

Ở cấp độ cao, bạn thấy vấn đề này với chu kỳ phát hành dài. Nếu bạn xây dựng trong một năm mà không có phản hồi, bạn sẽ đánh bạc cả năm. Bạn càng phát hành thường xuyên, các canh bạc của bạn càng nhỏ và bạn càng giỏi đánh bạc.

Nhưng nó cũng xảy ra ở mức thấp nhất. Là một nhà phát triển, tôi thực sự thích đánh giá mã thường xuyên (hoặc, tốt hơn, lập trình cặp) vì nó giới hạn thời gian tôi có thể tiếp tục làm điều gì đó ngớ ngẩn trước khi ai đó nói, "Này, có một cách đơn giản hơn!" Vì lý do tương tự, tôi thích các bài kiểm tra đơn vị của mình chạy nhanh và thường xuyên, vì vậy tôi có thể bắt và diệt bọ trước khi chúng phát triển.

Khi bạn bắt đầu nhận thấy tầm quan trọng của các vòng phản hồi ngắn, bạn sẽ thấy nó ở khắp mọi nơi. Ví dụ: khái niệm quân sự của vòng lặp Aluminium .

50
William Pietri

Cung cấp máy trạm một màn hình vì màn hình thứ hai quá đắt. Ngay cả khi nó chỉ giúp bạn tiết kiệm một giờ làm việc mỗi năm, một màn hình thứ hai vẫn là một khoản đầu tư tốt. Tôi biết chắc chắn rằng tôi đã tiết kiệm cho tôi rất nhiều giờ làm việc.

Thiết lập nhiều màn hình có thể làm cho hầu hết mọi tác vụ hiệu quả hơn, không chỉ các tác vụ phát triển. Ba màn hình thậm chí còn tốt hơn hai, nhưng hiệu ứng trở nên ít rõ rệt hơn với mỗi màn hình phụ.

Thiết lập nhiều màn hình:

  • giảm chi phí chuyển đổi cửa sổ
  • cho phép bạn để mắt đến những thứ đang chạy trong nền (thư, biên dịch, v.v.).
  • cho bạn cảm giác tự do. Nó giống như ở trong tâm nhĩ so với ở trong một cái chổi.
  • vân vân...
47
Joseph Tanenbaum

Không phải giai thoại của riêng tôi, nhưng tôi đã từng nghe về một cửa hàng ngừng cung cấp cà phê miễn phí cho các nhà phát triển của nó, nói với họ rằng bất cứ khi nào họ muốn lấy cà phê, họ có thể tự do đi bộ đến quán cà phê gần nhất (khoảng mười phút chuyến đi mỗi cách) và mua một số.

Khá nhiều định nghĩa về nền kinh tế sai lầm.

47
EricBoersma

Phần cứng rẻ nhất được trao cho một chuyên gia tư vấn khi nhà tư vấn có giá cao hơn 150 $/giờ.

Đặt nó trong viễn cảnh một phần cứng tốt hơn ít nhất có thể làm cho công việc hiệu quả hơn 30 phút mỗi ngày. Điều đó sẽ cho 30 phút * 20 ngày làm việc mỗi tháng = 600 phút/tháng = 10 giờ/tháng> nhiều hơn công việc 1 ngày = 10 giờ * 150 $/giờ = 1500 $

Bây giờ, một nhà tư vấn sẽ làm việc hiệu quả hơn nếu anh ấy/cô ấy có một máy tính $ 1500? Nó sẽ làm cho các nhà tư vấn ít bị kích thích?

Bây giờ vấn đề dường như là có hai ngân sách, một cho tư vấn và một cho phần cứng PC.

39
Amir Rezaei

Tháng làm việc tiết kiệm ngày lập kế hoạch

(Không đầu tư đủ thời gian vào kế hoạch)

38
serg

Phổ biến nhất tôi nghi ngờ là các nhà quản lý chỉ đơn giản là không cung cấp cho các nhà phát triển các công cụ họ cần để thực hiện công việc của họ một cách hiệu quả.

Về cơ bản, điểm 9 trên Joel Test .

27
richeym

"Ném (đủ) cơ thể có vấn đề" vẫn có thể được sử dụng ở một số nơi, thật không may. Luật của Brook không phản đối điều này từ Tháng huyền thoại , mặc dù một số yêu cầu kinh nghiệm để học bài học này Nói chung, đây không phải là điều nằm trong khả năng của tôi vì ban lãnh đạo có thể tin vào tuyên bố sai về việc thêm người và không phải trả giá cho việc đó.

24
JB King

Cuộc họp hàng ngày:

(meeting duration in hours) x (Y team members) x (average salary per hour) = ...  
21
Zzz

Mua phần mềm thay vì phát triển nội bộ.

Tôi có kinh nghiệm về các hệ thống quản lý quy mô ngẫu nhiên, tập trung vào cả Phòng thí nghiệm nhân sự và sinh học.

Một giải pháp giảm giá có giá 50 - 100 nghìn bảng Anh và cần phát triển và tùy biến hơn nữa để đáp ứng các yêu cầu kinh doanh.

Giải pháp phát triển nội bộ mất (<6) tháng để phát triển, với các dự án khác đang được thực hiện song song và sử dụng một nhà phát triển đã được sử dụng.

Tôi đã đi từ khu vực công nơi chúng tôi đã phát triển và vận hành LIMS (hệ thống quản lý thông tin phòng thí nghiệm), đến một dược phẩm quốc tế lớn nơi việc triển khai một giải pháp giảm giá đã mất hơn một năm và chưa hoàn tất.

(6 tháng của một nhà phát triển đã được thuê làm việc song song với các dự án khác. Vì vậy, ~ 10k. Và điều đó không bao gồm chi phí hỗ trợ liên quan đến giải pháp giảm giá). Điểm chính là hệ thống phát triển nội bộ đã thực sự được sử dụng! Vì vậy, sau đó bạn có lợi ích chi phí gia tăng liên quan đến điều đó, mà tôi không thể tính toán được.

Tôi đồng ý cho các trang web cơ bản, vv, tại sao phải phát triển trang web của riêng bạn. Nhưng đối với bất kỳ hệ thống phức tạp lớn nào và nếu bạn đã có kỹ năng nội trợ, tôi sẽ tự xây dựng nó.

20
NimChimpsky

Mua các sản phẩm đắt tiền khi các lựa chọn thay thế nguồn mở tốt hơn và miễn phí.

Có bao nhiêu công ty sử dụng git? Có bao nhiêu công ty sử dụng một số kiểm soát phiên bản doanh nghiệp crappy?

15
hasen

Sử dụng các ngôn ngữ "đơn giản" mà không có nhiều biểu cảm

Vâng, nó giúp việc tìm lập trình viên dễ dàng hơn để duy trì mã, nhưng nó khó tìm hơn tốt lập trình viên không chỉ học từ thông dụng mới nhất sẽ được họ thuê. Vâng, nó làm cho mã bit riêng lẻ dễ hiểu hơn, nhưng nó cũng làm cho nó cứng như 2x4 và tăng khối lượng mã cần phải hiểu. Vâng, nó được hỗ trợ bởi một tập đoàn lớn, nhưng cho biết tập đoàn lớn đổi mới chậm và quan liêu.

14
dsimcha

Quản lý dự án xấu/trưởng nhóm.

Vì một người không đủ năng lực, có khả năng hủy hoại công việc của một nhóm người. Cuối cùng, dự án sẽ làm tốt hơn nhiều nếu không có các quyết định quản lý cấp cao (dự án/nhóm trưởng).

Quyết định "Chỉ cần làm nhanh thôi, chúng ta sẽ tái cấu trúc sau".

13
Amir Rezaei

Thiếu yêu cầu người dùng

Một bước quan trọng và khó khăn trong việc thiết kế một sản phẩm phần mềm là xác định những gì khách hàng thực sự muốn nó làm.

Tin hay không đôi khi phần này bị thiếu hoặc đã lỗi thời. Những gì nó nói về chi phí là người ta tạo ra các chức năng mà người dùng cuối không bao giờ yêu cầu.

12
Amir Rezaei

Năng suất đáng giá hơn sáng tạo

Sáng tạo rất khó để đo lường nói chung, và hầu hết thường không thể quan sát, không bao giờ quan tâm đến đo lường, khi nói đến phát triển phần mềm. Năng suất, mặt khác, có thể được đo lường (thường là kém), và có thể được quan sát.

Do đó, các nhà phát triển có thể (viết nhiều dòng mã hơn | viết mã nhanh hơn | đọc thuộc lòng công nghệ nhanh hơn để trả lời các câu hỏi mất nhiều thời gian hơn để viết mã, nhưng tạo ra một sản phẩm đáng tin cậy hơn | hiểu rõ vấn đề đủ để trả lời các câu hỏi đơn giản, dễ hiểu, tiếng Anh | giải quyết vấn đề một cách sáng tạo).

8
blueberryfields

Tất cả dưới đây có thể xấu khi sử dụng hoặc không sử dụng không đúng cách

  • phần mềm bên ngoài vs kênh

  • Tuân thủ ISO 9001 (nền kinh tế - giảm thiểu rủi ro mất MSS nếu chất lượng sản phẩm giảm)

  • phát triển/gia công QA

  • thủ tục phát triển/xây dựng/phát hành/hỗ trợ

6
bobah

Có quá nhiều người quản lý giao hàng không có hóa đơn.

Vài năm trước, trong công ty của chúng tôi, chúng tôi đã có một số dự án ngân sách lớn đang diễn ra và tuyển dụng đang ở đỉnh cao. Vào thời điểm đó, công ty chúng tôi đã thuê quá nhiều người quản lý giao hàng (Nhiều người trong số họ không phải là IT!) Và rất ít lập trình viên/người kiểm thử. Tỷ lệ giữa người quản lý và lập trình viên theo nghĩa đen là 1: 2. Sau đó, sau khi hoàn thành các dự án đó, chúng tôi đã có một tình huống mà chúng tôi có nhiều người quản lý (một số trong số họ là những người chậm chạp thực sự) ngồi trên băng ghế dự bị không làm gì cả. Chúng tôi đã có một chu trình thẩm định trong đó mọi người đều có ít/không tăng lương (Ngay cả chúng tôi cũng là những lập trình viên chăm chỉ, thở dài) để công ty không phải sa thải bất cứ ai! May mắn thay, công ty đã nhận ra tình huống này và đã thực hiện QUYỀN trong quý đầu tiên của năm nay!

4
mananjani

Hạn chế hoặc không có truy cập internet

Bởi vì rõ ràng nhân viên của bạn sẽ sử dụng internet để chơi các trò chơi facebook không quá nghiên cứu câu trả lời cho các câu hỏi kỹ thuật trên Stackoverflow.

Trong thực tế, internet là một công cụ tăng năng suất rất lớn và trong khi có thể thích hợp sử dụng một số loại bộ lọc trang web cho các trang web thực sự tinh ranh thì có gì đó sai nếu nó chặn tệp readme của studio trực quan hoặc chặn các trang quản trị cục bộ của telford vì lý do "du lịch tình dục"

3
jk.

Tối ưu hóa trước khi định hình (còn gọi là tối ưu hóa sớm).

Đã rất nhiều lần tôi thấy ai đó tiếp cận một giải pháp thông minh, điều đó không cần thiết làm phức tạp việc bảo trì và dễ đọc với lý do là nó nhanh hơn. Đương nhiên, mã không được đánh dấu băng ghế dự bị (thậm chí không có điểm chuẩn vi mô), do đó, mã này nhanh chóng trở nên "nhanh hơn dựa trên lập luận thuyết phục hơn" đối với một phần mã có khả năng không ảnh hưởng đến hiệu suất chung của toàn bộ ứng dụng nhiều.

Như vậy, đó là một nền kinh tế rất sai lầm, và loại nền kinh tế sai lầm đôi khi vướng víu ngay cả những thuận lợi dày dạn.

3
Edwin Buck

Làm cho nhà phát triển của bạn sử dụng màn hình 15 inch và PC có thông số kỹ thuật thấp vì đây là tiêu chuẩn của công ty.

Màn hình có kích thước hợp lý là rẻ, cài đặt nhanh và làm cho các lập trình viên làm việc hiệu quả hơn cũng như làm cho các lập trình viên của bạn nghĩ rằng bạn quan tâm đến họ.

2
Ian

Quá nhiều Cử nhân Quản trị Kinh doanh (hoặc tương tự), được tổ chức theo thứ bậc, cố gắng áp dụng những gì họ nghĩ về quản lý hiện đại: Làm phiền mọi người với "KPI", "SLA" và những gì không, yêu cầu "báo cáo" (không có, tất nhiên, quan tâm đến cơ sở hạ tầng để tạo ra chúng), để các lập trình viên lãng phí thời gian để điền vào các bảng Excel ưa thích, báo cáo Q4 và những gì không và sao chép từ một công cụ quản lý mới tuyệt vời này và dán vào một công cụ khác (dường như đó là quy tắc các công cụ này không bao giờ được tích hợp cũng như không thể tích hợp với nhau) và tham dự các cuộc họp nơi trình bày các báo cáo và số liệu (và mọi người đều cảm thấy tội lỗi vì đã không hoàn thành điều này hoặc KPI đó).

2
Ingo