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