How Much For This Software?

The following text is a partial translation of the original English article, performed by ChatGPT (gpt-3.5-turbo) and this Jekyll plugin:

Вот спецификация; сколько будет стоить создание этого программного обеспечения? Я слышу это практически каждый день от клиентов Zerocracy и потенциальных клиентов, которые планируют стать нашими клиентами и передать разработку программного обеспечения нам. Мой лучший ответ: “Я не знаю, это зависит.” Звучит как странный ответ от кого-то, кто утверждает, что знает, что делает, не так ли? “Вот 20-страничная спецификация, которая объясняет все функции продукта; почему ты не можешь оценить стоимость?” Я могу, но не буду. Вот почему.

Позвольте мне задать вам другой вопрос: Зачем вам нужна оценка? Да, я серьезно — почему вы спрашиваете меня, сколько будет стоить разработка программного обеспечения для вас? Я могу сказать вам, почему.

Потому что вы мне не доверяете.

И, очевидно, у вас есть на то веские причины, просто потому что мы оба знаем, что программный продукт - это нечто, что может находиться в разработке вечно и никогда не будет завершен. Посмотрите на YouTube, например. Сколько, по вашему мнению, потребуется времени, чтобы создать веб-сайт, на котором пользователи могут загружать свои видео и потом смотреть их? Несколько дней хорошему веб-разработчику. Будет ли он транслировать видео? Да, будет. Будет ли он готов конкурировать с YouTube? Нет, не будет. Добавьте несколько сотен разработчиков в команду, несколько лет и несколько миллионов долларов, и даже тогда вы будете позади YouTube. Просто потому, что это бесконечный процесс. Любое программное обеспечение, независимо от его размера или качества, всегда требует все больше и больше улучшений и исправлений ошибок.

Таким образом, когда вы спрашиваете меня, сколько будет стоить создание системы, подобной YouTube, в соответствии с вашими требованиями, мой честный и точный ответ должен быть: “Все ваши деньги, и этого будет недостаточно.” Вы подпишете контракт и передадите проект мне после этого ответа? Нет, не будете. Вот почему мне приходится лгать и обещать что-то вроде “три месяца и 40 000 долларов”. Почему бы вам мне доверять? Если вы достаточно умны, то не будете.

Мой посыл в том, что, несмотря на то, что я обещаю вам, я буду ошибаться. Ужасно ошибаться.

Какое решение? Что делать? Я полностью понимаю, что вам нужна цифра, чтобы спланировать свои действия и обеспечить финансирование. Вам нужно выбрать правильного партнера по аутсорсингу программного обеспечения, и вам нужно знать, чего ожидать и когда, но…

Вы задаете неправильный вопрос!

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

Извините, если я вам принес плохие новости.

Но вернемся к первоначальной проблеме: почему вы спрашиваете меня, сколько потребуется времени на разработку программного обеспечения, если вы знаете, что это бесконечный процесс и в принципе нет предела? Потому что вы хотите убедиться, что ваши 40 000 долларов будут использованы верно и принесут максимальную отдачу. Чтобы получить такую гарантию от меня, вы просите оценку. Я говорю вам, что ваше программное обеспечение будет готово за 40 000 долларов, и вы спокойно спите. Пока не поймете, что вас обманули. Вашим собственным собой.

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

Любая команда разработчиков может потратить ваши 40 000 долларов, но каждая команда произведет разное количество программного обеспечения с разным качеством.

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

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

Разные команды используют разные метрики для измерения своих результатов (если честно, большинство из них не используют никаких). Мы, в Zerocracy, используем строки кода, ошибки, запросы на объединение изменений, покрытие тестами и еще несколько метрик в качестве измеримых показателей количества и качества. Мы точно знаем, сколько программного обеспечения мы можем создать за каждые 100 долларов, которые вы нам платите.

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

Остается только один вопрос: как вы можете знать, что вы покупаете правильное программное обеспечение. Другими словами, вы знаете, сколько мы берем за галлон и сколько галлонов мы используем на милю, но как вы можете знать, что мы движемся в правильном направлении и не делаем слишком много кругов или объездов?

Существует только один механизм, который гарантирует это: регулярные контрольные точки. Вы должны спросить нас, доставляем ли мы программное обеспечение маленькими и регулярными инкрементами и разрешаем ли мы вам проводить регулярные независимые проверки нашего прогресса. Также убедитесь, что мы определяем технические цели, используем этапы, версионируем выпуски, публикуем заметки о выпуске и т. д. Убедитесь в том, что на протяжении нашего пути вы можете контролировать прогресс и вносить коррективы.

Подводя итог, это неправильно (потому что нет “туда”):

And this is right:

Привет водитель, сколько вы берете за милю, и есть ли у вас карта?

Надеюсь, что я ясно выразил свою точку зрения.

Translated by ChatGPT gpt-3.5-turbo/42 on 2023-12-05 at 21:51

sixnines availability badge   GitHub stars