Оценка стоимости - сложный вопрос, у меня всегда с ним проблемы были
Самое интересное, что сложность устройства на цену практически никак не влияет!
Итак, самый простой способ тарификации - почасовой. Дело в том, что обычно клиент обычно слабо себе представляет, что должно получиться в итоге. Да и вы слабо представляете, сколько это времени займет. Устанавливаете почасовую стоимость так, чтобы в периоды отсутствия клиентов можно было жить на запасы.
К примеру, для qic'а он две недели работает, две недели ищет клиента (с потолка цифра), зарплату нужно брать не самую нищебродную, к примеру, 2000$. В месяц он будет работать 2*40 = 80 часов. 2000/80 = 25$/час. Я обычно беру 30$/час. Известные мне программерские конторы берут 25-40$/час за время программиста, при этом, сбор данных и оценка времени тоже учитывается.
И итоге, можно устроить даже некое подобие
Аджайла, выдавать клиенту его хотелки итерациями. В любом случае, сейчас электроника на 90% состоит из софта.
Второй вариант, которым я часто пользуюсь - беру некое потолочное значение, а потом думаю - а может мало/а может много. В итоге, я прихожу к некоторой цифре, которая гармонирует с моим внутренним мировоззрением, за которую я согласен работать и не чувствую, что это - сильно нагло. Если сложно оценить с ходу, начните с очень большой цифры, к примеру - 100к$. Дофига? Агааа, уменьшаем. Потом проделываем тоже самое, но с другой стороны - с нуля.
Для многих получившиеся цифры будут большими, но, если учесть, что вам жить на эти деньги, и семью кормить, то все становится на свои места. Клиенту можно это попробовать объяснить и некоторые даже понимают. Разработка не бывает дешевой, так как это - время человека (да еще и хорошо обученного человека, не каждый такое может).
Кроме того, сейчас есть куча студентов, которые готовы взяться разрабатывать за еду
К сожалению, только взяться - довести разработку до конца - задача не простая. От меня довольно много заказчиков уходило к студентам, из-за того, что "дорого". Некоторые возвращались назад через год с недоделанной разработкой, которую проще выбросить, чем доделать