Подтвердите детали в письменной форме + смета/план, но укажите «фиксированную» стоимость

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

  1. Подтвердите, что вы понимаете запрос. Проведите наилучший анализ требований, как если бы вы полностью владели проектом. Подготовьте и отправьте документ с очень подробными спецификациями, показывающий как то, что вы понимаете что нужно, так и перевод вещей с технической точки зрения. Не просто повторяйте, что им нужно: укажите, как вы на самом деле будете реализовывать вещи, показывая, что вы действительно способны делать отличную работу. Если у вас есть вопросы, задавайте их сразу. Сосредоточение внимания на деталях показывает, что вы стали частью проекта еще до того, как получили его — ваш партнер заметит, и у вас будет гораздо больше шансов получить проект (в обмен на несколько часов работы, которые потребовались для подготовки документов). .)
  2. Используйте фиксированную стоимость. Хотя вы можете не работать по методу водопада, подготовьте также подробный (хотя и оценочный) план: используйте приложение диаграммы Ганта и разбейте работу на иерархию задач и подзадач, нарисуйте зависимости между ними, оцените продолжительность элементов и назначьте их доступным ресурсам. Планируйте распараллеливание, но убедитесь, что все ресурсы по-прежнему выровнены. Не забудьте добавить время для тестирования выходного программного обеспечения и устранения любых ошибок. Наконец, добавьте дополнительный процент «на всякий случай» ко всем длительностьм (обычно это может быть +25-50%, но может достигать 100 или даже 150% — в зависимости от истории проекта, сложности и рисков), вычислить затраты и отправьте оценку вместе с предложением фиксированной общей стоимости автору проекта.
  3. Подготовьтесь к… обновлению «фиксированной» стоимости. Если требования необходимо будет уточнить или изменить на этапе реализации проекта (по умолчанию в случае agile и, возможно, также по здравому смыслу), запланируйте это ситуации и обсудите это с вашим клиентом. Сделайте свое соглашение гибким, указав, что фиксированная цена все еще может быть обновлена ​​​​в случае запросов на изменение, поскольку это будет согласовано обеими сторонами.
  4. Предлагайте пробный период. Почасовая ставка (используемая для расчета общей стоимости) может быть первоначально ниже, если это первый проект, над которым вы будете работать для конкретного клиента, и вы считаете, что у вас есть очень хорошие шансы на дальнейшие проекты. позже (иногда, например, если этот первый проект будет коротким, даже если вы временно потеряете деньги!) Считайте это предложением «испытательного периода» и позвольте вашему клиенту просто увидеть, насколько вы хороши. Вы сможете увеличить цены позже, в своих следующих соглашениях. (Но будьте прозрачны в этом, например, обозначьте это решение как «пробная скидка» или что-то подобное.)
  5. Покажите, что вы хороши. Что касается анализа требований, как вкратце упоминалось выше, приложите все усилия и во время фактической разработки программного обеспечения (при условии, что у вас есть проект). Решите все проблемы, которые возникнут впоследствии, даже после периода юридической гарантии, о котором вы могли договориться. и снова делайте это, даже если кажется, что вы временно теряете деньги. Это решится само собой позже, когда вы подпишете новые соглашения, а также сможете увеличить «на всякий случай» процент продолжительности. Но в момент появления ошибки приступайте к ее устранению немедленно и от вашего имени, как если бы вы делали это для близкого друга!