Какой фактор определяет стоимость программного проекта?

Если у вас сейчас на руках 100 долларов. И придется сделать ставку на один из этих вариантов. На что бы вы поставили? Вопрос в том:

Что является наиболее важным фактором, сдерживающим стоимость проекта.

  1. Скорость набора текста у программистов.
  2. Общее количество символов, набранных при программировании.
  3. Команда 'wc * .c'. Конечный размер c файлов.
  4. Абстракции, используемые при решении задачи.

Обновление: Хорошо, для записи. Это самый глупый вопрос, который я когда-либо задавал. Вопрос должен быть. Оцените список выше. Самый важный фактор в первую очередь. Какие самые важные факторы. Я спрашиваю, потому что считаю, что количество персонажей имеет значение. Менее характер, который нужно менять при изменении требований. Тем быстрее это будет сделано. Или же?

ОБНОВЛЕНИЕ: этот вопрос обсуждался в подкасте Stackoverflow №23. Спасибо, Джефф! :)

Я голосую за то, чтобы закрыть этот вопрос как не по теме, потому что он не о программировании

Vadim Kotov 20.10.2017 12:41
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
1
1 186
6
Перейти к ответу Данный вопрос помечен как решенный

Ответы 6

Ни один из этих факторов не влияет на стоимость проекта. Все сводится к тому, насколько хорошо составлено ваше расписание - можете ли вы выполнить то, что обещали, к определенной дате. Если ваши оценки графика отклоняются, хорошо угадайте, что, ваш проект будет стоить намного больше, чем вы думали. В конце концов, это расчет расписания.

Обновлено: я понимаю, что это голосование, и что я на самом деле не голосовал ни за один из вариантов в вопросе, поэтому не стесняйтесь считать это комментарием к вопросу, а не голосованием.

Ответ принят как подходящий

От МакКоннелла:

http://www.codinghorror.com/blog/archives/000637.html

[For a software project], size is easily the most significant determinant of effort, cost, and schedule. The kind of software you're developing comes in second, and personnel factors are a close third. The programming language and environment you use are not first-tier influences on project outcome, but they are a first-tier influence on the estimate.

  1. Размер проекта
  2. Вид разрабатываемого программного обеспечения
  3. Кадровые факторы

Не думаю, что вы заняли 3-е место в приведенном выше списке. Обычно разница в навыках между программистами на порядок или больше, не говоря уже о все проблемы с Peopleware, которая может сильно повлиять на расписание (плохие яблоки, плохое управление и т. д.).

Я считаю, что больше всего в крупных проектах приходится на тестирование и исправление ошибок и исправление неправильного толкования требований. Для начала нужно написать тесты. Затем вы исправляете код, который запускают тесты. Затем вы проводите ручные тесты. Затем вы должны написать больше тестов. На большом проекте тестирование и исправление могут занять 40-50% времени. Если у вас высокие требования к качеству, то их может быть больше.

Символы, размер файла и скорость набора можно считать нулевыми по сравнению с правильным определением проблемы, дизайном и тестированием. Они легко на порядок важнее.

Самым важным фактором, определяющим стоимость проекта, являются масштаб и амбиции видения. Вторым по важности является то, насколько хорошо вы (ваша команда, ваше руководство и т. д.) Контролируете неизбежное искушение расширять это видение по мере вашего продвижения. Факторы, которые вы перечисляете, сами по себе являются показателями масштаба проекта, а не тем, что определяет этот масштаб.

Из четырех предложенных вами вариантов я бы выбрал №2 - размер проекта. В конце концов, быстрый проект по очистке от спама будет, как правило, быстрее, чем разработка нового текстового процессора.

После этого я бы сказал «Абстракции, использованные при решении проблемы». затем - если вы придумали неправильный метод решения проблемы, либо неправильный из-за плохой логики, либо из-за ограничений в системе - тогда вы обязательно потратите больше денег на перепроектирование и перекодирование того, что уже сделано.

Другие вопросы по теме