
2024-05-10
Можно ли написать проект дёшево? Почему так дорого?
2023-07-24
Внимание спойлер! Нет! Сделать и дёшево и качественно и быстро - невозможно.
Качественно сделать даже за дорого и медленно не всегда удаётся, поэтому речь про то, чтобы сделать за месяц за пачку дошираков считаю вообще не разумной. Но в целом тема всегда актуальная и как мне кажется будет интересна новичкам в разработке, а также тем, кто хочет нанять программистов для реализации проекта.
Давайте рассмотрим из чего вообще складывается стоимость it-проекта:
1) опыт программистов
2) опыт архитектора
3) надежность
4) отказоустойчивость
5) расширяемость
6) функциональность
7) поддерживаемость
8) экономия на спичках
9) сроки
10) общая сложность
11) наличие аналитики / экспертизы
12) сложности характера заказчика
Опыт программистов
Тут на самом деле всё довольно просто и линейно. Чем выше профессионализм программистов - тем быстрее идет разработка, качественней результат и выше цена. То же самое верно и в обратную сторону. Чем ниже профессионализм и опыт - тем дольше будет тянуться проект, тем ниже будет выходное качество, но и цена ВОЗМОЖНО будет ниже. Да-да именно возможно будет ниже. Потому что тут сцществует всегда зависимость от сроков. Малоопытные программисты могут делать одну и ту же фичу настолько долго, что выравняются по цене с опытными разрабами и получится так, что и по цене не выиграли и по времени проиграли.
Опыт архитектора
Один из важнейших этапов разработки проекта - это составление плана и архитектуры еще до написания первой строчки кода. Если этот этап сделать не качественно или попросту выбросить из списка работ - то риски превратить продукт в "долгострой" улетают в небеса.
Надежность, отказоустойчивость, расширяемость, функциональность, поддерживаемость
Эти пять факторов напрямую зависят от программистов и архитектора. Если в самом начале они всё сделали корректно, спроектировали систему с учетом всех нюансов - то всё будет хорошо. Если что-то не было учтено - то какие-то факторы будут себя проявлять в той или иной мере и приносить проблемы разной степени сложности, решаемости и стоимости.
Экономия на спичках
Часто заказчик пытается экономить на каких-то мелочах, наивно полагая, что это работает, так что сэкономил чуть-чуть в 10 местах и выйдет намного дешевле. Но по итогу очень часто все складывается именно наоборот. Из-за того, что без денег качества не получить - начинается экономия на качестве, которая как известно по цепочке цепляет то одно то другое и в итоге приводит к плачевному результату.
Сроки
Тут мне кажется всё очевидно, но есть один и не очевидный нюанс. Разработку можно ускорять только до определенного предела, а после этого предела в лучшем случае не будет изменений, а в худшем случае будут ухудшения процессов. Объясню на примере. Есть какой-то проект над которым работает 2 разработчика. Мы хотим ускориться и прибавляем еще 2 разработчика. Скорость стала действительно в 2 раза выше. Мы хотим еще ускориться и прибавляем еще 4 разработчика, но уже даже на этом этапе мы не получаем скорость X2 как было до этого, а получаем лишь X1.3. Сейчас у нас уже 8 разработчиков на проекте. Мы думаем, что можно еще ускориться добавив еще программистов и делаем команду уже из 16 человек, но вместо прироста скорость получаем резкую деградацию по скорости до уровня 4 разработчиков. В чем же причина? А причина в том, что мы перешли предел полезных разработчиков на проекте и начали упираться в процессные проблемы. Поэтому сроки стоит ставить реальные, а не фантастические.
Общая сложность, наличие аналитики / экспертизы
Этот пункт о том, что если продукт очень сложный, а технического задания нет или оно расплывчатое или заказчик делает постановки вида "сделай то не знаю что" - то стоимость проекта будет расти причем кратно. Особенно в случае отсутствия экспертизы у заказчика. Заказчик всегда должен знать ВСЕ детали бизнес-процессов, чтобы мочь объяснить их программистам. В противном случае программисты будут догадываться и тыкаться в попытках угадывать, а это увеличивает сроки, а соответственно и стоимость.
Сложности характера заказчика
Этот фактор тоже часто бывает очень важным. Согласитесь кому будет приятно работать с человеком, который на вас постоянно орёт. Но если орущий человек готов платить за свой ор X3 от рыночной цены - то почему бы и нет... за трижды высшую цену - ор можно и потерпеть Поэтому в данном пункте всё зависит исключительно от заказчика. Чем он более вменяемый - тем дешевле будет обходимться проект.
Ура! Я наконец-то дописал статью как собирать собственные бандлы на Symfony 6!!!
Статья про EasyAdmin всё ещё в процессе )))
Не, ну мне же надо на чем-то тестировать твиттер локальный...
Я тут еще много полезного буду выкладывать, так что заходите обязательно почитать.
Сайтик пока что в разработке - это далеко не окончательная версия - по сути это то что удалось слепить за 8 часов.
Комментарии